问题标签 [webdriver-io]

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 回答
2220 浏览

webdriver-io - 将 WebdriverIO 'spec' 测试作为节点文件运行

我是 webdriverio 的新手。我不明白它应该如何在节点应用程序中配置和使用。导入 webdriverio 时如何运行“规范”测试?可以做到吗?

0 投票
1 回答
786 浏览

webdriver-io - Webdriverio - 元素不起作用

我正在尝试使用 Elements 来获取元素数组,但它在这里不起作用。

任何人都可以帮助我吗?十分感谢。

这是我的代码:

现在我正在尝试获取所有选项元素:

但是我得到了 'res.length' 的 'undefined' 结果。

如果我使用 getText 那么我可以获得正确的结果:

0 投票
2 回答
2074 浏览

webdriver-io - 如何使用 WebdriverIO 从 input type="date" 中清除日期

我现在正在使用WebdriverIO和开发一个网络应用程序。这些天我试图从输入中设置一个日期type="date",我得到了错误

无效元素状态:元素必须是用户可编辑的才能清除它。

并发现我可以通过使用来摆脱错误,addValue()但任何 API 仍然不会清除该值。

也得到

无效元素状态:元素必须是用户可编辑的才能清除它。

如何从表单中删除值?

0 投票
0 回答
723 浏览

node.js - 使用 WebdriverIO 的 Firefox 基本身份验证

我使用 WebdriverIO 创建我的 Selenium 测试。

我尝试在我的登台网站上传递凭据。我尝试了一些解决方案:

  • Firefox 配置文件:对我来说不适用于 WebdriverIO,在 Java 中可以
  • URL中的用户名和密码如下:http://user:password@site.com/
0 投票
1 回答
168 浏览

webdriver-io - 如何单击 Webdriver 中的所有匹配元素?

如何单击与选择器匹配的所有元素,而不仅仅是第一个?

0 投票
1 回答
865 浏览

javascript - Selenium 通过 Node.js 和 webdriverIO:超时无效

测试文件.js

.timeouts没有效果。屏幕截图几乎是在 moveToObject 之后立即拍摄的,无论我选择使用哪个参数调用.timeouts(['scrip'|'implicit'|'page load'], ms).

我也得到与回调函数相同的结果:

有什么建议么?

0 投票
3 回答
3603 浏览

webdriver-io - Webdriver.io:有没有办法点击文本?

Webdriver.io中,有没有办法单击(按其元素)文本?

例如,某人单击并打开了一个下拉菜单,现在希望单击并通过其文本选择所需的元素。

0 投票
1 回答
1008 浏览

javascript - 在 webdriver-io 中使用 beforeEach

我想知道如何在 webdriver-io 中使用 beforeEach。我正在测试一个 CMS,并希望能够在每次测试之前登录并认为 beforeEach 会很好,但这不起作用。终端说有错误,找不到元素。我基本上希望它每次都让我登录,而不必编写 browser.login()。

那是我的登录命令。

这是我的beforeEach。

我也尝试过返回函数调用。

0 投票
1 回答
1627 浏览

angularjs - 加载角度 SPA 时出现 org.openqa.selenium.TimeoutException

我正在使用chimp.js,它通过一些纤维魔法增强了 webdriver.io,以便可以以同步方式定义代码。这是代码:

第一个When执行得很好。第二个When也有效,我只是看不到

登录

在控制台上。两者都在同一个网站上运行,并且都单击同一个按钮。在第二种情况下,登录成功后,浏览器被重定向到一个 Angular SPA。在这里一切都正确加载,但就是这样。回调永远不会发生。

运行测试--debug --log=command我看到这是最后一行(在超时之前)

将日志级别切换为详细,然后等待约 5 分钟,我收到以下错误:

平均需要 3-7 秒来加载 SPA 的第一页,初始化数据,...(chrome 停止显示页面正在加载)。超时设置为 10 秒,所以我想增加它,通过

但这也无济于事。知道我能做什么/尝试吗?

再次澄清一下——登录页面是一个简单的静态服务器端呈现的 HTML。用户登录后,他们会被重定向到基于 Angular 1.4 的 SPA。使用错误的凭据按下登录按钮可能会起作用,因为我没有被重定向到 SPA,而是返回到登录页面。

所有测试都在 chrome 中运行,在 Mac OS X El Capitan 上

更新:

现在它工作了一次。之后我注意到,当我重新加载网站时,脚本会继续运行,以防它卡住。

此处有问题的页面以这种方式工作:

  • /访问页面并初始化角度
  • ui-router 路由到#/defaultroute
  • 控制器被初始化并下载一些初始数据
  • 新控制器在内部初始化ng-repeat并下载更多数据

所以,是的,它需要大量的数据下载并等待整个页面显示出来。也许这会给 chimp.js 或 webdriver.io 带来麻烦?

当然,从browser.click(...);to切换browser.key(['Enter']);也不起作用。卡住和重新加载浏览器的相同问题可以解决它。似乎 silenium 可能没有让页面实际完成加载。这就是为什么重新加载页面可以修复它。知道如何解决吗?

顺便说一句,我还打开了一个关于此的问题:https ://github.com/xolvio/chimp/issues/165

更新 2:

在 Firefox 和 PhantomJS 中它可以工作,Safari 根本不运行。

也许此时我只想知道错误在哪里,如果它是一个已知的错误,......

0 投票
3 回答
2575 浏览

javascript - 从 webdriver.io 获取数据后动态构建 Mocha 测试

我正在寻找一种在异步获取数据后定义 Mocha 测试的解决方案。

目前,我使用gulp-webdriver通过 Selenium 获取 HTML 内容。我想测试某些 HTML 标签结构。

例如,我想从 HTML 页面中获取所有按钮结构。

1° 在 Mocha Before() 中,我得到按钮:

2° 之后,我想单独测试每个按钮it

找到的唯一解决方案是在使用data_drivenleche.withData插件启动 Mocha 测试之前使用 Gulp 加载 HTML 和提取按钮。

您是否知道直接在 Mocha 测试定义中的另一种解决方案?

提前致谢,