Click.on(link) 与 Navigate.to()

Click.on(link) vs 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(),但我找不到任何方法。

好的,我知道了。罪魁祸首是被测网站,它没有为 link 使用 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,给我展示了打开的页面(在单独的tab中),但是测试的重点还是原来的页面。我将不得不弄清楚如何测试那个 ||:-)