【发布时间】:2021-04-14 01:24:50
【问题描述】:
我在使用 CodeceptJS 和 puppeteer 测试 React 应用程序时遇到了一个非常令人沮丧的问题 - 它仅在暂停模式下才找到具有自定义定位器的元素。
我的自定义定位器是data-test-id。我使用I.seeElement("$id-of-element-here") 和I.seeNumberOfElements("$test-id", X) 定位元素。
当我的测试暂停并且我手动进入测试的每个步骤时,这完美工作,但是当测试从开始到执行时不起作用完成 - 根本找不到目标元素。
有时我可以用I.wait(X) 或I.refreshPage() 来解决这个问题,但我现在遇到了一个没有任何帮助的情况。
我确实使用 Chrome 和 Chromium 的开发工具在 HTML 中看到了 data-test-id 属性。也没有错别字。
显示目标元素的示例并没有多大意义,因为问题似乎是随机发生的,我无法看到发生地点/时间的任何模式。
这些是自定义定位器插件的设置,在codecept.conf.js:
plugins{
...
customLocator: {
enabled: true,
attribute: 'data-test-id',
},
...
}
任何帮助将不胜感激! :)
【问题讨论】:
标签: reactjs puppeteer codeceptjs