3

我使用 TestCafe 进行测试,需要检查 img 是否具有正确的路径。有两个img元素:

情况1:

<div class="x-grid3-cell-inner x-grid3-col-2" unselectable="on" id="dynamicID1">
     <img src="images/icons/bullet_wh.png">
     <img src="images/icons/bullet_re.png" id="dynamicID2">
</div>

本例结果:之前有错误。

案例二:

<div class="x-grid3-cell-inner x-grid3-col-2" unselectable="on" id="dynamicID3">
     <img src="images/icons/bullet_gr.png">
     <img src="images/icons/bullet_wh.png" id="dynamicID4">
</div>

本案例的结果:bullet_gr.png 在网站上。一切正常!

在我的测试中,我.expect(Selector('img[src="images/icons/bullet_gr.png"]'))用来检查bullet_gr.png在我的网站上是否可见。不幸的是,每次访问的 ID 都是不同的(它们在用户登录时呈现并且每次访问都是唯一的)。所以我不能使用.expect(Selector('#dynamicID4')).

一旦我.expect(Selector('img[src="images/icons/bullet_gr.png"]'))在测试中使用该行,一旦用户登录测试,它就会立即完成,并且我得到测试成功的输出。

检查网站上是否链接了 bullet_gr.png 的解决方案是什么?

4

1 回答 1

3

要检查元素是否在页面上,请使用exists属性:

await t.expect(Selector('img[src="images/icons/bullet_gr.png"]')).ok()

或者

const img = Selector('img').withAttribute('src', 'images/icons/bullet_gr.png');

await t.expect(img.exists).ok();
于 2017-12-18T08:40:53.240 回答