Как я могу использовать пакет selenium-webdriver с SauceLabs?

SauceLabs дает примеры написания удаленных тестов с использованием пакета узлов WD. Я предпочитаю пакет selenium-webdriver. Есть ли способ использовать это удаленно вместо этого?


person Anonymous    schedule 16.01.2014    source источник


Ответы (1)


Взяв пример кода из документации selenium-webdriver, мы можем изменить его следующим образом, чтобы он взаимодействовал с облаком селена Sauce Labs. Предполагается, что у вас есть учетные данные в переменных ENV, конечно, вы можете жестко закодировать их, если хотите быть менее безопасными.

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();
person Jonathan Lipps    schedule 16.01.2014
comment
Каков синтаксис запуска тестов в нескольких браузерах? Массив вместо объекта в withCapabilities? - person Steven; 28.05.2015
comment
@Steven: вы должны использовать матрицу env var, передающую SELENIUM_BROWSER. Точно так же я предлагаю использовать SELENIUM_REMOTE_URL вместо usingServer. Таким образом, вы можете запускать локальные тесты на своем рабочем столе без подключения к Sauce. - person Danielle Madeley; 14.07.2015