【发布时间】:2017-09-04 21:50:40
【问题描述】:
我有以下测试:
fixture('Minimal reproduction')
.page('http://www.sport-conrad.com/');
test('Navigate to item-details', async t => {
await t
.click('.dropdown-toggle')
.click('.productData:first-of-type a')
});
当我运行它时
testcafe chrome test.js
它按预期工作。
如果我这样做testcafe nightmare test.js,我会收到错误The element that matches the specified selector is not visible.。
我追踪到这一事实,显然电子浏览器的噩梦使用打开页面的视口导致桌面导航消失,因此.dropdown-toggle 不再可见。所以我通过添加手动调整大小来解决这个问题:
fixture('Minimal reproduction')
.page('http://www.sport-conrad.com/');
test('Navigate to item-details', async t => {
await t
.resizeWindow(1024, 900)
.click('.dropdown-toggle')
.click('.productData:first-of-type a')
});
所以我的第一个问题:虽然这可行,但是否有另一种方法可以提供 testcafe 在噩梦模式下打开浏览器的维度?
...但是:现在.dropdown-toggle 回来了,我希望测试能再次通过,就像以前一样。
不幸的是,现在我收到另一个错误:The specified selector does not match any element in the DOM tree. ...这似乎与第二个选择器有关。我不知道为什么。
所以我的第二个问题:这里的噩梦浏览器有什么不同?我在另一个页面上尝试了类似的测试用例,它似乎可以像 chrome 一样正常加载页面。
我还尝试了一些解决方法,例如强制浏览器等待一段时间,但没有任何效果。
也许有人可以在这里为我指出正确的方向? :)
【问题讨论】:
标签: javascript testing acceptance-testing nightmare testcafe