node.js - 你如何在循环中为不同的浏览器运行 webdriver io 测试?

标签 node.js selenium webdriver-io

以下脚本有效,但是,似乎当一个测试中出现错误时,它会导致所有其他测试也失败。如何使它们彼此独立运行?

var combos = [
['Windows 7', 'firefox'],
['Windows 7', 'chrome'],
['Windows 7', 'iexplore'],
['Windows 7', 'opera'],
['Windows 8', 'firefox'],
['Windows 8', 'chrome'],
['Windows 8', 'iexplore'],
['Windows 8', 'opera']
];

combos.forEach(function(currentValue) {
var options = {
    desiredCapabilities: {
        browserName: currentValue[1],
        platform: currentValue[0]
    },
    host: 'ondemand.saucelabs.com',
    port: 80,
    user: [redacted],
    key: [redacted],
    logLevel: "verbose"
};

    var webdriverio = require('webdriverio');
    var client = webdriverio
    .remote(options)
    .init()
    .url('http://google.com')
    ...

});

最佳答案

将 Try-Catch 添加到您的测试应该可以解决这个问题:

try {
    var webdriverio = require('webdriverio');
    var client = webdriverio
    .remote(options)
    .init()
    .url('http://google.com')
    ...
}
catch(err) {
    //log the error
} 

关于node.js - 你如何在循环中为不同的浏览器运行 webdriver io 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31196290/

相关文章:

selenium - 如何使 Xvfb 显示可见?

webdriver - Chromedriver 与 webdriverio - init 上未处理的请求

javascript - 在 package.json 中使用变量

angularjs - 在 AngularJS 中加载图像目录

node.js - Node.js 中多态数组的序列化

node.js - POSTMAN 无法读取请求正文

firefox - 如何使用 Selenium 命令打开 Firefox 错误控制台?

java - 在 Appium 中滑动而不输入 x 和 y 坐标的替代方法?

node.js - 如何使用 Node JavaScript 通过电子邮件发送 Selenium 测试报告者的输出

javascript - 如何在 Webdriver 脚本中禁用/避免 xdg-open 弹出窗口