SlideShare a Scribd company logo
1 of 36
Ben Emmons
Web & Mobile Services, UITSAutomated Testing
10/28/2014
Why automation?
10/28/2014
“Any time you have a human at a
keyboard doing ANYTHING,
that process will not scale.”
- Chad Smith, Global Knowledge
10/28/2014
One Site
10/28/2014
Easy Patching
10/28/2014
One Multisite
10/28/2014
Medium Patching
10/28/2014
Multiple Environments
10/28/2014
Arduous Patching
10/28/2014
340+ Sites
10/28/2014
Sisyphean Patching
10/28/2014
Solution?
10/28/2014
Automate Security Audits
10/28/2014
Automate Patching
10/28/2014
Automate Syncing
…and clearing cache,
and renewing SLAs,
and security scan reminders,
and customer notifications,
and…
10/28/2014
Automated Testing
10/28/2014
Why is that so hard?
10/28/2014
First, pick engine(s)
Gotchas:
• IE can only run reliably on a Windows OS
 Ramification: testing solution requires Windows
• Latest Safari will only run on Mac hardware
 Ramification: no AWS option and good luck hosting a
Mac in the UITS server room…
10/28/2014
Next, pick driver
Gotchas:
• IE Compatibility Mode is not reliable: http://stackoverflow.com/a/11418046
• TrifleJS is “very much in beta” and cannot emulate
versions on Windows Server 2012
• WebDriver is slow
• Node.js solutions target a specific layout engine
• Very little Sahi documentation and small community
10/28/2014
Unit testing?
10/28/2014
… How about Functional?
10/28/2014
… Ready to run the tests?
10/28/2014
… Don’t forget your CSS!
10/28/2014
Why bother?
- Jackson Murtha
http://iterate.blendinteractive.com/preventing-upgrade-headaches-with-selenium-webdriver/
10/28/2014
Making the right choice
• Avoid choice paralysis http://addyosmani.com/blog/front-end-choice-paralysis/
“The challenge is that when presented with an abundance of choice, you
can feel increasingly unsure of whether yours is the right one. Instead of
being happy with our decisions, we’re filled with anxiety. Did I pick the
wrong one? Would I have been better off with something else? What
would my friends have used? ... If you’re an experienced developer
speaking to someone stuck on a decision, try to help them simplify their
options.” - Addy Osmani
• Unit vs. Functional http://www.helpscout.net/blog/functional-testing-casperjs/
“No one cares that your Unit tests are passing if your application doesn’t
function. Unit testing makes sure you are using quality ingredients.
Functional testing makes sure your application doesn't taste like crap. ...
[In] the real world, most developers barely have time for one kind of
automated test, let alone two. If that describes you, I would strongly
encourage you to go with Functional testing.” - Brett Jones
10/28/2014
Our Stack
• Amazon Web Services: https://aws.amazon.com/
• Selenium Grid: https://code.google.com/p/selenium/wiki/Grid2
• IE, Ff, Ch: https://github.com/conceptsandtraining/modernie_selenium
• Safari: UITS Mac colo or Sauce Labs free
• Mobile: http://appium.io/
• WebdriverIO: http://webdriver.io/
• Unit Testing: Buster.js
https://github.com/webdriverio/webdriverio/blob/master/examples/webdriverjs.with.buster.js
• WebdriverCSS: https://github.com/webdriverio/webdrivercss
• WebdriverCSS Adminpanel:
https://github.com/webdriverio/webdrivercss-adminpanel
10/28/2014
Eas(ier) Button
• Getting a test environment up and running is half
the battle. Do yourself a favor and just pay out.
• If getting budgetary approval is akin to an act of
Congress, at the very least use our AWS
CloudFormation template:
https://bitbucket.org/uitsweb/selenium-grid-ec2
10/28/2014
Demo
10/28/2014
Demo
10/28/2014
Demo
10/28/2014
Demo
10/28/2014
Demo
http://www.whatsmybrowser.org/  node wdio.js
10/28/2014
Demo
http://coolepochcountdown.com/  node wdcss.js
10/28/2014
Demo
http://coolepochcountdown.com/  node wdcss.js
10/28/2014
Next Steps
• Update Selenium Grid template to use NAT private
subnet
• Firewall exception to allow AWS Selenium Grid to
access test sites (or use SSH reverse proxy)
• Update Selenium Grid template to use Modern.IE VMs
• Drush script for dynamically obtaining top menu links
• Update our Drupal automation tool to launch (and
respond to) automated testing of top site pages
• Set up Appium on Mac OS X server and arrange colo
• Profit!
10/28/2014
Questions?

More Related Content

Viewers also liked

Managing Large Selenium Grid
Managing Large Selenium Grid�Managing Large Selenium Grid�
Managing Large Selenium Griddimakovalenko
 
Smarter ways to do selenium automation @ work, Selenium, automation
Smarter ways to do selenium automation @ work, Selenium, automationSmarter ways to do selenium automation @ work, Selenium, automation
Smarter ways to do selenium automation @ work, Selenium, automationRIA RUI Society
 
Testing with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous DeploymentTesting with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous DeploymentMax Klymyshyn
 
Selenium and Sauce Labs
Selenium and Sauce LabsSelenium and Sauce Labs
Selenium and Sauce Labshugs
 
Selenium grid workshop london 2016
Selenium grid workshop london 2016Selenium grid workshop london 2016
Selenium grid workshop london 2016Marcus Merrell
 
Get Started With Selenium 3 and Selenium 3 Grid
Get Started With Selenium 3 and Selenium 3 GridGet Started With Selenium 3 and Selenium 3 Grid
Get Started With Selenium 3 and Selenium 3 GridDaniel Herken
 
Run Selenium Tests With Jenkins and BrowseEmAll
Run Selenium Tests With Jenkins and BrowseEmAllRun Selenium Tests With Jenkins and BrowseEmAll
Run Selenium Tests With Jenkins and BrowseEmAllDaniel Herken
 
Scaling and Managing Selenium Grid
Scaling and Managing Selenium GridScaling and Managing Selenium Grid
Scaling and Managing Selenium Griddimakovalenko
 

Viewers also liked (9)

Managing Large Selenium Grid
Managing Large Selenium Grid�Managing Large Selenium Grid�
Managing Large Selenium Grid
 
Smarter ways to do selenium automation @ work, Selenium, automation
Smarter ways to do selenium automation @ work, Selenium, automationSmarter ways to do selenium automation @ work, Selenium, automation
Smarter ways to do selenium automation @ work, Selenium, automation
 
Testing with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous DeploymentTesting with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous Deployment
 
Selenium and Sauce Labs
Selenium and Sauce LabsSelenium and Sauce Labs
Selenium and Sauce Labs
 
Selenium grid workshop london 2016
Selenium grid workshop london 2016Selenium grid workshop london 2016
Selenium grid workshop london 2016
 
Selenium-Grid-Extras
Selenium-Grid-ExtrasSelenium-Grid-Extras
Selenium-Grid-Extras
 
Get Started With Selenium 3 and Selenium 3 Grid
Get Started With Selenium 3 and Selenium 3 GridGet Started With Selenium 3 and Selenium 3 Grid
Get Started With Selenium 3 and Selenium 3 Grid
 
Run Selenium Tests With Jenkins and BrowseEmAll
Run Selenium Tests With Jenkins and BrowseEmAllRun Selenium Tests With Jenkins and BrowseEmAll
Run Selenium Tests With Jenkins and BrowseEmAll
 
Scaling and Managing Selenium Grid
Scaling and Managing Selenium GridScaling and Managing Selenium Grid
Scaling and Managing Selenium Grid
 

Similar to automated-testing-final

When & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile ApplicationsWhen & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile ApplicationsTechnologyAssociationOregon
 
Creating testing tools to support development
Creating testing tools to support developmentCreating testing tools to support development
Creating testing tools to support developmentChema del Barco
 
Best Practices in Mobile CI (webinar)
Best Practices in Mobile CI (webinar)Best Practices in Mobile CI (webinar)
Best Practices in Mobile CI (webinar)Sauce Labs
 
Automated Exploratory Testing
Automated Exploratory TestingAutomated Exploratory Testing
Automated Exploratory TestingJustin Ison
 
Mobile Test Automation Framework : Presented By Shankar Garg
Mobile Test Automation Framework : Presented By Shankar GargMobile Test Automation Framework : Presented By Shankar Garg
Mobile Test Automation Framework : Presented By Shankar GargoGuild .
 
Justin Ison
Justin IsonJustin Ison
Justin IsonCodeFest
 
Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Dan Cuellar
 
Discover the power of QA automation testing
Discover the power of QA automation testingDiscover the power of QA automation testing
Discover the power of QA automation testingSoftweb Solutions
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test AutomationSauce Labs
 
Testing for Android: When, Where, and How to Successfully Use Test Automation
Testing for Android: When, Where, and How to Successfully Use Test AutomationTesting for Android: When, Where, and How to Successfully Use Test Automation
Testing for Android: When, Where, and How to Successfully Use Test AutomationTrent Peterson
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingPerfecto by Perforce
 
Automating iOS App's Analytics with XCUITest
Automating iOS App's Analytics with XCUITestAutomating iOS App's Analytics with XCUITest
Automating iOS App's Analytics with XCUITestIgor Dorovskikh
 
Stop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo EuteneuerStop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo EuteneuerJAXLondon_Conference
 
Tips To Enhance Your Cross Browser Testing With Minimal Effort.pdf
Tips To Enhance Your Cross Browser Testing With Minimal Effort.pdfTips To Enhance Your Cross Browser Testing With Minimal Effort.pdf
Tips To Enhance Your Cross Browser Testing With Minimal Effort.pdfpCloudy
 

Similar to automated-testing-final (20)

Przyszłość ma na imię Mobile – testowanie i automatyzacja testów aplikacji mo...
Przyszłość ma na imię Mobile – testowanie i automatyzacja testów aplikacji mo...Przyszłość ma na imię Mobile – testowanie i automatyzacja testów aplikacji mo...
Przyszłość ma na imię Mobile – testowanie i automatyzacja testów aplikacji mo...
 
Automation
AutomationAutomation
Automation
 
When & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile ApplicationsWhen & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile Applications
 
Creating testing tools to support development
Creating testing tools to support developmentCreating testing tools to support development
Creating testing tools to support development
 
Automation
Automation Automation
Automation
 
Automated testing web application
Automated testing web applicationAutomated testing web application
Automated testing web application
 
Best Practices in Mobile CI (webinar)
Best Practices in Mobile CI (webinar)Best Practices in Mobile CI (webinar)
Best Practices in Mobile CI (webinar)
 
Advanced Appium
Advanced AppiumAdvanced Appium
Advanced Appium
 
Automated Exploratory Testing
Automated Exploratory TestingAutomated Exploratory Testing
Automated Exploratory Testing
 
Mobile Test Automation Framework : Presented By Shankar Garg
Mobile Test Automation Framework : Presented By Shankar GargMobile Test Automation Framework : Presented By Shankar Garg
Mobile Test Automation Framework : Presented By Shankar Garg
 
Justin Ison
Justin IsonJustin Ison
Justin Ison
 
Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016
 
Discover the power of QA automation testing
Discover the power of QA automation testingDiscover the power of QA automation testing
Discover the power of QA automation testing
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
 
Testing for Android: When, Where, and How to Successfully Use Test Automation
Testing for Android: When, Where, and How to Successfully Use Test AutomationTesting for Android: When, Where, and How to Successfully Use Test Automation
Testing for Android: When, Where, and How to Successfully Use Test Automation
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
 
Automating iOS App's Analytics with XCUITest
Automating iOS App's Analytics with XCUITestAutomating iOS App's Analytics with XCUITest
Automating iOS App's Analytics with XCUITest
 
Stop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo EuteneuerStop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo Euteneuer
 
Comparison manual & automation
Comparison manual & automationComparison manual & automation
Comparison manual & automation
 
Tips To Enhance Your Cross Browser Testing With Minimal Effort.pdf
Tips To Enhance Your Cross Browser Testing With Minimal Effort.pdfTips To Enhance Your Cross Browser Testing With Minimal Effort.pdf
Tips To Enhance Your Cross Browser Testing With Minimal Effort.pdf
 

automated-testing-final