Pergunta

Eu gostaria de testar o teste de unidade (JUNIT 4) O comportamento das minhas páginas quando o botão traseiro do navegador (ou avançar ou atualizar) é clicado.

De alguma forma, posso simular os botões de volta/para frente/atualização do navegador em um teste de unidade? Existe uma classe de utilidade que fornece essa funcionalidade?

2ª edição:

Entendo que as instalações de teste de wicket não simulam um navegador com uma história completa. Pelo meu entendimento, eu precisaria das duas coisas a seguir para simular o comportamento de um navegador a partir de um teste de unidade:

(1) Wicket precisa me dizer qual solicitação exata (por exemplo, URL) é feita quando eu ligo WicketTester.startPage() ou WicketTester.clickLink().

(2) O wicket deve processar a mesma solicitação novamente, por exemplo, aceitando o URL anteriormente registrado por (1).

Eu quero fazer isso de uma maneira que seja compatível com WicketTester, FormTester E assim por diante, enquanto estou usando os localizadores de componentes, as afirmações e uma funcionalidade mais boa nessas classes. Isso significa que eu tenho que emitir as solicitações de instalações de wicket e não de clientes externos como httpunit / htmlunit / selenium.

Foi útil?

Solução

Você não pode simular a funcionalidade "de volta" nos testes de unidade de postigos, ela está completamente fora do escopo do que o wicket faz, no entanto, você pode testar quase tudo que acontecerá quando clicar

Poste algo mais específico sobre o que você está tentando testar, geralmente um botão de volta apenas lhe dá um monte de componentes "desanexados" no wicket, e você pode testá -los

Outras dicas

tente fabric.js .

Ele desenha coisas na tela e tem importação / exportação SVG.
Ele lida com as formas e caminhos comuns do SVG.O padrão SVG completo (fontes, por exemplo) não é suportado, mas talvez seja só necessário usar um subconjunto dele.

Verificação de saída Htmlunit, você pode imitar eventos de volta e avançar usando o História classe.

@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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top