Skip to content

Instantly share code, notes, and snippets.

@dino-su
Last active January 7, 2016 07:32
Show Gist options
  • Save dino-su/bcf0ef3514752372f62e to your computer and use it in GitHub Desktop.
Save dino-su/bcf0ef3514752372f62e to your computer and use it in GitHub Desktop.
Selenium Bootstrap

Test with Firefox

$ BROWSER=firefox mocha selenium.js

Test with Chrome

$ BROWSER=chrome mocha selenium.js

'use strict';
var webdriver = require('selenium-webdriver');
function saveScreenshot(data, filename) {
var fs = require('fs');
var path = require('path'),
file;
filename = filename || 'ss.png';
file = path.join(__dirname,filename);
fs.writeFileSync(file, data, 'base64');
}
function Browser(browserName) {
this.driver = new webdriver.Builder().forBrowser(browserName).build();
}
Browser.prototype = {
captureScreenShot: function(callback) {
this.driver.takeScreenshot().then(function(data) {
saveScreenshot(data);
callback();
});
}
};
module.exports = Browser;
'use strict';
var browser = process.env.BROWSER || 'phantomjs';
function Config() {
switch(browser) {
case 'firefox':
return 'firefox';
case 'chrome':
return 'chrome';
case 'phantom':
return 'phantomjs';
case 'phantomjs':
return 'phantomjs';
default:
throw new Error('Undefined Browser:' + browser);
}
}
module.exports = Config;
/* global describe, before, it, after */
'use strict';
var Browser = require(__dirname + '/browser');
var browserName = require(__dirname + '/config')();
describe('Selenium', function() {
this.timeout(5000);
var browser;
before(function() {
browser = new Browser(browserName);
});
it('should return ok', function(done) {
browser.driver.get('http://www.google.com/ncr');
browser.captureScreenShot(function() {
done();
});
});
after(function() {
browser.driver.quit();
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment