如何解决CodeceptJS/Puppeteer 只在暂停的会话期间看到元素
我在使用 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',},...
}
任何帮助将不胜感激! :)
解决方法
可以选择waitForNavigation
吗?
https://codecept.io/helpers/Puppeteer/#configuration https://github.com/puppeteer/puppeteer/blob/main/docs/api.md#pagewaitfornavigationoptions
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。