3.5.2. Erzeugen der checkerberry web-Umgebung

Für die Entwicklung und Durchführung der automatisierten Integrationstests ist die Erzeugung einer checkerberry web-Umgebung erforderlich. Die checkerberry web-Umgebung initialisiert die Fernsteuerung und stellt die Rahmenbedingungen für die GUI-Tests her. Dazu gehört neben dem Starten von Proxy-Servern auch die Verwaltung der Browser-Instanzen.

Die Grundeinstellungen von checkerberry web sind so gewählt, dass in der Regel kein Konfigurationsaufwand für die Installation erforderlich ist.

Checkerberry web greift regelmäßig auf den Namen der aktuellen Testklasse und der aktuellen Testmethode zurück. Die Ermittlung der Information, welcher Test gerade ausgeführt wird, ist abhängig von dem verwendeten Testframework. Während die Information in JUnit3-Umgebungen direkt verfügbar ist, muss sie in JUnit4- und TestNG-Umgebungen erst ermittelt werden.

Zur Bestimmung des Namens der aktuellen Testmethode verwendet checkerberry web die gleichen Mechanismen wie checkerberry db (siehe Abschnitt 2.5.3.1, „Aufrufen der setUp-Methode“). Im Folgenden wird die Erzeugung der checkerberry web-Umgebung unter Verwendung von JUnit3 beschrieben.

3.5.2.1. Checkerberry web-Umgebung

Bevor ein Test unter Verwendung von checkerberry web ausgeführt wird, muss eine checkerberry web-Umgebung vorhanden sein. Aus diesem Grund erfolgt die Erzeugung der Umgebung in der Setup-Phase des Tests. In der Regel ist es sinnvoll, diesen Schritt in einer abstrakten Oberklasse vorzunehmen. Alle GUI-Tests können dann von dieser Klasse erben, ohne selbst die Initialisierung der Umgebung vornehmen zu müssen.

Die checkerberry web-Umgebung wird analog zu checkerberry db über einen Service Locator erzeugt. Der Service Locator ist in dem Singleton CheckerberryWeb implementiert. Das folgende Code-Beispiel beschreibt die Erzeugung der Umgebung unter JUnit3.

Beispiel 3.8. Erzeugung der checkerberry web-Umgebung mit JUnit3

public void setUp() throws Exception {

  // Erzeugen einer neuen (Standard-)Konfiguration.
  WebConfiguration configuration =
    new DefaultWebConfiguration();
  // Umgebung erzeugen.
  webEnvironment = CheckerberryWeb.getInstance().getEnvironment(
    configuration);
  // Umgebung für den Test initialisieren.
  webEnvironment.setUp(this);
}


Zunächst wird eine neue WebConfiguration erzeugt. In diesem Fall wird die Standard-Konfiguration verwendet. Bei Bedarf können Parameter in der Standard-Konfiguration gesetzt werden. Alternativ kann auch eine eigene Konfiguration verwendet werden.

Über CheckerberryWeb wird eine neue Umgebung mit dieser Konfiguration erzeugt und über die Methode setUp initialisiert. In der setUp-Methode startet checkerberry web eine neue Browser-Instanz und navigiert zu der konfigurierten URL. Wenn die zugehörige Webseite vollständig geladen wurde, ist die Setup-Phase beendet und die Testmethode wird aufgerufen.

Nach dem Test wird in der Teardown-Phase die Methode tearDown der checkerberry web-Umgebung aufgerufen. Das folgende Code-Beispiel zeigt eine typische Implementierung.

Beispiel 3.9. Beenden der checkerberry web-Umgebung mit JUnit3

public void tearDown() throws Exception {
  webEnvironment.tearDown();
  webEnvironment = null;
}