Testcafe 是否使用 Selector.count 和 Selector.exists 重试断言?

Does Testcafe retry assertions with Selector.count and Selector.exists?

在 testcafe 文档中,我发现带有 countexists "execute immediately regardless of the selector timeout". However in wait-mechanism-for-assertions 段落文档的断言指出“TestCafe 不断重新计算实际值,直到它与预期值或断言超时匹配通过”。

那么,exists 的断言是立即执行还是使用默认的“断言超时”(3000 毫秒)?

有区别Selector Timeout and Asseertion Timeout

选择器超时指定选择器尝试return 节点的时间(以毫秒为单位)。 断言超时指定 TestCafe 尝试成功执行断言的时间量(以毫秒为单位)。

对于 existscount 属性,选择器超时将被忽略:

// NOTE: there is no timeout here
console.log(await Selector('non-existing-element').count)

但是,将应用断言超时:

// NOTE: there is a timeout
await t.expect(Selector('non-existing-element').count).eql(100)