当断言找到一个元素时,使用.exists是否必要?

rss*_*ncs 3 testcafe

看起来,

t.expect(Selector("[data-testid='foo']")).ok();

和,

t.expect(Selector("[data-testid='foo']").exists).ok();

结果相同,所以有.exists必要吗?

mlo*_*sev 10

Selector("[data-testid='foo']")返回一个Promise。该t.expect(Selector("[data-testid='foo']")).ok();声明将永远无论是否有网页或不是元素通过。这是因为Promise实例将强制转换为true。  

t.expect(Selector("[data-testid='foo']").exists).ok();是正确的断言。它使用智能断言查询机制检查页面上的元素