问题标签 [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.

0 投票
0 回答
37 浏览

selenium-webdriver - 在 chrome 扩展和自动化测试之间创建通信桥梁

我创建了一个反应网站和扩展,它们使用窗口消息传递(window.postMessagewindow.addEventListener)相互通信

所以现在我正在尝试为这种通信编写自动化测试,我想在我的自动化客户端中接收发送到网站的相同消息。

访问了这个博客,

并试图在堆栈溢出中找到它,但到目前为止没有发现任何有用的东西

我正在尝试的方法我正在尝试 在我的自动化客户端 (wdio) 中添加事件侦听器。这是从扩展中收听相同的消息并验证网站中的内容

如果您需要我的信息来澄清疑问,请发表评论并帮助我摆脱这个错误。

0 投票
0 回答
60 浏览

javascript - 将 find() 与等待/异步一起使用

我正在尝试在下拉菜单中的第二项上单击()。选择器返回一个数组。我可以使用索引单击下拉菜单中的第二项。使用 .find() 函数时,我无法交互/单击第二个项目。我有一种感觉,这是由于不正确地使用了 await/async。

//选择=下拉菜单中的任何项目在此处输入图像描述

问题:是否可以将 await 用于第 2 行,我怎样才能让它点击()?

0 投票
0 回答
108 浏览

javascript - 使用 Webdriverio 时使用等待查找功能不起作用

我正在尝试从下拉菜单中选择一个项目,如图所示。下面的 temp1 包含一个由元素组成的数组。有两个项目,我试图用 getText() find() 来匹配选择(两个项目之一)。

挑战:find() 返回未定义。使用索引1按预期工作。我相信await是导致问题的原因。有什么建议么?如果 find() 不是一个选项,我可以使用哪个其他函数与 await 一起使用?

在此处输入图像描述

更新——这行得通。

问题:是否应该使用 map() 来进行迭代。

0 投票
3 回答
205 浏览

javascript - 使用 Axios 永远不会解决 Promise

我正在使用 WDIO 并定义一个客户报告器以与 testrails api 集成。计划是使用 axios 在测试钩子中发出这些请求。

不幸的是,我无法让 axios 返回有关请求的任何有效数据。在大多数情况下,当我们await响应时,线程完全停止执行,没有任何日志输出。如果我足够吉米有时我可以让它返回一个未解决的承诺,但我无能为力最终解决这个承诺。

同样,在我的任何尝试中,testrails 都没有收到请求(我也测试了其他一些 url,我相当确定问题不在目的地)。

我已经确保网络访问和安全不是因素。我们还尝试使用 axios post 和直接 axios() 方法,但没有运气。

我将复制下面的文件,我添加了大约十几个尝试/配置,每个都附有关于我们得到什么的注释。问题的核心在于 addRun() 方法。

在大多数情况下,我们似乎永远不会解决承诺。有一个例外,我们根本不与响应交互,只需登录 then() 语句。如果我们这样做,我们可以看到那些日志,但是 axios 调用的结果永远不会生效(运行不是在 testrails 中创建的)。

0 投票
0 回答
59 浏览

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 是否有一些变化可能导致这种行为?有没有办法恢复到旧的测试被标记为跳过的方法?

0 投票
1 回答
185 浏览

node.js - Webdriver.io (wdio) - Browserstack - waitforDisplayed 失败

我正在使用 wdio 6 进行一些测试(在将其升级到 7 的过程中)并且我在一个非常简单的测试中收到了这个错误

在运行测试时,我触发了很多次:

最后:

有谁之前经历过这个吗?解决方案是什么?

编辑

我已将 wdio 升级到可用的最新版本,但我仍然遇到此问题。

我在 wdio 的 github 上提交了一个问题:https ://github.com/webdriverio/webdriverio/issues/7145

0 投票
0 回答
220 浏览

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 的内容:

0 投票
1 回答
49 浏览

npm - 酱汁服务不适用于移动测试

我正在使用sauce-service包发送测试(功能文件)的名称并查看它们Sauce Labs,当我使用 Web 测试时一切正常,但不幸的是,当我尝试设置移动配置时,它似乎不起作用。我错过了什么?

我的手机配置:

我的 package.json:

是包装、 、 或其他问题sauce labswebdriverio

我会感谢你的帮助:)

0 投票
0 回答
17 浏览

webdriver-io - webdriverio 全局地图值被重置

我有定义地图的 .js 文件let pageObjectRepoMap = new Map();现在我正在从文件夹中读取 .yaml 文件并将其值添加到上面定义的地图中。在 wdio.conf.js 中执行此操作

现在,当我访问此地图然后获取 {} 地图。可能是什么原因。请帮我。

0 投票
0 回答
33 浏览

javascript - 如何在 wdio junit 报告器 xml 报告中显示跳过的消息

我正在使用带有 Cucumber 集成的 WDIO 浏览器测试功能。我已经定义了一个功能文件,将其中一个测试场景标记为“@skipped”。我已经处理了步骤定义文件中的场景以跳过带有给定标签的测试。报告(与 Jenkins 兼容的 Junit xml 报告)也反映了相同的情况,但是我还想添加跳过的消息(根据架构跳过的消息支持https://llg.cubic.org/docs/junit/)。谁能帮我添加跳过的消息?

这是功能文件代码片段

这是跳过测试的步骤定义片段

这是xml报告