Frage

ich Unit-Test möchte (jUnit 4) das Verhalten meiner Seiten, wenn der Zurück-Button des Browsers (oder nach vorne oder Refresh) angeklickt wird.

Kann ich simulieren irgendwie den Browser des Vor / Zurück / Refresh-Tasten in einem Unit-Test? Gibt es eine Utility-Klasse, die eine solche Funktionalität bietet?

2. Edit:

Ich verstehe, dass die Wicket Prüfanlagen keinen Browser mit voller Geschichte simulieren. Von meinem Verständnis habe ich die folgenden zwei Dinge musste ein Browser-Verhalten von einem Unit-Test zu simulieren:

(1) Wicket hat mir zu sagen, was genau Anfrage (zum Beispiel URL) gemacht wird, wenn ich WicketTester.startPage() oder WicketTester.clickLink() nennen.

(2) Wicket hat dieselbe Anforderung erneut zu verarbeiten, z.B. indem Sie die URL zuvor aufgezeichnete Annahme von (1).

Ich möchte dies in einer Art und Weise tun, die mit WicketTester, FormTester kompatibel ist und so weiter, als ich die Komponente Findern bin mit behauptet und netteres Funktionalität in diesen Klassen. Das bedeutet, dass ich die Anfragen von Wicket Einrichtungen erlassen und nicht von externen Clients wie Httpunit / Htmlunit / Selen.

War es hilfreich?

Lösung

Sie können nicht simulieren „zurück“ Funktionalität in Wicket Unit-Tests ist es ganz aus dem Rahmen dessen, was Wicket der Fall ist, können Sie jedoch fast alles testen, was passieren wird, wenn Sie auf zurück

post etwas genauer zu wissen, was Sie zu Test versuchen, in der Regel eine Zurück-Taste werden Sie nur ein paar „freistehend“ Komponenten in Wicket und Sie können diese

testen

Andere Tipps

Das ist ziemlich sicher nicht von WicketTester unterstützt, die explizit eine Attrappe verwendet WebApplication nicht die Zurück-Taste unterstützenden Ressourcen zu speichern.

Ich vermute, es wäre schmerzhaft in Wicket zu simulieren ...

Ihre beste Wette könnte sein, einen Browser-basierten zu verwenden Test-Tool wie Selenium RC . Ich habe es selbst nicht ausprobiert, aber es hat eine goBack() Methode, die einen Klick auf der Browserrücktaste simulieren wird.

Schauen Sie sich Htmlunit , können Sie imitieren zurück und vorwärts Ereignisse mit der Geschichte Klasse.

@Test
public void testHistory() throws IOException {
    // Create a web client
    final WebClient webClient = new WebClient();

    // Surf to a page
    final HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net/");

    // Click "Get started" link
    page.getAnchorByHref("gettingStarted.html").click();

    // Get History
    History history = webClient.getCurrentWindow().getHistory();

    // Current page
    assertEquals("http://htmlunit.sourceforge.net/gettingStarted.html",
                 history.getUrl(history.getIndex()).toString());

    // Go back one page
    history.back();
    assertEquals("http://htmlunit.sourceforge.net/",
                 history.getUrl(history.getIndex()).toString());
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top