单击.on(链接)与Navigate.to()



我的测试系统是一个网站,它从配置文件和带有可点击图标的索引页面中动态创建页面。到目前为止,我还找不到一种方法来遍历索引页面上的图标并测试所有链接的页面。

it('lets us test all the pages', () =>
actorCalled('Jasmine').attemptsTo(
Loop.over(EntryPage.SynthLinks).to(
Ensure.that(Loop.item<ElementFinder>(), isClickable()),
Click.on(Loop.item<ElementFinder>()),
Wait.for(Duration.ofSeconds(10)),
Log.the(Website.title()),
//Navigate.back(),
),
));

到目前为止,这个循环一直有效,它向我显示了Chrome中的所有页面,但记录的网站标题始终是索引页面中的标题,所以我无法对点击的页面进行任何测试。(评论的Navigate.back()也破坏了测试。(我试图从Loop.item<ElementFinder>()中读取点击页面的url,所以我可以使用Navigate.To(),但我找不到任何方法。

好的,我发现了。罪魁祸首是测试中的网站,它没有使用href作为链接,而是使用了一些js代码:

[...]
var Subwindows = [];
function openSub(name) {
var neighbour = window.open(name);
Subwindows.push(neighbour);
}
[...]
<a onclick="openSub('../SynthPage.html?Mdl=access+virus+b')"><img src="../images/virus.jpg" class="icon" alt="access virus b"></a>

这个想法是记住打开的页面,并在完成后关闭它们。因此,优秀的Chrome忠实地执行了js,并向我显示了打开的页面(在一个单独的选项卡中(,但测试的重点仍然是原始页面。我必须弄清楚,如何测试这个||:-(

相关内容

最新更新