我使用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>
这种情况的结果:之前有错误。
案例2:
<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是否在网站上链接的解决方案是什么?
要检查元素是否在页面上,请使用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();