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中),但是测试的重点还是原来的页面。我将不得不弄清楚如何测试那个 ||:-)
我的测试系统是一个网站,它从配置文件和索引页面动态创建页面,这些页面带有可点击的图标。到目前为止,我找不到一种方法来遍历索引页面上的图标并测试所有链接页面。
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中),但是测试的重点还是原来的页面。我将不得不弄清楚如何测试那个 ||:-)