2014-01-16 5 views

ответ

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(); 
+0

Какой синтаксис для запуска тестов в нескольких браузерах? Массив вместо объекта в withCapabilities? – Steven

+0

@Steven: вы должны использовать матрицу env var, передающую 'SELENIUM_BROWSER'. Аналогично, я предлагаю использовать 'SELENIUM_REMOTE_URL' вместо' usingServer'. Таким образом, вы можете запускать локальные тесты на рабочем столе без подключения к Sauce. –

 Смежные вопросы

  • Нет связанных вопросов^_^