问题标签 [wdio]

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 投票
1 回答
41 浏览

puppeteer - setValue() / addValue() 输入地址栏而不是选定元素

我正在使用 WebdriverIO + devtools:puppeteer + cucumber + Firefox Nightly。

使用setValue() / addValue()时,我输入的第一个字母被输入地址栏中,而不是选定的元素。mse 或 chrome 浏览器不会出现相同测试的问题。

问题:

带有指向搜索栏的红色箭头的浏览器屏幕截图

在此之后,在函数超时之前什么都不会发生

代码示例: 测试:

脚步:

尽管在使用 setValue() 之前单击元素可以解决某些 URL,但这在某些情况下不起作用(例如,当从预登录页面重定向到预输入登录的登录页面时,我无法单击 +密码字段的 setValue)。

希望任何人都知道如何解决或解决所有情况。谢谢。

[更新]

@AnthumChris

由于我使用的是内置 puppeteer,因此默认情况下未定义页面而是我尝试了:

它再次适用于 chrome 和 mse,但对于 ffox nightly 却失败了。

在浏览器请求的 URL (google.com) 中打开后,我收到了下一个错误:

[更新]

我已更改browserURL: 'http://localhost:${rdPort}' browserURL: 'http://${rdPort}'...\node_modules\webdriverio\build\commands\browser\getPuppeteer.js 文件,因此我至少可以连接到 puppeteer.pages 对象,但await (await page.waitForSelector('input[type=text]')).type('hello')操作仍然存在问题:

0 投票
0 回答
43 浏览

docker - WDIO docker run:[1643987609.767][SEVERE]:bind()失败:无法分配请求的地址(99)

使用 Jenkins 在 Docker 中运行 wdio 测试时出错。我不知道如何解决这个问题:(相同的配置在本地环境(windows + docker)上成功运行。

这是 wdio 配置。我使用了默认的 dockerOptions。wdio.conf

之后,我尝试通过 jenkins 运行 UI 测试:

并出现错误。附上日志:

wdio.log

wdio-0-0.log

wdio-chromedriver.log

码头工人日志.txt

0 投票
0 回答
19 浏览

docker - 如何通过 Jenkins 在 docker 中调整 WDIO UI 测试

大家。我尝试通过 Jenkins 在 docker 中运行 WDIO UI 测试。

我已经安装了 wdio-docker-service。并通过配置:

之后,通过 Jenkins 运行。但出现错误:

wdio日志

Chrome驱动程序日志:

我尝试添加 --whitelisted-ips "127.0.0.1" 但它对我不起作用。关于如何解决这个问题的任何想法?

如果在本地机器上运行测试,这个设置对我来说很好。

0 投票
1 回答
37 浏览

javascript - 期望一个数组包含一个使用 webdriver.io 的字符串

如何编写测试以使其期望我的数组包含特定字符串?我已经尝试了下面的内容以及其他一些方法,例如使用array.includes但无法使其正常工作。

0 投票
0 回答
68 浏览

javascript - Appium Wdio 未运行 = 错误 webdriver: RequestError: connect ECONNREFUSED ::1:4723

运行 npx wdio 而不是运行我更多尝试但我没有请总是帮助我这个问题

我的帽子

我的虫子

我的 sample.js 文件

});

0 投票
0 回答
10 浏览

javascript - 使用 Javascript 使用 Appium 进行混合移动应用程序测试中的 ListView 加载器

我无法使用 javascript 在带有 Appium、WDIO 的混合移动应用程序中获取加载程序。我需要抓住装载机并等待装载完成。

0 投票
0 回答
27 浏览

javascript - 如何抑制编辑器控制台上显示的警告日志?

我能够找到测试执行中显示的错误日志,这些日志很难阅读控制台中打印的输出。我在下面附上了我的 package.json 文件和 wdio.conf.js 文件。请对此进行调查,并帮助我找到一个解决方案来抑制此处所附图片中标记的日志。

在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
7 浏览

appium-android - 水平滚动以识别隐藏或动态元素(使用 WDIO + Appium + JS)

我遇到了这个与 appium UI 自动化相关的有趣问题。在我的应用程序中,用户水平滚动操作后动态加载的 UI 元素很少。我试图构建我的自定义方法来对 UI 元素执行水平操作,但没有运气(附上错误截图)。我看到 (x,y) 位置在垂直滚动时效果很好,想知道是否有人做过水平滚动以使隐藏元素可见(动态加载的元素)?如果您对此有任何指示,请告诉我。提前致谢。注意:在下面的屏幕截图中,您可以看到最后一个可见元素是 16x20,但之后还有一个按钮“20x30”,我正在尝试选择它。我尝试了以下选项:首先: browser.execute('mobile: scroll', {element: element, direction: 'left'}); 第二: screenAction.swipeLR(element,5); 我在自定义方法中传递的元素是最后一个可见元素,即 16x20:

0 投票
1 回答
11 浏览

webdriver-io - WebdriverIO SevereServiceError 没有停止测试运​​行

我已经设置了一个自定义 wdio 服务(根据文档),它用于为Angles 自动化仪表板创建构建。

作为此服务的一部分,我想在无法创建构建并停止运行时使用SevereServiceError 。但是,在我的示例测试中,它会引发错误并继续测试运行。在此处查看日志:

您可以通过克隆示例 repo并运行来自己运行示例npm run test

注意:这应该会失败,因为它正在寻找Angles 仪表板的本地实例。

为什么 SevereServiceError 没有停止测试运​​行的任何想法?