Ranorex: Recorded Testcase in Visual Studio (in C#) ausführen

Nachdem man den Testfall mittels Ranorex Recorder aufgenommen hat (RECORD), kann man diesen darauf auch wieder abspielen (PLAY). Wer den Testfall jedoch als C# Code ausführen möchte, kann das folgendermaßen tun:
In Ranorex Recorder: Export -> Generate C# Code
export record ranorex
Baue in Visual Studio ein neues ‘Console Application’-Projekt und öffne dessen Ordner im Windows Explorer (“Open Folder in File Explorer”). Verschiebe die drei generierten .cs-Dateien in den geöffneten Ordner. Öffne die csproj-Datei in einem Editor und ergänze dort die drei Dateien:

<ItemGroup>
  <Compile Include="Program.cs" />
  <Compile Include="New_Recording.Repository.cs" />
  <Compile Include="New_Recording.UserCode.cs" />
  <Compile Include="New_Recording.cs" />
  <Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>

Füge noch die benötigten Ranorex-Referenzen hinzu. Diese sind beispielsweise bei einem aufgenommenen Android-Testfall die Folgenden:
export record ranorex 2
Anschließend noch die Start()-Methode in der Main-Methode ausführen:

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            MyTestProject.New_Recording.Start();
        }
    }
}

Das Herzstück des Codes ist zweifelsohne die Run()-Methode, in welcher sich die einzelnen Testschritte befinden:
2016-10-19 13_47_12-ConsoleApplication1 - Microsoft Visual Studio
Nach dem Drücken des Start-Buttons in Visual Studio läuft der Testfall nun automatisch.

Quick start: Mit Ranorex auf Android-Smartphones testen

Diese Anleitung zeigt, wie man in wenigen Schritten sein Android-Smartphone bei Ranorex anmeldet und anschließend einen Testfall für eine App aufnimmt und wieder abspielt (record & playback).
Anleitung gilt für Ranorex 6.1.1.
Angelehnt an offizielle Ranorex-Anleitung
Voraussetzungen am Computer

  • Ranorex-Installation auf dem Computer.
  • Administratorrechte auf dem Computer (bei Firmennetzwerken manchmal nicht der Fall. Dann würde Dein Smartphone im folgenden Installationsverlauf nicht angezeigt und könnte daher auch nicht angemeldet werden).
  • Sicherheitshalber die neueste Version von Ranorex benutzen.
  • USB-Treiber für’s Smartphone werden zwar in der Ranorex-Installationsanleitung explizit genannt, sollten jedoch ohne weiteres Zutun auf dem Computer bereits vorinstalliert sein (anders würde man wohl die Ordner auf dem Smartphone nicht per Windows Explorer erreichen).

Konfigurationen am Smartphone
Aktiviere ‘USB-Debugging’ (in Entwickleroptionen) auf Android-Smartphone. Auch bei Android Emulatoren muss das ‘USB-Debugging’ aktiviert werden. Die Aktivierung von ‘Wach bleiben/stay awake’ ist nicht notwendig, da dies die später installierten ‘Ranorex Services’ übernehmen.
Installation
Android-Smartphone und Computer mit dem USB-Kabel verbinden und Verbindung zulassen (Popup auf Smartphone). Gg.falls im weiteren Verlauf der Installation noch USB-Debugging zulassen (ebenfalls Popup auf Smartphone).
Öffne Ranorex 5.4 -> Tools -> Ranorex Recorder.
Wähle Android:
Ranorex android recording
Wähle USB und selektiere dann Dein Smartphone:
android ranorex
Auf dem Smartphone erscheint nun ein Hinweis auf ‘Ranorex Services’ – die Ranorex-App, die gerade auf diesem Wege installiert wurde.
Recording & Playback eines Testfalls
Drücke ‘RECORD’ und wähle dann ‘Mobile’:
ranorex recorder android
Unter ‘Choose or add device’ erscheint nun Dein zuvor installiertes Smartphone. Die vorausgewählte App ‘Web’ ist ein einfacher Webbrowser, den Ranorex selbst gebaut hat. Er wird im nächsten Schritt dann auf’s Smartphone deployed. Als Website wählen wir dann http://www.google.de und bestätigen das Ganze schließlich mit ‘RECORD’:
android.Recording
Es erscheint nun der Ranorex-eigene Browser auf dem Smartphone. Dort geben wir ins Google-Suchfeld nun den Suchtext ‘Ranorex’ ein und klicken auf den Suchbutton. Schließlich beenden wir die Aufnahme indem wir auf dem Computer im Ranorex Recorder auf ‘RECORD’ drücken. Mittels dem danebenstehenden ‘PLAY’ spielen wir nun den aufgenommenen Testfall wieder ab, was wir dann auch live auf dem Smartphone sehen können. Nach der Beendigung des Testruns poppt auf dem Computer noch der Replay Report auf – bei Gelingen wirst Du mit dem Status ‘Success’ belohnt:
android.smartphone.recording

Tooltip in GridControl aus unangezeigter Spalte erstellen (DevExpress/WPF)

Für das GridControl in WinForms existiert eine sehr schöne Möglichkeit mittels ToolTipController einen Tooltip aus einer unsichtbaren Spalte der dahinterliegenden Datenquelle zu erstellen: Anleitung. In Wpf gibt’s keinen ToolTipController, weshalb man das ein bisschen anders machen muss (Quelle):

Zur besseren Orientierung findet sich im Folgenden ein großer Teil des XML-Baums, relevant ist eigentlich nur der Knoten “

    <dxb:BarManager x:Name="barManager" dxbh:BlendHelperForBarsAndRibbon.IsDesignControl="true">
        <DockPanel>
            <dxd:DockLayoutManager x:Name="dockLayoutManager">
                <dxd:LayoutGroup>
                    <dxd:TabbedGroup Name="tgProperties" ItemWidth="*" SelectedTabIndex="1">
                        <dxd:LayoutPanel Caption="Available Parameter" >
                            <dxg:GridControl x:Name="gridAvailableParameter" AutoPopulateColumns="True" HorizontalAlignment="Stretch" ItemsSource="{Binding ShownParametersInAvailableParameterGrid}" Margin="0,0,0,0" VerticalAlignment="Stretch">
                                <dxg:GridControl.Columns>
                                    <dxg:GridColumn FieldName="IrgendeinText">
                                        <dxg:GridColumn.CellTemplate>
                                            <DataTemplate>
                                                <dxe:TextEdit Name="PART_Editor">
                                                    <ToolTipService.ToolTip>
                                                        <Binding Path="Data.DazugehörigeToolTippText"/>
                                                    </ToolTipService.ToolTip>
                                                </dxe:TextEdit>
                                            </DataTemplate>
                                        </dxg:GridColumn.CellTemplate>
                                    </dxg:GridColumn>
                                <dxg:GridControl.View>
                                    <dxg:TableView BestFitMode="AllRows" BestFitArea="Header" AllowBestFit="True" AutoWidth="True" VerticalAlignment="Stretch" x:Name="tblParamList" ShownEditor="TableViewAvailableParameterBoxShown" HiddenEditor="TableViewAvailableParameterBoxHidden" ShowTotalSummary="True"/>
                                </dxg:GridControl.View>
                            </dxg:GridControl>
                        </dxd:LayoutPanel>                    
                    </dxd:TabbedGroup>
                </dxd:LayoutGroup>
            </dxd:DockLayoutManager>
        </DockPanel>
    </dxb:BarManager>