Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

If you like it

then you shoulda put a test on it

Modern acceptance testing

Why bother?

confidence

refactoring

refactorCodeExamples()

refactorSlides()

dontForgetToHowToSpeak()

prepareForPresentation()

<!-- TODO: Improve presentation -- >

documentation

Can't you just use $lib?

Context switching

var foo = 'foo';
//dammit!
String foo = "foo";

slooooooooooooooooooow

non-deterministic failures

x-browser woes

infrastructure maintenance

maven and java badness redundant dependencies

how do you do, fellow kids?

selenium-webdriver on node

github inspectocat
'nightwatch' : function (client) {
    client
          .url('https://www.github.com/')
          .pause(2000)
          .assert.attributeEquals('octocat', 'src', 'octocat.png')
          .end();
'dalek' : function (test) {
    test
          .open('https://www.github.com/')
          .waitFor('!!github.ready')
          .assert.attr('octocat', 'src', 'octocat.png')
          .done();
'intern' : function () {
    return this.remote
          .get('https://www.github.com/')
          .waitUntilTrue('!!github.ready')
          .elementById('octocat')
          .getAttribute('src')
          .then( function (src) {
              expect(src).to.equal('octocat.png');
          });
webdriver-based
expressive chainable interface
BDD-style
node

AMD vs. commonjs

module loading in lego!

external config

sauce labs

customisation

what's missing?

debugging challenges

thens

Verifying Url Requests

dalekmob

nightmob

internmob

Mille grazie! <3

Framework Comparison - bit.ly/putatestonit

Use a spacebar or arrow keys to navigate