Beiträge

Screenshotvergleich mit Ranorex

Problemstellung: Vergleich der Darstellung von UI Elementen mit Ranorex.
Da es immer wieder vorkommt dass UI Elemente nicht korrekt dargestellt werden hier ein kleiner Codeschnipsel, welcher das Beispiel meines Kollegen (Ranorex Pixelfarbe ermitteln) etwas erweitert. Weiterlesen

,

OptionTag Auswahl mit Selenium

Um in einem automatisierten Test einen Eintrag aus einer DropDown Liste auszuwählen (Select-Tag), gibt es in Selenium mehrere Möglichkeiten.

Weiterlesen

MTM Testdurchführung über TFS API starten

Um einen automatisierten Testrun über die TFS API zu erstellen, kann die CreateTestRun Methode der Schnittstelle ITestPlan verwendet werden.
Das Erstellen von einem neuen Testlauf funktioniert (zumind. für die Basis-Workflows) ziemlich einfach. Weiterlesen

Ranorex: Pixelfarbe ermitteln

Bei manchen Testfällen ist es notwendig die aktuelle Hintergrundfarbe eines Oberflächenelements zu ermitteln.
WinForms / VB6 / usw. Oberflächen stellen diesen Wert nicht als Eigenschaft bereit, aus diesem Grund muss dieser Wert über einen anderen Weg abgefragt werden.

Der einfachste Weg ist es, ein Screenshot des Elements zu erzeugen und diesen dann mit der GetPixel Methode abfragen.
Ranorex stellt dazu z.B. die Methode

Report.Screenshot(element);

bereit.
Bei dieser Methode wird allerdings das Bild lokal gespeichert, dieses Vorgehen ist etwas fehleranfällig und vor allem unnötig.
Nach einer längerer Suche, bin ich auf die Methode Imaging.CaptureCompressedImage() gestoßen, diese liefert ein Bitmap Objekt zur Laufzeit zurück, ohne dass Bilder lokal gespeichert werden müssen.
Als Parameter kann ein Element vom Typ Ranorex Adapter oder Ranorex Element übergeben werden.

Hier ist eine Beispiels-Methode, mit der vom übergebenen Control die Hintergrundfarben ermittelt werden können.
Natürlich können auch die Pixel verändert bzw. parametrisiert werden.

public static string Color(Adapter ui_control)
{
   Bitmap bmp = Imaging.CaptureCompressedImage(ui_control);
   Color cElementColor = bmp.GetPixel(2, 2);
   return cElementColor.Name;
}

Microsoft Test Manager: TimeOut für die Testdurchführung ausschalten

Manchmal ist es notwendig, dass einzelne Testfälle länger als 30 Minuten laufen. Die Durchführungszeit wird aber, per default, von MTM auf 30 Minuten festgelegt

Default TimeOut der Testdurchführung aus Microsoft Testmanager, wird in den Test Settings festgelegt.

Mit folgenden Schritten, kann die TimeOut Zeit angepasst werden:

  • MTM starten
  • Oben den Bereich von „Testing Center“ auf „Lab Center“ umschalten
  • im „Lab Center“ den Reiter „Test Settings Manager“ auswählen
  • Im „Settings Manager“ eine neue Test Setting anlegen oder eine bestehende öffnen
  • Im Bereich „Steps“, Oberknoten „Advanced“ auswählen, dann den Unterknoten „Timeouts“
  • „Set Mark an individual test as failed if its execution time exceeds: 30“ deaktivieren
  • Speichern
  • Fertig!