Testcafe 是否使用 Selector.count 和 Selector.exists 重试断言?
Does Testcafe retry assertions with Selector.count and Selector.exists?
在 testcafe 文档中,我发现带有 count
和 exists
"execute immediately regardless of the selector timeout". However in wait-mechanism-for-assertions 段落文档的断言指出“TestCafe 不断重新计算实际值,直到它与预期值或断言超时匹配通过”。
那么,exists
的断言是立即执行还是使用默认的“断言超时”(3000 毫秒)?
有区别Selector Timeout and Asseertion Timeout。
选择器超时指定选择器尝试return 节点的时间(以毫秒为单位)。
断言超时指定 TestCafe 尝试成功执行断言的时间量(以毫秒为单位)。
对于 exists
和 count
属性,选择器超时将被忽略:
// 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)
在 testcafe 文档中,我发现带有 count
和 exists
"execute immediately regardless of the selector timeout". However in wait-mechanism-for-assertions 段落文档的断言指出“TestCafe 不断重新计算实际值,直到它与预期值或断言超时匹配通过”。
那么,exists
的断言是立即执行还是使用默认的“断言超时”(3000 毫秒)?
有区别Selector Timeout and Asseertion Timeout。
选择器超时指定选择器尝试return 节点的时间(以毫秒为单位)。 断言超时指定 TestCafe 尝试成功执行断言的时间量(以毫秒为单位)。
对于 exists
和 count
属性,选择器超时将被忽略:
// 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)