我想单元测试(JUnit 4中)我的网页的行为时,浏览器的后退按钮(或进或刷新)点击。

我可以采用某种模拟单元测试浏览器的后退/前进/刷新按钮? 是否有一个工具类,其提供这样的功能?

<强>第二编辑:

据我所知,检票试验设施不模拟浏览器的完整历史。从我的理解,我需要以下两件事情从一单元测试模拟浏览器的行为:

(1)检票必须告诉我什么当我打电话WicketTester.startPage()WicketTester.clickLink()确切请求(例如URL)制成。

(2)检票具有再次处理相同的请求,例如通过接受先前由(1)记录的URL。

我想这样做的方式是WicketTesterFormTester兼容等等,因为我使用的是分量发现者,断言,并在这些类的更多好的功能。这意味着,我必须发出从检票设施从外部客户一样HttpUnit的/的HtmlUnit /硒的要求,而不是。

有帮助吗?

解决方案

您不能模拟检票单元测试“返回”功能,这完全是出于什么检票口呢,你可以试但几乎所有的东西的范围,当您单击后退会发生的。

有关你正在尝试测试,通常后退按钮只会给你一堆的小门“沾边”的组件,并且可以测试这些

后是更具体的

其他提示

这是相当肯定不是WicketTester,其明确地使用伪WebApplication的不支持返回按钮以保存资源的支持。

我怀疑这将是痛苦的检票,以模拟...

您最好的选择可能是使用基于浏览器的测试工具,如硒RC 。我还没有尝试过自己,但它确实有一个goBack()方法,将模拟在浏览器后退按钮的点击。

请查看 的HtmlUnit,你可以模仿背部和使用的记录类。

@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());
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top