Skip to main content
Skip table of contents

Interaktiver Modus

Motivation

Das Schreiben längerer Testfälle kann schnell zeitaufwendig werden. Daher wurde der sogenannte interaktive Modus eingeführt, mit dem Tests viel schneller geschrieben werden können, da einzelne Keywords direkt ausprobiert werden können. Das vollständige Ausführen eines Testfalls ist nicht mehr zwingend notwendig, um die letzten Änderungen testen zu können. Variablen werden ebenfalls unterstützt – sie sind jederzeit mitsamt ihrer aktuellen Werte einsehbar!

Einführung

In einem Testfall kann ein sogenannter Breakpoint (dt. Haltepunkt) definiert werden. Dies ist immer ein Keyword und wird über die Zeilennummer bestimmt. Bei der nächsten Testausführung stoppt die Testausführung am Breakpoint, d.h. das Keyword in der Zeile wird nicht mehr ausgeführt.

Beispiel:

JAVA
class InteractiveModeDemo extends BaseWebClientSpec {

	def "FirstTestStep"() {
		given:
		open entity "Activity"
		create dataset
		set field "Subject.Activity" to "Mein Betreff!"
		save dataset		
	}
}

Wird in Zeile 8 ("save dataset") ein Breakpoint gesetzt, passiert bei der nächsten Testausführung folgendes:

CODE
> Anmelden am WebClient
> Ausführen der Keywords
    open entity "Activity"
    create dataset
    set field "Subject.Activity" to "Mein Betreff!"
    set field "ActTypeKey.Activity" to "ERINNERUNG"
> Anhalten am Breakpoint und Wechsel in den interaktiven Modus

Der Browser bleibt geöffnet und nun können einzelne oder mehrere Keywords markiert und ausgeführt werden. Beides zusammen eröffnet neue Möglichkeiten:

  • Manuelle Aktionen im WebClient, um beispielsweise Fehlerzustände zu bereinigen. Beispiel: In obigem Beispiel wurde das Pflichtfeld "Art der Aktivität" nicht gefüllt, beim Speichern mittels save dataset erscheint die Prüfung auf "Ungültige Feldwerte". Als Testentwickler kann ich einfach auf die Neuanlagemaske zurücknavigieren und meinen Testfall anpassen zu:

    JAVA
    class InteractiveModeDemo extends BaseWebClientSpec {
    
    	def "FirstTestStep"() {
    		given:
    		open entity "Activity"
    		create dataset
    		set field "Subject.Activity" to "Mein Betreff!"
    		set field "ActTypeKey.Activity" to "ERINNERUNG"  // wurde hinzugefügt
    		save dataset		
    	}
    	
    }

    und die beiden Keywords in Zeilen 8 und 9 markieren und ausführen.

  • Ändern von Variablenwerten und erneutes Ausführen der Tests.

  • Einfachere Fehlersuche, wenn Keywords fehlschlagen, die im interaktiven Modus ausgeführt wurden.

Benutzeroberfläche

Es wurde eine neue Toolbar eingeführt, die Aktionen rund um den interaktiven Modus steuert. Außerdem wurde das Protokoll in das Hauptfenster integriert, um den Arbeitsablauf beim Schreiben von Testfällen zu beschleunigen. 

Element

Beschreibung

Interaktiven Modus verlassen

Beendet den Browser und damit die aktuelle Testausführung.

Im Gegensatz zu einer Testausführung ohne den interaktiven Modus wird kein Abmelden am CRM durchgeführt. Dies muss manuell erfolgen.

Auswahl ausführen

Führt die markierten Keywords (mehrzeilige Auswahl möglich) aus. Dabei wird das gesamte Keyword ausgeführt, "halbe" Keywords können nicht selektiert werden.

Breakpoint

Definieren des Breakpoints über eine Zeilennummer. Ein definierter Breakpoint kann über

Delete.svg

wieder gelöscht werden. Alternativ wird das Feld geleert.

Wann wird in den interaktiven Modus gewechselt?

Der interaktive Modus wird immer dann bei der nächsten Testausführung aktiviert, wenn ein Breakpoint definiert wurde, d.h. in dem Eingabefeld eine Zeilennummer eingetragen wurde. Soll die nächste Testausführung wie gehabt von vollständig vom Beginn bis zum Ende ausgeführt werden, muss die Zeilennummer gelöscht werden.

Wechseln in den interaktiven Modus

Wird der Breakpoint erreicht, wechselt das Test-Studio in den interaktiven Modus.

Dabei ändert sich die Oberfläche geringfügig:

  • Unter dem Testfall werden alle Variablen und ihr letzter Wert eingeblendet. Die Werte können bearbeitet werden.

  • Im Protokoll wird die Stelle vermerkt, an der in den interaktiven Modus gewechselt wurde.

  • Alle nachfolgenden Testschritte werden übersprungen – dies wird entsprechend vermerkt.

  • Die Schalter "Interaktiven Modus verlassen" und "Auswahl ausführen" werden aktiv.

Ausführen von Keywords im interaktiven Modus

Eine Auswahl an Keywords kann wie folgt ausgeführt werden:

  • Markieren der Zeilen, die die Keywords umfassen. Dies muss nicht vollständig sein, wie auf dem folgenden Screenshot zu erkennen ist – in dem Beispiel werden trotzdem die beiden folgenden Keywords ausgeführt.

CODE
set field "ActTypeKey.Activity" to "ERINNERUNG"
save dataset
  • Auswahl über "Auswahl ausführen" ausführen.

  • Im Protokoll werden die bekannten Einträge hinterlegt. Dabei ist ersichtlich, dass diese Keywords im interaktiven Modus ausgeführt wurden. Das Protokoll wird erst nach Abschluss aller Keywords aktualisiert, auf dem Screenshot wurde es zusammengefasst, um Platz im Handbuch zu sparen.

Ändern von Variablenwerten

Bevor eine Auswahl von Keywords ausgeführt wird, können Werte von Variablen in der Tabelle geändert werden. Die geänderten Werte greifen bei allen nachfolgenden Ausführungen von Keywords. Selbstverständlich können auch neue Werte in einem Testfall zugewiesen werden. Die neuen Werte werden hier ebenso angezeigt.

Tastenkürzel

Um die Testentwicklung weiter zu beschleunigen, sind alle Funktionen des interaktiven Modus mit der Tastatur erreichbar.

Hauptnavigation

Tastenkombination

Aktion

STRG+UMSCHALT ⇧+ 1

Wechsel in den Testfalleditor.

STRG+UMSCHALT ⇧+ 2

Wechsel in die Variablentabelle, sofern sichtbar.

STRG+UMSCHALT ⇧+ 3

Wechsel in das Protokoll.

STRG+UMSCHALT ⇧+ 4

Wechsel in das detaillierte Protokoll.

Aktionen rund um den interaktiven Modus

Tastenkombination

Aktion

STRG+B

Wechselt in das Eingabefeld für den Breakpoint.

STRG+UMSCHALT ⇧+B

Entfernt einen vorher gesetzten Breakpoint.

STRG+R

Führt die ausgewählten Keywords aus.

STRG+Q

Beendet den interaktiven Modus.

Aktionen in der Variablentabelle

Tastenkombination

Aktion

F2

Bearbeitet den Variablenwert der ausgewählten Zeile.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.