Skip to content

Instantly share code, notes, and snippets.

@dlebech
Created December 18, 2015 15:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dlebech/46a36c8ef27e052ff760 to your computer and use it in GitHub Desktop.
Save dlebech/46a36c8ef27e052ff760 to your computer and use it in GitHub Desktop.
Node + Mocha + Selenium
'use strict';
const By = require('selenium-webdriver').By,
until = require('selenium-webdriver').until,
firefox = require('selenium-webdriver/firefox'),
test = require('selenium-webdriver/testing'),
utils = require('../utils'),
server = require('../server');
describe('register', function() {
this.timeout(15000);
let driver;
before(done => {
//const profile = new firefox.Profile();
//profile.setPreference('webdriver.load.strategy', 'unstable');
//const options = new firefox.Options().setProfile(profile);
driver = new firefox.Driver();
utils.wipeMongo(() => server.start(done));
});
after(done => {
driver.quit();
server.stop(done);
});
test.it('should register a new user', () => {
// Get front-page and click register
driver.get(server.url);
driver.findElement(By.css('.trk-join-receiptful')).click();
driver.wait(until.titleIs('Receiptful Registration'), 1000);
// Enter details and submit
driver.findElement(By.name('firstName')).sendKeys('John');
driver.findElement(By.name('lastName')).sendKeys('Doe');
driver.findElement(By.name('email')).sendKeys('foo@example.com');
driver.findElement(By.name('password')).sendKeys('test');
driver.findElement(By.name('passwordConfirm')).sendKeys('test');
driver.findElement(By.name('privacyAccepted')).click();
driver.findElement(By.id('submit-button')).click();
driver.wait(until.elementLocated(By.id('storeType')), 1000);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment