var username = process.env.BROWSERSTACK_USERNAME || "BROWSERSTACK_USERNAME"; var accessKey = process.env.BROWSERSTACK_ACCESS_KEY || "BROWSERSTACK_ACCESS_KEY"; require('colors'); var chai = require('chai'); chai.should(); var wd; try { wd = require('wd'); } catch( err ) { wd = require('../../lib/main'); } var browser = wd.remote("hub.browserstack.com", 80, username, accessKey); // optional extra logging browser.on('status', function(info) { console.log(info.cyan); }); browser.on('command', function(eventType, command, response) { console.log(' > ' + eventType.cyan, command, (response || '').grey); }); browser.on('http', function(meth, path, data) { console.log(' > ' + meth.magenta, path, (data || '').grey); }); var desired = { platform: 'MAC', project: "examples", name: "This is an example async test", build: "WD BrowserStack Sample Test" }; browser.init(desired, function() { browser.get("http://admc.io/wd/test-pages/guinea-pig.html", function() { browser.title(function(err, title) { title.should.include('WD'); browser.elementById('i am a link', function(err, el) { browser.clickElement(el, function() { browser.eval("window.location.href", function(err, href) { href.should.include('guinea-pig2'); browser.quit(); }); }); }); }); }); });