Grafical Elements in GUI Technologies: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Matilk (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= Introduction = The GUI technologies generally provide information about available elements inside their applications. By a locator (usually an XPath) you can…“) |
Matilk (Diskussion | Beiträge) (Weiterleitung nach Grafische Elemente in GUI-Technologien erstellt) Markierung: Neue Weiterleitung |
||
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
#WEITERLEITUNG [[Grafische_Elemente_in_GUI-Technologien]] |
|||
= Introduction = |
|||
The GUI technologies generally provide information about available elements inside their applications. By a locator (usually an XPath) you can then define at a block, for which element a certain action shall be executed. But in some cases in can be difficult or even impossible to find such a path. Either because the structure is not static, there are no suitable properties, or there even is no element available by the technology, but only its surrounding element. |
|||
By using a screenplay it is possible, to define elements that can be found using the screenshot. The pronciple is the same as for the automation on the [[Local_Screen_GUI_Plugin_Reference|local screen]] or using [[VNC_Plugin_Reference|VNC server]], but can be used in parallel with the normal form of addressing elements. |
|||
Following technologies support an additional screenplay so far: [[Selenium_WebDriver_Plugin|Web Test (Selenium)]], [[Mobile_Testing_Plugin|Mobile Testing (Appium)]], [[WindowsAutomation_Reference_2.0|WindowsAutomation 2]], and [[Java_GUI_Plugins|Java]]. |
|||
= Define a Screenplay = |
|||
The easiest way to define a screenplay is using the [[Expecco_GUI_Tests_Extension_Reference/en|GUI Browser]]. First connect to the application you want to use. In its context menu you will find then the entry ''Screenplay'' with several options, including to create a new screenplay. The elements inside the screenplay are divided into scenes. They can be used for structuring, but you can use just one scene as well. The screenplay will be saved as an attachment to the current project, as well all image files that are created to define the elements. |
|||
= Drehbuch verwenden = |
|||
Um ein Drehbuch in einem Test zu verwenden, muss es zu Beginn geladen werden. In manchen Technologie-Bibliotheken gibt es dafür einen Baustein, in der Common GUI Library, die in jedem Fall verwendet werden kann, heißt er zum Beispiel ''[UI] Set Screenplay''. Ziehen Sie dafür das Attachment des Drehbuchs in Ihren Baustein und setzen Sie das Datenformat am Ausgang auf ''Inhalt als String'', um den Pin mit dem Screenplay-Baustein verbinden zu können. Die definierten Elemente können mit den Bausteinen der Technologie-Bibliotheken oder der Common GUI Library verwendet werden, möglicherweise funktionieren aber nicht alle Aktionen. |
|||
= Elemente = |
|||
Es gibt verschiedene Arten von Elementen oder Playern, die im Drehbuch definiert werden können. Im GUI-Browser können Sie ein neues Element anlegen, indem Sie das Drehbuch oder eine Szene auswählen und im Kontextmenü ''Neues Element definieren ("Player" in der Szene)'' auswählen und darunter den Typ des Elements. |
|||
== Grafische Elemente == |
|||
Grafische Elemente sind alle Elemente, die über den Screenshot erkannt werden. Die Elemente, die so gefunden werden sind unabhängig von der Technologie. Mit ihnen können nur grundlegende Aktionen ausgeführt werden, wie Klicken oder den Text auslesen (über OCR). Auch wenn diese Aktionen trotzdem über die jeweilige Technologie ausgeführt werden, sind mit diesen Elementen keine Aktionen möglich, die ein echtes Technologie-Element benötigen (z.B. Attribut-Werte auslesen). Es gibt verschiedene Möglichkeiten, ein solches Element zu definieren. |
|||
=== Position === |
|||
Die einfachste Möglichkeit ist es, einfach eine Position anzugeben. Hierfür muss noch nicht einmal der Screenshot durchsucht werden, trotzdem handelt es sich hierbei um ein grafisches Element, da die möglichen Aktionen mit einem solchen Element dieselben sind. |
|||
=== Bild suchen === |
|||
Elemente können mit einem oder mehreren Bilder definiert werden, die dann im aktuellen Screenshot gesucht werden. Hiervon gibt es verschiedene Unterkategorien. Das Element kann direkt durch das Bild definiert sein oder eine Position relativ zum Bild haben. Es ist außerdem möglich, einen Bereich zu definieren, der von zwei Bildern aufgespannt wird. |
|||
=== Text suchen === |
|||
Wenn die OCR-Unterstützung in expecco konfiguriert ist, kann auch nach Text innerhalb des Bildes gesucht werden. Hier ist zu beachten, dass der Erfolg natürlich vom OCR-Ergebnis abhängt. Dabei ist hoher Kontrast in der Regel von Vorteil, dunkle Schrift auf hellem Grund wird meist besser erkannt als umgekehrt. Icons oder andere grafische können als Zeichen erkannt werden, was zu Problemen führen kann, wenn ein Wort direkt daneben gesucht wird. |
|||
== XPath-Elemente == |
|||
Im Drehbuch können auch Elemente mit XPath definiert werden. Dadurch kann einem Pfad quasi ein Name zugewiesen werden. Dies trägt zum einen zur besseren Lesbarkeit des Tests bei, zum anderen können Pfade so einfacher ausgetauscht werden. Elemente, die so gefunden werden, sind genauso echte Technologie-Elemente wie wenn man den Pfad direkt am Baustein verwendet, das heißt mit ihnen können alle Aktionen ausgeführt werden, die für die Technologie möglich sind. |
|||
= Schreibweise = |
|||
Um ein Element aus dem Drehbuch an einem Baustein zu verwenden, wird das @-Zeichen verwendet, um eine Element-ID zu kennzeichnen. Zum Beispiel ''@OkButton''. Bei der Verwendung eines Screenplays mit VNC oder auf dem lokalen Bildschirm gibt es daneben noch andere Schreibweisen, die bei den anderen GUI-Technologien nicht zulässig sind, da man hier unterscheiden können muss, ob es sich um einen XPath oder um ein Screenplay-Element handelt. |
|||
Es ist auch möglich, mehrere Elemente in einem Pfad zu kombinieren. Dabei wird der Pfad von links nach rechts abgearbeitet und jeweils nur innerhalb des definierten Bereichs weitergesucht. Die einzelnen Teile werden dabei durch "/" getrennt. Zum Beispiel ''@linkeSeite/@OkButton''. Es dürfen XPath der Technologie mit den Element-IDs kombiniert werden, allerdings ist hierbei zu beachten, dass keine Element-ID für ein grafisches Element links von einem XPath stehen kann. |
Aktuelle Version vom 20. Dezember 2022, 16:04 Uhr
Weiterleitung nach: