State of the Automation




            @admc
Tuesday, April 24, 12
Ich: github.com/admc
        •     I’m a web developer
        •     OSAF 2007, released Windmill Project
        •     Slide 2008, released WatiN, FlexPilot
        •     Mozilla 2009, released MozMill
        •     Sauce Labs 2010 - 2012
              •     Selenium Builder
              •     Jellyfish
              •     WD, WD-Candy



Tuesday, April 24, 12
Introduction

                Thanks for having us!
                You may know all of this, already.
                Conclusions from years of pain.
                I hope you find something new to take away.




Tuesday, April 24, 12
The History
                 Selenium Core - 2004

                 Windmill - 2007

                 Node.JS - Appears at JS.EU - 2009

                 Soda - Node drives Selenium 1!

                 JSDOM, Phantom, Zombie, Tobi - 2010

                 WebDriver - Starts talking about mobile

                 WebDriver + Selenium = Selenium 2




Tuesday, April 24, 12
Test Stack
                        Manual, otherwise still not
                        impressed.


                        WebDriver: wd-candy (wd pronounced
                        wood), WebDriverJS, webdriver-js


                        Zombie, Phantom, Tobi



                        QUnit
                        Jasmine




                        Vows
                        Mocha
Tuesday, April 24, 12
The Holy Grail




Tuesday, April 24, 12
Do what works

          •     Immediate value
          •     Easy for developers
          •     Some is better than none




Tuesday, April 24, 12
6 Commandments of test
          •     Only run after passing headless
          •     Small succinct test cases
          •     No test case dependencies
          •     Abstract fragile locators
          •     Parallelize test runs to the max
          •     Focus on the money path



Tuesday, April 24, 12
What do I test?

          •     Metrics for pages (Mixpanel?)
          •     Analytics for browsers (Google?)
          •     Money path!




Tuesday, April 24, 12
Evangelism

          •     Your testing work is never done
          •     Selenium Conf 2011 - Automated Battle Scars
                http://youtu.be/vZTi02tSs_M




Tuesday, April 24, 12
Continuous Integration
          	 is HOT
                    Jenkins (commercial: cloudbees)
                    Travis-CI: OSS Only
                    Waterfall test flow, fail early
                    Only SMS on critical
                    Incredible speed up in development
                    Plugins for Selenium/WebDriver



Tuesday, April 24, 12
WebDriver (Se 2)

                  W3C Standard
                  Name situation
                  Selenium Conference: Community
                  Does web automation amazingly
                  Cares about mobile
                  Selenium Grid



Tuesday, April 24, 12
We accidentally..


     All the browsers




                            We’re just getting started..




Tuesday, April 24, 12
Mobile Native

          •     A work in progress
          •     Searching for a community
          •     NativeDriver -- awesome, discontinued :-(
          •     calabash -- appears to have momentum




Tuesday, April 24, 12
Future

                Full mobile web coverage
                as part of Selenium
                Faster Android emulation solution
                Faster browser testing due to browser side
                optimizations
                Blessed mobile native solution with WebDriver API’s
                Robots.


Tuesday, April 24, 12
Sauce Labs
                Open Source projects!
                Se Builder -> Node Selenium Libraries
                Cleaner integration: QUnit, Jasmine
                Integration with Selenium Grid
                Better ways to
                •       debug your JS via the cloud
                •       profile your JS on the cloud


Tuesday, April 24, 12
Seriously, Robots




                        http://bitbeam.org
Tuesday, April 24, 12
The Clouds
          •     General
                •       EC2, RackSpace, MacMiniCloud etc.
          •     Specific
                •       Sauce OnDemand - Functional, Client JS Unit
                •       Testling - Client JS Unit
                •       Browser Stack - Client JS Unit
                •       TestBot - Client Functional


Tuesday, April 24, 12
Vielen Dank Berlin.JS!

                Thanks Berlin.JS for hosting!
                Keeping the JS Community growing in .de
                Allowing us to come talk to you!




Tuesday, April 24, 12
Links
                Mocha: http://visionmedia.github.com/mocha/
                Calabash: https://github.com/calabash/
                Selenium Grid: http://selenium-grid.seleniumhq.org/
                WD: https://github.com/admc/wd
                WD-Candy: https://github.com/admc/wd-candy
                Vows: http://vowsjs.org/
                QUnit: http://docs.jquery.com/Qunit
                WebDriverJS: http://code.google.com/p/selenium/wiki/WebDriverJs
                webdriver-js: https://github.com/dmachi/webdriver-js
                Selenium/WebDriver: http://seleniumhq.org/
                Zombie.JS: https://github.com/assaf/zombie
                Tobi: https://github.com/learnboost/tobi
                Se-Builder: http://www.sebuilder.com


Tuesday, April 24, 12
Q&A




                Bierzeit?
Tuesday, April 24, 12

Berlin.JS Meetup

  • 1.
    State of theAutomation @admc Tuesday, April 24, 12
  • 2.
    Ich: github.com/admc • I’m a web developer • OSAF 2007, released Windmill Project • Slide 2008, released WatiN, FlexPilot • Mozilla 2009, released MozMill • Sauce Labs 2010 - 2012 • Selenium Builder • Jellyfish • WD, WD-Candy Tuesday, April 24, 12
  • 3.
    Introduction Thanks for having us! You may know all of this, already. Conclusions from years of pain. I hope you find something new to take away. Tuesday, April 24, 12
  • 4.
    The History Selenium Core - 2004 Windmill - 2007 Node.JS - Appears at JS.EU - 2009 Soda - Node drives Selenium 1! JSDOM, Phantom, Zombie, Tobi - 2010 WebDriver - Starts talking about mobile WebDriver + Selenium = Selenium 2 Tuesday, April 24, 12
  • 5.
    Test Stack Manual, otherwise still not impressed. WebDriver: wd-candy (wd pronounced wood), WebDriverJS, webdriver-js Zombie, Phantom, Tobi QUnit Jasmine Vows Mocha Tuesday, April 24, 12
  • 6.
  • 7.
    Do what works • Immediate value • Easy for developers • Some is better than none Tuesday, April 24, 12
  • 8.
    6 Commandments oftest • Only run after passing headless • Small succinct test cases • No test case dependencies • Abstract fragile locators • Parallelize test runs to the max • Focus on the money path Tuesday, April 24, 12
  • 9.
    What do Itest? • Metrics for pages (Mixpanel?) • Analytics for browsers (Google?) • Money path! Tuesday, April 24, 12
  • 10.
    Evangelism • Your testing work is never done • Selenium Conf 2011 - Automated Battle Scars http://youtu.be/vZTi02tSs_M Tuesday, April 24, 12
  • 11.
    Continuous Integration is HOT Jenkins (commercial: cloudbees) Travis-CI: OSS Only Waterfall test flow, fail early Only SMS on critical Incredible speed up in development Plugins for Selenium/WebDriver Tuesday, April 24, 12
  • 12.
    WebDriver (Se 2) W3C Standard Name situation Selenium Conference: Community Does web automation amazingly Cares about mobile Selenium Grid Tuesday, April 24, 12
  • 13.
    We accidentally.. All the browsers We’re just getting started.. Tuesday, April 24, 12
  • 14.
    Mobile Native • A work in progress • Searching for a community • NativeDriver -- awesome, discontinued :-( • calabash -- appears to have momentum Tuesday, April 24, 12
  • 15.
    Future Full mobile web coverage as part of Selenium Faster Android emulation solution Faster browser testing due to browser side optimizations Blessed mobile native solution with WebDriver API’s Robots. Tuesday, April 24, 12
  • 16.
    Sauce Labs Open Source projects! Se Builder -> Node Selenium Libraries Cleaner integration: QUnit, Jasmine Integration with Selenium Grid Better ways to • debug your JS via the cloud • profile your JS on the cloud Tuesday, April 24, 12
  • 17.
    Seriously, Robots http://bitbeam.org Tuesday, April 24, 12
  • 18.
    The Clouds • General • EC2, RackSpace, MacMiniCloud etc. • Specific • Sauce OnDemand - Functional, Client JS Unit • Testling - Client JS Unit • Browser Stack - Client JS Unit • TestBot - Client Functional Tuesday, April 24, 12
  • 19.
    Vielen Dank Berlin.JS! Thanks Berlin.JS for hosting! Keeping the JS Community growing in .de Allowing us to come talk to you! Tuesday, April 24, 12
  • 20.
    Links Mocha: http://visionmedia.github.com/mocha/ Calabash: https://github.com/calabash/ Selenium Grid: http://selenium-grid.seleniumhq.org/ WD: https://github.com/admc/wd WD-Candy: https://github.com/admc/wd-candy Vows: http://vowsjs.org/ QUnit: http://docs.jquery.com/Qunit WebDriverJS: http://code.google.com/p/selenium/wiki/WebDriverJs webdriver-js: https://github.com/dmachi/webdriver-js Selenium/WebDriver: http://seleniumhq.org/ Zombie.JS: https://github.com/assaf/zombie Tobi: https://github.com/learnboost/tobi Se-Builder: http://www.sebuilder.com Tuesday, April 24, 12
  • 21.
    Q&A Bierzeit? Tuesday, April 24, 12