Testen grafischer Benutzeroberflächen: Squish GUI Tester
Neun Gründe, sich für Squish GUI Tester zu entscheiden
1.
Ermöglicht die automatische Erstellung eines Testskripts durch Ereignisaufzeichnung.2.
Sie ermöglicht die Überprüfung der Eigenschaften eines beliebigen SchnittstellenobjektsVergleich von Bildern, Sichtkontrolle (Überprüfung von Eigenschaften und Bildern), und Validierung von Werten von Tabellen.3.
Sie ermöglicht die Automatisierung von Regressionstestsmittels Batch-Ausführung unter Verwendung von Werkzeugen zur kontinuierlichen Integration (JenkinsHudson).4.
Unterstützt mehrere Betriebssysteme: Windows, Mac, Linux, Solaris.5.
Unterstützt mehrere GUI-TechnologienQt, Java, Web, natives iOS, natives Android, natives Windows, nativer Mac.6.
Sie ermöglicht die Fernprüfung von Anwendungen, die auf mehreren Plattformen laufen oder auf eingebettete Geräte.7.
Ermöglicht die Prüfung von Hybridanwendungen (Beispiel: Qt-Anwendung mit nativen Windows-Steuerelementen).8.
Es ermöglicht die Verwendung der Behaviour Driven Development (BDD)-Methodik und erstellt BDD-Testfälle in der Sprache Gherkin.9.
Es ermöglicht die Verwendung verschiedener Skriptsprachen (Python, JavaScript, Ruby, Perl und TCL).
Squish GUI Tester Editionen
Squish für Qt
Ermöglicht das Testen von Anwendungen, die mit Qt Widgets, QML, Qt Quick, Qt Webkit und Qt WebEngine geschrieben wurden.
Die Lizenz erlaubt es Ihnen, diese Anwendungen auf dem Desktop (Windows, MacOS, Linux, Solaris) und auf mobilen Geräten (iOS, Android) zu testen.
Squish für Web
Es ermöglicht das Testen von Anwendungen, die für Webbrowser mit HTML5, Flex, Java Applets, Ajax, etc. geschrieben wurden.
Die Lizenz erlaubt es Ihnen, diese Anwendungen auf dem Desktop (Windows, MacOS, Linux, Solaris) und auf mobilen Geräten (iOS, Android) zu testen.
Squish für Mobiltelefone
Ermöglicht das Testen von nativen Android- und iOS-Anwendungen, einschließlich der Unterstützung von Webkit-Inhalten.
Die Lizenz ermöglicht es Ihnen, diese Anwendungen auf mobilen Geräten und Emulatoren zu testen.
Squish für Java
Ermöglicht das Testen von Anwendungen, die mit AWT, SWT, RCP, Swing und Java Fx geschrieben wurden, einschließlich Unterstützung für Webkit.
Squish für Windows
Es ermöglicht das Testen von Anwendungen, die mit MFC, Win Forms und WPF geschrieben wurden, einschließlich Unterstützung für die Automatisierung über MSAA und UIAutomation.
Squish für Mac
Ermöglicht das Testen von nativen MacOS-Anwendungen, einschließlich der Unterstützung von Webkit-Inhalten.
Squish für Tcl/Tk
Ermöglicht das Testen von Tcl/tk-Anwendungen unter Windows, Linux, Solaris und MacOS.
Erstellen von Testfällen mit Squish
In fünf Schritten
1.
2.
3.
4.
Aufzeichnung von Testfallereignissen. Zum Beispiel:
- Öffnen einer Adressdatei
- Navigieren Sie zur zweiten Adresse und fügen Sie einen neuen Namen und eine neue Adresse hinzu.
- Navigieren Sie zur vierten Adresse und ändern Sie das Feld "Nachname".
- Navigieren Sie zur ersten Adresse und löschen Sie sie
5.
- Vergewissern Sie sich, dass die erste Adresse nun die neue ist, die wir hinzugefügt haben.

In diesem Fall ist die Überprüfung vom Typ Objekteigenschaft. Squish zeigt die Objekte der Anwendung an.
Wir wählen den entsprechenden Gegenstand, seine Eigenschaft und den erwarteten Wert (Doe).

Als Ergebnis dieses Prozesses wird ein Skript in der gewählten Sprache generiert und kann ausgeführt werden. Dies ist die ausführbare Datei des Testfalls.
Bei der Ausführung löst Squish die eingegebene Abfolge von Ereignissen aus und führt die Überprüfung des Testfalls durch, um das Ergebnis (Erfolg oder Misserfolg) zu erhalten.
Der Testfall kann über die Squish-IDE oder die Squish-Befehlszeile ausgeführt werden. Er kann auch über Jenkins oder Hudson ausgeführt werden.
Lokale oder entfernte Ausführung von Testfällen
Lokale Ausführung über Squish IDE
Die zu testende Anwendung (AUT) und Squish sind zwei unabhängige Prozesse.
Squish besteht aus zwei Prozessen:
- Squish Runner: Interpretiert das Testskript und fordert Squish Server auf, die Aktionen des Skripts auszuführen.
- Squish Server: Startet die AUT und injiziert eine kleine Bibliothek (Hook), die mit der AUT interagiert.

