【问题标题】:How can I use selenium-webdriver package with SauceLabs?如何在 SauceLabs 中使用 selenium-webdriver 包?
【发布时间】:2014-02-05 21:19:11
【问题描述】:

SauceLabs 提供了如何使用 WD 节点包编写远程测试的示例。我更喜欢 selenium-webdriver 包。有什么方法可以远程使用它吗?

【问题讨论】:

    标签: javascript selenium-webdriver saucelabs


    【解决方案1】:

    从 selenium-webdriver 文档中获取示例代码,我们可以对其进行如下修改,以与 Sauce Labs 的 selenium cloud 对话。它假定您在 ENV vars 中获得了凭据,当然如果您想降低安全性,您可以对它们进行硬编码。

    var webdriver = require('selenium-webdriver');
    
    var sauce = 'http://ondemand.saucelabs.com:80/wd/hub';
    var driver = new webdriver.Builder().
        usingServer(sauce).
        withCapabilities({
            browserName: 'Chrome',
            platform: 'Windows 2012',
            name: 'Sample selenium-webdriver test',
            username: process.env.SAUCE_USERNAME,
            accessKey: process.env.SAUCE_ACCESS_KEY
        }).
        build();
    
    driver.get('http://www.google.com');
    driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');
    driver.findElement(webdriver.By.name('btnG')).click();
    driver.wait(function() {
        return driver.getTitle().then(function(title) {
            return title === 'webdriver - Google Search';
        });
    }, 1000);
    
    driver.quit();
    

    【讨论】:

    • 在多个浏览器中运行测试的语法是什么? withCapabilities 中的数组而不是对象?
    • @Steven:您应该使用传递SELENIUM_BROWSER 的环境变量矩阵。同样,我建议使用SELENIUM_REMOTE_URL 而不是usingServer。这样您就可以在桌面上运行本地测试,而无需连接到 Sauce。
    猜你喜欢
    • 2013-06-11
    • 2016-05-03
    • 2016-07-27
    • 2013-12-31
    • 2012-07-10
    • 2016-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多