SauceLabs дает примеры того, как писать удаленные тесты с использованием пакета узлов WD. Я предпочитаю пакет selenium-webdriver. Есть ли способ использовать это дистанционно?Как я могу использовать пакет selenium-webdriver с SauceLabs?
9
A
ответ
18
Взяв образец кода из документов selenium-webdriver, мы можем изменить его следующим образом, чтобы поговорить с селеновым облаком Sauce Labs. Предполагается, что у вас есть учетные данные в 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
@Steven: вы должны использовать матрицу env var, передающую 'SELENIUM_BROWSER'. Аналогично, я предлагаю использовать 'SELENIUM_REMOTE_URL' вместо' usingServer'. Таким образом, вы можете запускать локальные тесты на рабочем столе без подключения к Sauce. –