问题标签 [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.
javascript - 在点击之前我总是需要等待吗?
我正在使用WebdriverIO和 Mocha/Chai 为我的网站编写一些测试,但是当我这样做时:
该元素尚不存在(未渲染)。不应该.click()
在实际尝试单击元素之前隐式等待页面完成加载吗?
如果我在它之前拍下这条线,它会很好:
但我不想waitFor
在每个.setValue()
, .click()
,.getText()
或任何其他API 命令之前都抛出一个。我错过了什么吗?
是否有等待整个页面加载的命令,或者在访问元素之前进行隐式等待的设置?
javascript - 使用 JavaScript 驱动 Selenium2(通过 WebDriver)的选项有哪些?
我正在设置单页 webapp 的自动验收测试。我想用 JavaScript(或 CoffeeScript)编写测试套件。使用 WebDriver 兼容接口(例如Selenium WebDriver、Sauce Labs、Browserstack或PhantomJS )驱动浏览器和模拟器有哪些选择?我知道selenium-webdriver (aka WebDriverJs) 和webdriverjs。还有什么可用的吗?他们如何比较成熟度和功能?
npm - 如何在有效的环境中使用 Mocha 和 webdriverjs
我用npm
.
但是运行mocha,好像没有找到webdriverjs
模块。使其工作的唯一方法是提供完整的模块路径,如下所示:
如何使节点模块路径可用于 mocha 之类的应用程序?
谢谢
webdriver - How to correctly waitFor() a saveScreenShot() end of execution
Here is my full first working test:
Ok, it does not do much, but after working many hours to get the environement correctly setup, it passed. Now, the only way I got it working is by playing with the waitFor() method and adjust the delays. It works, but I still do not understand how to surely wait for a png file to be saved on disk. As I will deal with tests orders, I will eventually get hung up from the test script before securely save the file.
Now, How can I improve this screen save sequence and avoid loosing my screenshot ?
javascript - 使用 WebDriver 或 WebDriverJS 同时处理两个浏览器
我打算测试一个简单的实时网络应用程序。这个应用程序是用 JavaScript 编写的,它显示登录用户的“存在状态”。如果用户A记录他的状态正在从“非活动”修改为“活动”。此操作会反映到登录到应用程序的所有其他用户。登录的用户 B 实时显示用户 A 的存在以进行更改。
我想测试这种情况。测试处理程序打开一个浏览器,执行写入操作,同时更新第二个浏览器。
有哪些工具可用?这可以用 WebDriver/WebDriverJs 完成吗?我可以通过 WebDriver 处理两个线程/会话吗?有什么例子吗?
selenium-webdriver - Selenium 服务器无法启动 Chromium
我有一组用https://github.com/camme/webdriverjs编写的验收测试。我希望通过 Selenium Server (WebDriver) 和 Sauce Labs 对真实浏览器运行测试。Firefox 启动良好,但 Chromium(来自 Debian Wheezy 软件包的 30.0.1599.101)不能。通过设置{ desiredCapabilities: { browserName: "chrome" } }
我得到ERROR COULDNT GET A SESSION ID
和 Selenium Server 控制台输出显示
如果我启动 Selenium Server 并-Dwebdriver.chrome.driver=/usr/bin/chromium
出现新的浏览器窗口,但测试永远不会开始运行,超时后我会得到相同的ERROR COULDNT GET A SESSION ID
结果,并且 Selenium Server 控制台输出显示
javascript - webdriverjs:预期的字符串有一个对象
在发现 Mocha 和 webdriverjs 之后,我想试一试,在阅读了readme.md
https://github.com/camme/webdriverjs中的内容后,我开始了一个简单的测试。
获取 google 的输入元素,期望它的类型是文本。我最终得到一个inputType
变量中的对象。
AssertionError: 期望 { Object (sessionId, desiredCapabilities, ...) } 是一个字符串
javascript - 使用 webdriverJS 更改 phantomJS 的视口大小
使用 webdriverJS ( https://github.com/camme/webdriverjs )为 phantomJS 设置初始窗口大小时遇到问题。我尝试的是:
但是,这似乎不起作用,因为屏幕截图仍然很小。也许我只是在文档中遗漏了一点,但直到现在我找不到正确的键值组合来获得正确大小的窗口。
coffeescript - 使用 WebDriverJS 发送 Tab 和 Enter 键
这似乎有点基本,但它一直给我带来麻烦。我有一个 UL LI 列表,我将其设置为选项卡。当我在浏览器中进行测试时,单击并将焦点放在第二个选项卡上,然后单击键盘上的 TAB 键并输入它会将焦点放在第三个选项卡上并选择它。
我正在尝试使用 WebDriverJS 在我的测试中使用 chai、onecolor 等使用以下咖啡脚本代码来模拟这一点。部分是给我的问题是我可以让所有正常字符正常运行,但似乎没有特殊字符使用此文档JSON WIRE PROTOCOL在我的酱汁实验室 selenium 工作。我正在使用的实现来自http://webdriver.io/并且测试在https://saucelabs.com/中运行。
selenium - 使用 WebdriverJS 时如何访问错误?
我们正在使用一流的WebdriverJS(带有 Selenium)对我们的 Web 应用程序执行验收测试。一切正常,当我们使用 Firefox 和 Safari 时,我们的测试成功执行。
但是,当我们使用 PhantomJS 时,我们的测试会因无用的错误而失败。就好像... Javascript 甚至没有在客户端页面中运行!如果 PhantomJS 的 javascript 环境出现错误,就会导致这种情况。不幸的是,在将 PhantomJS 与 WebdriverJS 一起使用时,我似乎找不到访问 Javascript 错误的方法。
如果我们直接使用 PhantomJS,我们可以简单地(来自PhantomJS 站点):
page
不幸的是,在 WebdriverJS 中使用 PhantomJS 时,我不知道如何访问这个神秘的对象。有什么想法吗?