问题标签 [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.
webdriver-io - 将 WebdriverIO 'spec' 测试作为节点文件运行
我是 webdriverio 的新手。我不明白它应该如何在节点应用程序中配置和使用。导入 webdriverio 时如何运行“规范”测试?可以做到吗?
webdriver-io - Webdriverio - 元素不起作用
我正在尝试使用 Elements 来获取元素数组,但它在这里不起作用。
任何人都可以帮助我吗?十分感谢。
这是我的代码:
现在我正在尝试获取所有选项元素:
但是我得到了 'res.length' 的 'undefined' 结果。
如果我使用 getText 那么我可以获得正确的结果:
webdriver-io - 如何使用 WebdriverIO 从 input type="date" 中清除日期
我现在正在使用WebdriverIO
和开发一个网络应用程序。这些天我试图从输入中设置一个日期type="date"
,我得到了错误
无效元素状态:元素必须是用户可编辑的才能清除它。
并发现我可以通过使用来摆脱错误,addValue()
但任何 API 仍然不会清除该值。
也得到
无效元素状态:元素必须是用户可编辑的才能清除它。
如何从表单中删除值?
node.js - 使用 WebdriverIO 的 Firefox 基本身份验证
我使用 WebdriverIO 创建我的 Selenium 测试。
我尝试在我的登台网站上传递凭据。我尝试了一些解决方案:
- Firefox 配置文件:对我来说不适用于 WebdriverIO,在 Java 中可以
- URL中的用户名和密码如下:
http://user:password@site.com/
webdriver-io - 如何单击 Webdriver 中的所有匹配元素?
如何单击与选择器匹配的所有元素,而不仅仅是第一个?
javascript - Selenium 通过 Node.js 和 webdriverIO:超时无效
测试文件.js
.timeouts
没有效果。屏幕截图几乎是在 moveToObject 之后立即拍摄的,无论我选择使用哪个参数调用.timeouts(['scrip'|'implicit'|'page load'], ms).
。
我也得到与回调函数相同的结果:
有什么建议么?
webdriver-io - Webdriver.io:有没有办法点击文本?
在Webdriver.io中,有没有办法单击(按其元素)文本?
例如,某人单击并打开了一个下拉菜单,现在希望单击并通过其文本选择所需的元素。
javascript - 在 webdriver-io 中使用 beforeEach
我想知道如何在 webdriver-io 中使用 beforeEach。我正在测试一个 CMS,并希望能够在每次测试之前登录并认为 beforeEach 会很好,但这不起作用。终端说有错误,找不到元素。我基本上希望它每次都让我登录,而不必编写 browser.login()。
那是我的登录命令。
这是我的beforeEach。
我也尝试过返回函数调用。
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 根本不运行。
也许此时我只想知道错误在哪里,如果它是一个已知的错误,......
javascript - 从 webdriver.io 获取数据后动态构建 Mocha 测试
我正在寻找一种在异步获取数据后定义 Mocha 测试的解决方案。
目前,我使用gulp-webdriver通过 Selenium 获取 HTML 内容。我想测试某些 HTML 标签结构。
例如,我想从 HTML 页面中获取所有按钮结构。
1° 在 Mocha Before() 中,我得到按钮:
2° 之后,我想单独测试每个按钮it
:
找到的唯一解决方案是在使用data_driven或leche.withData插件启动 Mocha 测试之前使用 Gulp 加载 HTML 和提取按钮。
您是否知道直接在 Mocha 测试定义中的另一种解决方案?
提前致谢,