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

时间:2020-03-17 00:19:28

标签: javascript automated-tests e2e-testing testcafe browser-automation

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

我当前的实施方式:

const setTimeout = 5000;

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

执行测试时,似乎没有尊重超时。意味着TestCafe将等待默认时间(我相信3秒),然后声明将失败

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:3)

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