FAQ
Web Testing | “InputFields“ werden nicht erkannt
Allgemein | Einen Dump erzeugen
Q: Web Testing | “InputFields“ werden nicht erkannt
Wie kann man Input Fields sprechende Namen geben? Beim Aufzeichnen von Tests mit app.test für eine Webanwendung werden alle Input Fields mit "Text" bezeichnet. Das macht es schwierig diese beim Aufzeichnen von Tests zu unterscheiden.
A:
Für die Automatisierung von Website Tests mit Fabasoft app.test werden so genannte “Patterns” verwendet. Diese Patterns sind Elemente die zur Strukturierung von Webseiten verwendet werden - z. B. ein "DIV" mit einem spezifischen "class"-Attribut oder ein "form"-Tag.
Ausgehend von diesen Pattern wird ein “tree” aufgebaut. Dieser repräsentiert die HTML-Struktur Ihrer Webseite. Jedes HTML-Element der Webseite wird analysiert und das passende Pattern ausgewählt. Diesem Pattern entsprechend wird das Element zum "tree" hinzugefügt. Die Namen (Labels) der einzelnen HTML-Elemente werden dabei im "tree" angezeigt.
Da jede Webseite aus unterschiedlichen Pattern besteht, stellt Fabasoft app.test ein Tool zur Verfügung mit dem app.test alle auf einer Webseite existierenden Patterns "gezeigt" werden können. Der “Control Specification Designer” beinhaltet einen integrierten Editor zum Designen von XPath-Expressions. Mit diesen XPath-Expressions wird die Position der HTML-Elemente innerhalb der Webseitenstruktur ermittelt.
Die sogenannten Patterns werden generiert indem man dem Editor die zusammengehörigen Teile einer Webseite "zeigt". Durch das Anwenden dieser Patterns auf die komplette Webseitenstruktur, werden Tests lesbar, verständlich und wiederverwendbar. Das so entstandene “Specification File” kann sofort in Ihre Tests integriert werden. Der Control Specification Designer ist direkt in Fabasoft app.test Studio verfügbar. Die entsprechende View kann über Window > Open Perspective > other > "app.test Specification Design" geöffnet werden.
Die gebräuchlichsten Patterns werden bereits "out-of-the-box" durch ein “default Specification File” unterstützt. Wenn dieses default Specification File in einem Test verwendet wird, wird ein gelber Balken im Webbrowserfenster angezeigt.
Weitere Informationen über die Struktur und Funktionalität von Patterns sind in der online Hilfe verfügbar.
Hier ein Beispiel zur Erklärung des "default Pattern” “InputField”. Der Name für ein InputField wird wie folgt gesetzt:
#InputField
:expression descendant::INPUT[@type="text" or @type="password" or @type="file" or not(@type)]
:expression descendant::TEXTAREA
:label attribute::title
:label attribute::name
:label attribute::id
:label attribute::type
:click
:get attribute::value
:get (result = Enabled)
:set
Um die Elemente auf einer Webseite zu identifizieren werden alle "Fields" mit dem Namen "INPUT" und entweder dem Attribut "type" mit dem Wert "text", "password", "file" oder keinem Attribut "type" ermittelt. Zusätzlich werden alle Elemente mit dem Namen "TEXTAREA" als "InputField" behandelt.
Das “Label” (der im "tree” angezeigte Name) wird durch die “labels” der Elemente festgelegt. Dabei wird überprüft ob ein Wert im Attribut “title”, “name”, “id” oder “type” gesetzt wurde. Ist kein Wert gesetzt, wird das Element ohne Namen im "tree" angezeigt.
“:set” und “:get” werden verwendet um eine Wert zu setzen oder auszulesen (z. B. :get attribute::value, :get (result = Enabled), :set).
Allgemein | Einen Dump erzeugen
Der app.test hat einen Dump angefordert. Wie wird ein Dump erzeugt?
A:
“Dumps” werden zur Analyse spezifischer Probleme verwendet. Um während dem Aufzeichnen von Tests einen "Dump zu erzeugen öffnen Sie das Kontextmenü im "Recorder"-Fenster und klicken Sie auf "Generate Dump". Ein Dump beinhaltet einen Screenshot des aktuellen Browser-Fensters, das HTML der Webseite und den "Control Tree" von Fabasoft app.test.
![[ALT+6] Feedback](/images/feedbackbtn-top.png)