Pregunta

Me gustaría realizar una prueba unitaria (jUnit 4) del comportamiento de mis páginas cuando se hace clic en el botón Atrás (o adelante o actualizar) del navegador.

¿Puedo simular de alguna manera los botones Atrás/Adelante/Actualizar del navegador en una prueba unitaria?¿Existe una clase de utilidad que proporcione dicha funcionalidad?

2da edición:

Entiendo que las instalaciones de prueba de Wicket no simulan un navegador con un historial completo.Según tengo entendido, necesitaría las dos cosas siguientes para simular el comportamiento de un navegador a partir de una prueba unitaria:

(1) Wicket tiene que decirme qué solicitud exacta (p. ej.URL) se realiza cuando llamo WicketTester.startPage() o WicketTester.clickLink().

(2) Wicket tiene que procesar la misma solicitud nuevamente, p.aceptando la URL previamente registrada por (1).

Quiero hacer esto de una manera que sea compatible con WicketTester, FormTester y así sucesivamente mientras uso los buscadores de componentes, las afirmaciones y otras funciones interesantes en estas clases.Eso significa que tengo que emitir las solicitudes desde las instalaciones de Wicket y no desde clientes externos como HttpUnit/HtmlUnit/Selenium.

¿Fue útil?

Solución

No se puede simular la "vuelta" funcionalidad en las pruebas unitarias peatonal incorporada, es completamente fuera del alcance de lo portillo hace, sin embargo, puede probar casi todo lo que va a pasar cuando se hace clic hacia atrás

puesto algo más específico acerca de lo que está tratando de prueba, en general, un botón de retroceso sólo le dará un montón de componentes "independientes" en ventanilla, y se puede probar a los

Otros consejos

Esto no es ciertamente bastante apoyado por WicketTester, que utiliza explícitamente un maniquí WebApplication no apoyar el botón de retroceso para ahorrar recursos.

Sospecho que sería doloroso para simular en Wicket ...

Su mejor opción podría ser utilizar una herramienta de prueba basada en navegador como Selenio RC . No he probado a mí mismo, pero tiene un método goBack() que simulará un clic en el botón de retroceso del navegador.

HtmlUnit , que puede imitar hacia atrás y hacia adelante eventos utilizando el Historia clase.

@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());
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top