Best Practices | Testfälle | Wartezeiten

Ein Control ist ein bestimmtes Bildschirmelement in Ihrer zu testenden Applikation: eine Schaltfläche, ein Menü, eine Tabellenzelle usw.

Langsame Applikationen und Abhängigkeiten zwischen Controls können zu fehlgeschlagenen Tests führen. Tosca unterscheidet nicht zwischen Bildschirmen/Controls, die nicht vorhanden sind, und Bildschirmen/Controls, die noch nicht vorhanden sind. Standardmäßig wartet Tosca bis zu 10 Sekunden auf einen Bildschirm oder ein Control und meldet dann einen Fehler.

Wartezeiten hinzufügen

Um Ihre Tests stabiler zu machen, wählen Sie eine der folgenden Optionen: 

  • Erhöhen Sie die Standardwartezeit, sodass Tosca auf jeden Bildschirm bzw. jedes Control länger als 10 Sekunden wartet.

  • Fügen Sie dynamische Wartezeiten hinzu, sodass Tosca wartet, bis Ihre Applikation einen bestimmten Status erreicht hat. Dies kann der Fall sein, wenn beispielsweise ein Fortschrittsbalken 100 % erreichen muss, bevor die Schaltfläche Next aktiviert wird.

  • Fügen Sie statische Wartezeiten hinzu, sodass Tosca den Testdurchlauf für eine bestimmte Zeit unterbricht. Dies kann der Fall sein, wenn beispielsweise eine Seite etwas langsam geladen wird.

Alles in allem empfehlen wir Ihnen, die letzte Option – statische Wartezeiten – möglichst zu vermeiden. Wieso? Erstens müssen Sie wissen, wie lange es dauert, bis Ihre Applikation geladen ist. Wenn Sie zu wenig Wartezeit definieren, schlägt der Test ohnehin fehl. Wenn Sie zu viel Wartezeit definieren, dauert der Test unnötig lange. Und zweitens kostet die Anpassung statischer Wartezeiten zusätzlichen Aufwand, wenn Ihre Applikation schneller und zuverlässiger wird.

Die Standardwartezeit erhöhen

Um die Standardzeit zu erhöhen, die Tosca auf einen Bildschirm oder ein Control wartet, ändern Sie die Einstellung Synchronisation Timeout.

Dynamische Wartezeiten verwenden

Um eine dynamische Wartezeit hinzuzufügen, verwenden Sie die Aktion WaitOn für den Schritt, auf den Tosca warten soll.

Tosca wartet, bis der Wert der Eigenschaft InnerText des Fortschrittsbalkens 100% beträgt, bevor es versucht, auf Next zu klicken.

Standardmäßig wartet Tosca 20 Sekunden auf alle WaitOn-Testschritte. Wenn Sie mehr oder weniger Zeit benötigen, ändern Sie die Einstellung Synchronization Timeout during WaitOn.

Statische Wartezeiten verwenden

Wenn Sie wirklich eine statische Wartezeit hinzufügen müssen, wählen Sie eine der folgenden Optionen: 

  • Fügen Sie eine Wartezeit direkt zu einem Testfall hinzu, indem Sie einen Testschritt mit dem Modul TBox Wait erstellen.

  • Bauen Sie die Wartezeit in ein Modul ein, indem Sie die Steuerungsparameter WaitBefore oder WaitAfter für ein bestimmtes Modulattribut verwenden. Tosca wendet die von Ihnen definierte Wartezeit auf alle Testfälle an, in denen Sie das Modul verwenden und das entsprechende Control steuern.

Was für Sie am besten ist, hängt davon ab, wie häufig Sie statische Wartezeiten in Ihren Tests benötigen.

Die Verwendung des Moduls TBox Wait ist eine schnelle Lösung, wenn Sie hier und da nur ein paar statische Wartezeiten benötigen. Wenn Sie jedoch die Wartezeit ändern oder ganz entfernen möchten, müssen Sie alle Testfälle ändern, die diesen Schritt aufweisen.

Wenn Sie also eine statische Wartezeit für ein bestimmtes Control über mehrere Tests hinweg hinzufügen möchten, sind die Steuerungsparameter WaitBefore bzw. WaitAfter eine bessere Wahl. Sie sind einfacher zu pflegen: Um die Wartezeit zu ändern oder ganz zu entfernen, ändern Sie einfach das Modul. Tosca wendet die Änderung automatisch an, wenn Sie die Testfälle, die das Modul verwenden, das nächste Mal ausführen.

Steuerungsparameter WaitAfter für das Modulattribut Log In: nach Steuerung des Controls Log In immer 25 000 Millisekunden warten

Nächste Schritte

Wenn Sie dies noch nicht getan haben, lesen Sie auch unsere anderen Best Practices-Artikel.