如何在测试执行期间仅针对此特定测试覆盖.testcaferc.json选择器断言参数

How to override .testcaferc.json selector assertion parameters during test execution for only this specific test

提问人:newnick988888 提问时间:10/10/2023 更新时间:10/12/2023 访问量:22

问:

您好,我有一个小问题,我需要覆盖来自我的.testcaferc.json文件的默认选择器超时,该文件具有一些类似于以下内容的属性 =>

"selectorTimeout": 20000,
"pageLoadTimeout": 30000,
"assertionTimeout": 20000,

现在,在测试执行期间,为了精确检查可见性,即使元素在我的 DOM 中不可用,它也会等待 20 秒(我还通过将选择器超时和断言超时从 .testcaferc.json 调整到 5000 来检查,并且似乎工作正常)。为什么我不能在测试执行期间覆盖这些超时属性,如下所示 =>

  await t.expect(await myTestPanel.saveButton.selector.visible).notOk('',  {timeout: 5000});

我当前使用的 testcafe 版本是 “testcafe”: “2.5.0” 和 “testcafe-angular-selectors”: “0.4.1”。任何形式的帮助都受到高度赞赏。谢谢

测试 自动化 选择器 TestCafe

评论


答:

0赞 Alexey Popov 10/12/2023 #1

您可以将该方法某个选择器的选项超时一起使用。例如:

const headerSelector = Selector('#article-header');

await t.expect(headerSelector.with({ timeout: 100 }).innerText).eql('Thank you, John Smith!');