在htmlunit中同时保存多个页面

时间:2017-07-04 20:30:55

标签: java junit htmlunit

我目前正致力于使用htmlunit创建功能测试。

在我正在测试的网页上,有一个锚点,可在单击时在新标签页中打开页面。需要单击此锚点以显示其他复选框和按钮。

如果我想在点击锚点后保存页面,它将看起来像这样:

HtmlAnchor terms = tb.getFirstByXPath("//*[@id=\"terms_link\"]");

tb = terms.click();

但是,上面的代码保存了在新选项卡中打开的网页,而不是单击锚点的网页。

我有什么方法可以保存点击锚点的页面,或者可能保存两个html页面?

1 个答案:

答案 0 :(得分:0)

因此,经过一番混乱后,我发现任何更改页面的操作都会在浏览器窗口中注册,无论您是否在操作后保存它们。

为了保存点击动作后出现的弹出窗口,只需将结果页面分配给HtmlPage对象。

HtmlPage page = button.click

您可以使用以下代码获取上一个窗口并保存其修改过的内容。如果要保存弹出窗口和原始页面,只需将它们保存到不同的对象名称即可。

page2 =(HtmlPage)(webClient.getWebWindows().get(0).getEnclosedPage());