执行 TestCafe 断言的正确方法是啥

Posted

技术标签:

【中文标题】执行 TestCafe 断言的正确方法是啥【英文标题】:What is the correct way to perform TestCafe assertions执行 TestCafe 断言的正确方法是什么 【发布时间】:2020-06-28 02:03:26 【问题描述】:

我基本上被困在一块岩石和一个坚硬的地方之间。我正在使用 TestCafe 编写一些自动化脚本,我需要一些关于最佳实践的帮助。基本上我想知道创建一个断言的最佳方法,该断言在执行之前等待一小段时间直到元素出现。

我当前的实现:

const setTimeout = 5000;

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

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

【问题讨论】:

【参考方案1】:

如果您需要为特定断言定义超时,请将选项对象传递给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

【讨论】:

甜蜜。谢谢你的建议。这似乎工作得更好。【参考方案2】:

我希望你想增加选择器超时。尝试使用此标志

--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

【讨论】:

以上是关于执行 TestCafe 断言的正确方法是啥的主要内容,如果未能解决你的问题,请参考以下文章

在 gdb 中中断失败断言的正确方法是啥?

在 testcafe 中断言空文本框

Promise.allSettled 中多个选择器的 TestCafe 断言似乎具有误导性

如何在 Testcafe 断言中的 1 个可能参数上添加 2 个常量?

在Python中断言变量类型的正确方法

testcafe 冻结执行