执行 TestCafe 断言的正确方法是什么

What is the correct way to perform TestCafe assertions

我基本上进退两难。我正在使用 TestCafe 编写一些自动化脚本,我需要一些关于最佳实践的帮助。基本上,我想知道创建一个断言的最佳方法,该断言会等待一小段时间,直到元素出现后再执行。

我当前的实现:

const setTimeout = 5000;

await t
    .expect(this.papernote.exists, { timeout: setTimeout })
    .ok('The trail is not visible');

执行测试时,超时似乎没有得到遵守。这意味着 TestCafe 将等待默认时间(我相信是 3 秒)然后断言将失败

希望您能增加选择器超时时间。尝试使用这个标志

--selector-timeout 500000

你也可以试试

--assertion-timeout 10000

或者您可以尝试等待元素,

await element.with({ visibilityCheck: true }).with({timeout: 10000});

https://devexpress.github.io/testcafe/documentation/using-testcafe/command-line-interface.html

如果您需要为特定断言定义超时,请将选项对象传递给 ok 方法:

await t
    .expect(this.papernote.exists)
    .ok('The trail is not visible', { timeout: setTimeout });

详见文档文章:https://devexpress.github.io/testcafe/documentation/test-api/assertions/assertion-api.html#ok