问题标签 [wdio-v6]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
selenium-webdriver - 在 chrome 扩展和自动化测试之间创建通信桥梁
我创建了一个反应网站和扩展,它们使用窗口消息传递(window.postMessage和window.addEventListener)相互通信
所以现在我正在尝试为这种通信编写自动化测试,我想在我的自动化客户端中接收发送到网站的相同消息。
访问了这个博客,
- http://v4.webdriver.io/v3.4/guide/plugins/browserevent.html
- https://webdriver.io/docs/devtools-service#event-listener
并试图在堆栈溢出中找到它,但到目前为止没有发现任何有用的东西
我正在尝试的方法我正在尝试 在我的自动化客户端 (wdio) 中添加事件侦听器。这是从扩展中收听相同的消息并验证网站中的内容
如果您需要我的信息来澄清疑问,请发表评论并帮助我摆脱这个错误。
javascript - 使用 Webdriverio 时使用等待查找功能不起作用
我正在尝试从下拉菜单中选择一个项目,如图所示。下面的 temp1 包含一个由元素组成的数组。有两个项目,我试图用 getText() find() 来匹配选择(两个项目之一)。
挑战:find() 返回未定义。使用索引1按预期工作。我相信await
是导致问题的原因。有什么建议么?如果 find() 不是一个选项,我可以使用哪个其他函数与 await 一起使用?
更新——这行得通。
问题:是否应该使用 map() 来进行迭代。
javascript - 使用 Axios 永远不会解决 Promise
我正在使用 WDIO 并定义一个客户报告器以与 testrails api 集成。计划是使用 axios 在测试钩子中发出这些请求。
不幸的是,我无法让 axios 返回有关请求的任何有效数据。在大多数情况下,当我们await
响应时,线程完全停止执行,没有任何日志输出。如果我足够吉米有时我可以让它返回一个未解决的承诺,但我无能为力最终解决这个承诺。
同样,在我的任何尝试中,testrails 都没有收到请求(我也测试了其他一些 url,我相当确定问题不在目的地)。
我已经确保网络访问和安全不是因素。我们还尝试使用 axios post 和直接 axios() 方法,但没有运气。
我将复制下面的文件,我添加了大约十几个尝试/配置,每个都附有关于我们得到什么的注释。问题的核心在于 addRun() 方法。
在大多数情况下,我们似乎永远不会解决承诺。有一个例外,我们根本不与响应交互,只需登录 then() 语句。如果我们这样做,我们可以看到那些日志,但是 axios 调用的结果永远不会生效(运行不是在 testrails 中创建的)。
junit - wdio-junit-reporter 将重试测试标记为失败
我们使用 junit-reporter 对 mocha 和 wdio 进行了测试,以在管道中生成报告。最近测试作业开始失败,似乎是由于重试测试被标记为失败。
测试最多重试 3 次,我们注意到之前如果测试在第一次运行中失败但在下一次(重试)中通过,第一次运行在报告中被标记为已跳过。下面的示例: [chrome 90.0.4430.212 windows #0-0] ?应该测试一些东西 [chrome 90.0.4430.212 windows #0-0] ✓ 应该测试一些东西
现在,如果测试在第一次运行中失败并在下一次运行中通过,则第一次运行在报告中被标记为失败,导致测试作业失败。下面的示例:[chrome 91.0.4472.114 windows #0-0] ✖ 应该测试一些东西 [chrome 91.0.4472.114 windows #0-0] ✓ 应该测试一些东西
最近 wdio runner 或 junit-reporter 是否有一些变化可能导致这种行为?有没有办法恢复到旧的测试被标记为跳过的方法?
node.js - Webdriver.io (wdio) - Browserstack - waitforDisplayed 失败
我正在使用 wdio 6 进行一些测试(在将其升级到 7 的过程中)并且我在一个非常简单的测试中收到了这个错误
在运行测试时,我触发了很多次:
最后:
有谁之前经历过这个吗?解决方案是什么?
编辑
我已将 wdio 升级到可用的最新版本,但我仍然遇到此问题。
我在 wdio 的 github 上提交了一个问题:https ://github.com/webdriverio/webdriverio/issues/7145
docker - 在 docker 容器中本地执行 WDIO-Test 会引发错误:@wdio/cli:utils: A service failed in the 'onPrepare' hook
我在 docker-container 中本地执行无头 e2e 测试,如下所示:
我在开始时收到此错误消息:
我没有使用 wdio-configuration-file 的 onPrepare-Hook(见下文)。
测试继续进行,实际上每次都成功完成,就像它应该做的那样。在这一点上,简单地抑制这个错误消息对我来说是一个可行的解决方案(因为这个错误不会影响测试结果)。
这里有一个用于在saucelabs上运行的测试的解决方案,但这对我不起作用。但这让我想知道我是否必须在我的 docker-compose-file 中寻找解决方案:
这是我的 wdio-configuration-file 的内容:
npm - 酱汁服务不适用于移动测试
我正在使用sauce-service
包发送测试(功能文件)的名称并查看它们Sauce Labs
,当我使用 Web 测试时一切正常,但不幸的是,当我尝试设置移动配置时,它似乎不起作用。我错过了什么?
我的手机配置:
我的 package.json:
是包装、 、 或其他问题sauce labs
吗webdriverio
?
我会感谢你的帮助:)
webdriver-io - webdriverio 全局地图值被重置
我有定义地图的 .js 文件let pageObjectRepoMap = new Map();
现在我正在从文件夹中读取 .yaml 文件并将其值添加到上面定义的地图中。在 wdio.conf.js 中执行此操作
现在,当我访问此地图然后获取 {} 地图。可能是什么原因。请帮我。
javascript - 如何在 wdio junit 报告器 xml 报告中显示跳过的消息
我正在使用带有 Cucumber 集成的 WDIO 浏览器测试功能。我已经定义了一个功能文件,将其中一个测试场景标记为“@skipped”。我已经处理了步骤定义文件中的场景以跳过带有给定标签的测试。报告(与 Jenkins 兼容的 Junit xml 报告)也反映了相同的情况,但是我还想添加跳过的消息(根据架构跳过的消息支持https://llg.cubic.org/docs/junit/)。谁能帮我添加跳过的消息?
这是功能文件代码片段
这是跳过测试的步骤定义片段
这是xml报告