Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I use selenium-webdriver package with SauceLabs?

SauceLabs gives examples of how to write remote tests using the WD node package. I prefer the selenium-webdriver package. Is there some way to use that remotely instead?

like image 775
Anonymous Avatar asked Jan 16 '14 19:01

Anonymous


1 Answers

Taking the sample code from the selenium-webdriver docs, we can modify it as follows to talk to Sauce Labs's selenium cloud. It assumes you've got credentials in ENV vars, of course you could hardcode them if you want to be less secure.

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();
like image 163
Jonathan Lipps Avatar answered Oct 10 '22 07:10

Jonathan Lipps