Mit Selenium WebDriver 2.0 in der Praxis

Möchte ich schreiben Selenium Testfälle in JUnit und Teste meine Projekte in verschiedenen Browsern und ich möchte, um die Vorteile der Tatsache, dass alle Selen-Treiber implementieren die gleiche Schnittstelle.

Jeder Testfall sollte wie folgt Aussehen:

package fm;

import org.openqa.selenium.WebElement;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import static org.junit.Assert.*;

public class HomepageTest {

    @Test
    public void testTitle(WebDriver driver) {
        driver.get("http://localhost/");
        assertEquals("Foo", driver.getTitle());
    }

    @Test
    public void testSearchForm(WebDriver driver) {
        //...
    }

}

Den vergangen WebDriver-Implementierung gesteuert werden irgendwo zentral. Ich werde wahrscheinlich benötigen, um überschreiben von JUnit Verhalten und ich hoffe, es ist möglich.

Ich soll es so machen, um zu vermeiden, zwei Dinge:

  • Code Wiederholung: Wenn jeder Testfall würde, initialisieren Sie alle getesteten Browser in @, Bevor Sie die test-suite hätte eine Menge von wiederholten code, der schwer zu pflegen.
  • Speed-test-suite: Wenn ich noch zentralisierte Kontrolle über die Reihenfolge und übergeben WebDriver-Implementierungen konnte ich problemlos verwalten zu öffnen, z.B. Firefox, führen Sie alle Testfälle, die es, schließen Sie es und öffnen Sie die nächste browser. Wenn jeder Testfall in der Lage zu öffnen und zu schließen-Browser auf seine eigene, Sie würde einen viel Zeit, um jedem test ausgeführt werden.

Jemand eine Idee, wie sollte ich es tun? Danke.

Schreibe einen Kommentar