SlideShare a Scribd company logo
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Selenium at Scale
Advanced tips for success in open source testing in 2017
Web: perfectomobile.com Twitter: @perfectomobile
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
What We’ll Cover
● From Selenium 2.0 to 3.0
● The Role of Open Source in Continuous Testing
● Quality Across Platforms: Mobile+Web
● General Q & A
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Poll: Concerning Selenium updates...
● I have to upgrade more than one (my) machine
● We upgrade as soon as a new stable version is released
● After upgrade, some of our scripts are broken
● We don’t find all incompatibilities right after the upgrade
● We often significantly delay updating to avoid being beta testers
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Our Presenters
David Dang
VP of Automation Solutions
Zenergy
Darrell Grainger
Quality Advocate /
Automation Expert
ThoughtWorks
Eran Kinsbruner
Lead Technical Researcher
Perfecto
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Darrell Grainger
Quality Advocate / Automation Expert
ThoughtWorks
From Selenium 2.0 to 3.0
I
Selenium at Scale
Advanced tips for success in open source testing in 2017
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
A Brief History of Selenium
1.0
rich interface for browser operations
tweaks on every browser update
Support EoL a few years ago
2.0
building blocks to your own DSL
execute 1.0 and 2.0 script
Still supported*
2004 2007
Selenium RC (1.0) WebDriver
2016
Selenium 3.0
2012
Selenium
WebDriver
(2.0)
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
From Selenium 2.0 to 3.0
● No philosophical changes from 2.53.x to 3.0
● In theory, upgrading from 2.53 to 3.0 shouldn’t hard… in theory
● To open a Firefox browser in 2.53 using the Java bindings:
WebDriver driver = new Firefox();
● To open a Firefox browser in 3.0 using the Java bindings:
System.setProperty("webdriver.gecko.driver", ”~/geckodriver");
DesiredCapabilities dc = DesiredCapabilities.firefox();
WebDriver driver = new FirefoxDriver(dc);
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
What does Selenium 3.0 have?
Gain Loss
Java bindings Compatibility to 3.0 Hard stop for Java 6/7
Ruby bindings Compatibility to3.0 Need to use Ruby 2.x+
Deprecated functions New replacement functions Old functions removed
Safari 10+ Compatibility to 3.0 Does not work on Safari 9<
Firefox 47.0.1+ Compatibility to 3.0 Does not work on 47.0<
Support IE 9+ Compatibility to 3.0 IE8 not supported
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Why stick with the devil you know (i.e. 2.0)?
● There is what the documentation says and what ACTUALLY works
● In certain tech stacks and websites, some things no longer work in 3.0
● Example: site which is using react.js and you need WebDriverWait calls
● However there are things which worked on Selenium 2.0 which no longer
work on Selenium 3.0.
○ For example, populating the From field on Southwest’s flight booking website.
○ This does not work when using Firefox
(example)
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Code Example
driver.get("https://www.southwest.com/flight/?clk=GSUBNAV-AIR-BOOK");
WebElement fromInput = driver.findElement(By.cssSelector("#originAirport_displayed"));
waitFor.until(ExpectedConditions.elementToBeClickable(fromInput));
fromInput.click();
waitFor.until(ExpectedConditions.elementToBeClickable(fromInput));
fromInput.sendKeys("new york");
By resultsLocator = By.cssSelector("div.ac_results li");
waitFor.until(ExpectedConditions.numberOfElementsToBeMoreThan(resultsLocator, 3));
List<WebElement> suggestions = driver.findElements(resultsLocator);
for (WebElement suggestion : suggestions) {
String s = suggestion.getText();
System.out.println(s);
if(s.equals("New York/Newark, NJ - EWR")) {
suggestion.click(); // does not work with Firefox
break;
}
}
screenshot();
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
The usual Selenium baggage
● Environment setup is also a consideration
● Downloading the latest drivers and bindings
● Setting up nodes in a Selenium Grid
● Updating the development setup with the new drivers and bindings
● Will the developers need to upgrade the programming language?
● Will you have to upgrade the build agents on your CI?
● Do you need to have support and security vet the new technology?
● When working in enterprises, upgrading the tech stack can be a big deal
● You might need to involve different departments
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
When switching to Selenium 3.0...
● Selenium 3.0 basically requires you to beta test the bindings
● Why not wait for other people to work out the bugs?
○ You need to support the latest browser
○ You need to use the latest binding languages
○ You’ll need to switch at some point, no better time than the present
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
More info on moving from Selenium 2.0 to 3.0
● Good place to find API documentation and changelogs:
○ http://www.seleniumhq.org/download/
● The chromedriver:
○ http://chromedriver.storage.googleapis.com/index.html
● The geckodriver for Firefox:
○ https://github.com/mozilla/geckodriver/releases
● The safari driver:
○ This is actually part of macOS
○ https://webkit.org/blog/6900/webdriver-support-in-safari-10/
● Selenium source code:
○ https://github.com/SeleniumHQ/selenium
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Flash Q&A : Darrell
Quality Advocate / Automation Expert
ThoughtWorks
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
David Dang
VP of Automation Solutions
Zenergy
The Role of Open Source
in Continuous Testing
II
Selenium at Scale
Advanced tips for success in open source testing in 2017
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
● As the industry standard tool for
browser automation, countless tools
are being created that extend or
integrate with Selenium WebDriver
● Tools like Appium and Protractor
extend WebDriver for use in other
technologies
● Tools like Cucumber integrate with
WebDriver so it can be used with
methodologies such as BDD
Application
Under Test
Selenium WebDriver
WebDriver: the foundation for open source testing
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
● More technical oriented compare purchase tools
● Decision on a test automation framework is not always straight forward
● Integration with existing toolset can be difficult
● Keeping up with the latest a greatest is always a struggle
● Limitation of technologies support
(client/server, ERP, CRM, mainframe, etc…)
Challenges with Open Source Testing at Scale
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
● What comes for free → WebDriver community, bindings, integrations
● What comes with free → costs: environment config, customization, skills
● What doesn’t come for free → People, technologies, process
○ Culture - Dev/Tests together?
○ Enterprise-ready support
○ Tools and external libraries
Key Considerations for Upgrading Selenium
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Selenium 3.0: What you need to be successful
● What you need to be successful
○ Dedicated resources
○ Test automation strategy
○ Test automation framework (page object model, keyword, data-driven, etc…)
○ Integration with other tools/frameworks (Maven, TestNG, Apache POI, Log4J,
ReportNG, Serenity, Jenkins, etc…)
○ Development and maintainence plan
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Flash Q&A : David
VP of Automation Solutions
Zenergy
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Eran Kinsbruner
Lead Technical Researcher
Perfecto
Quality Across Platforms:
Mobile+Web
III
Selenium at Scale
Advanced tips for success in open source testing in 2017
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Matching Tools to Requirements and Persona’s
● Different type of apps (Native/RWD/Web)
● Organizational skill set
● Context Based Testing (In-App/External)
● Embedded into workflow/IDE’s?
● Test coverage requirements
(Platforms/Capabilities)
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
A Day in A Life – Covering Real Environments Isn’t
Possible With Every Tool
12/3/2016
Automation ought to cover
the full user environment
not just the Application
Under Test!
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Which Tool is the best fit for you?
12/3/2016
24
© 2016, Perfecto Mobile Ltd. All Rights Reserved.
SELENIUM APPIUM CALABASH
ESPRESSO XCTEST UI
When looking at today’s open-source mobile test automation landscape, there
are five highly-adopted test frameworks.
We have summarized each approach to help you decide which makes the most sense for you.
Each tool has advantages for your mobile and web testing depending on your needs.
While reading, consider which of the functions
you need most for your own test automation purposes.
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Making the Decision
A Comparison
Detailed analysis of each test
automation tool:
The next slides offer a
breakdown of each tool
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Selenium
• The best choice for web test automation
teams testing for responsive web design or
stand-alone web sites
• Less suitable for developing unit testing,
making this framework less appealing for
developers
• Its core test reports are not highly
informative and lack unique mobile related
insights
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Appium
• Best suited for QA teams testing the
functionality of native, mobile web and
mobile hybrid apps across iOS and Android
• Less suitable for developers who wish to
develop and perform unit testing
• Appium reports are a bit limited from a
debugging and fast feedback loop
perspective, and do not include videos,
network logs and key vitals information
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Calaba.sh
• Designed for organizations that work in
behavior-driven development workflows
• Offers an easy path to both develop and
test features in parallel, all in an easy
user-flow based language
• Appealing for both dev and QA practitioners
• Provides solid insights and reports to both
dev and QA teams
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Espresso & XCTest UI
12/3/2016 © 2016, Perfecto Mobile Ltd. All Rights Reserved.
ESPRESSO
XCTEST UI
• Both are designed for target users
• Espresso is for Android and XCTest is for iOS
• Both tools are fully integrated into development IDEs such as Android
Studio/Xcode, and offer very easy-to-develop techniques, including test
recorders
• Fully maintained by Google and Apple, which assures they always support the
latest OS features so developers can stay ahead of the market and test
accordingly
• Support both unit testing types and functional UI testing
• Both are app-context only, which limits their abilities to test for user condition
scenarios
ESPRESSO
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Things to Consider
• Lab: Having support for variety of frameworks is important for enterprises
• Flexibility
• Autonomy
• complete E2E coverage
• unattended testing
• Automation: support for multiple OSS frameworks becomes important
• Different “persona’s” need different tools under 1 lab
• Cross platform scripting
• Robust framework to support high test coverage
• Analysis: Digital reporting is necessary for teams to take action and fix
issues faster & earlier
When choosing a test automation tool
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
LIVE DEMO – RWD Cross Platform Automation
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
The Digital Solution
“One Script, One Lab”
for all digital platforms
Digital Test Suite Reporting for Agile
Teams
One Script
For All Digital Platforms
One Lab – Web & Mobile
One Secure Cloud
Manual & Automated Testing
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Flash Q&A : Eran
Lead Technical Researcher
Perfecto
Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
Thank you!
Next webinar: projectquantum.io
bit.ly/perfecto-bdd-quantum

More Related Content

PDF
4 Ways to Speed Up Your Mobile App Dev Daily Grind
PPTX
Make the Shift from Manual to Automation with Open Source
PPTX
Why Apps Succeed: 4 Keys to Winning the Digital Quality Game
PDF
5 Steps to Detecting Issues Earlier in Your Release Cycles
PPTX
Selenium topic 1- Selenium Basic
PDF
Your Framework for Success: introduction to JavaScript Testing at Scale
DOCX
Selenium_WebDriver_Java_TestNG
PPTX
Selenium basic
4 Ways to Speed Up Your Mobile App Dev Daily Grind
Make the Shift from Manual to Automation with Open Source
Why Apps Succeed: 4 Keys to Winning the Digital Quality Game
5 Steps to Detecting Issues Earlier in Your Release Cycles
Selenium topic 1- Selenium Basic
Your Framework for Success: introduction to JavaScript Testing at Scale
Selenium_WebDriver_Java_TestNG
Selenium basic

What's hot (20)

PPTX
Selenium topic 3 -Web Driver Basics
PDF
Playwright: A New Test Automation Framework for the Modern Web
PDF
Trust Your Pipeline - Automatically Testing and End-to-End Java Application
PPTX
Testing Strategy for Progressive Web Apps
PPTX
Advanced Strategies for Testing Responsive Web
PPTX
Advanced Appium
PPT
Automation Testing on Selenium by Quontra Solutions
PDF
Improving Android app testing with Appium and Sauce Labs
PPTX
Appium vs Espresso and XCUI Test
PPTX
Cross browser testing
PDF
Selenium conference, 2016
PPTX
Selenium WebDriver - Test automation for web applications
PDF
[Srijan Wednesday Webinars] Building a High Performance QA Team
PDF
Web Application Testing with Selenium
PPTX
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
PDF
Selenium Maven With Eclipse | Edureka
PPTX
Selenium
PPTX
Selenium for Jobseekers
PDF
Refactoring Wunderlist. UA Mobile 2016.
PPTX
The Right Tool for the Right Project
Selenium topic 3 -Web Driver Basics
Playwright: A New Test Automation Framework for the Modern Web
Trust Your Pipeline - Automatically Testing and End-to-End Java Application
Testing Strategy for Progressive Web Apps
Advanced Strategies for Testing Responsive Web
Advanced Appium
Automation Testing on Selenium by Quontra Solutions
Improving Android app testing with Appium and Sauce Labs
Appium vs Espresso and XCUI Test
Cross browser testing
Selenium conference, 2016
Selenium WebDriver - Test automation for web applications
[Srijan Wednesday Webinars] Building a High Performance QA Team
Web Application Testing with Selenium
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Maven With Eclipse | Edureka
Selenium
Selenium for Jobseekers
Refactoring Wunderlist. UA Mobile 2016.
The Right Tool for the Right Project
Ad

Viewers also liked (20)

PPTX
Selenium Automation Like You’ve Never Seen!
PPTX
OPEN SOURCE SEMINAR PRESENTATION
PPTX
What's New? - February 2017
PDF
Open (source) API for the Internet of Things - APIdays 2013
PDF
Profiling Ruby
PDF
Open Source
PDF
JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap...
PPTX
Evolution of it in 2020
PDF
Cross Platform Mobile Test Automation using Selenium WebDriver by Perfecto Mo...
PDF
Creating OTP with free software
PPTX
Selenium-Grid-Extras
PPTX
Out of box page object design pattern, java
PDF
Retail Banking 2020: evolution or revolution
PPT
Open Source Software in Libraries
DOCX
Ana goncalves wind.pdf
PPTX
Cross-platform Mobile Development on Open Source
PDF
2014 Future of Open Source Survey Results
PPTX
Free and Open Source Software
PPTX
TechTalk: Everything You Need to Know about Appium & Selenium
PDF
Open Source in the Cloud Computing Era
Selenium Automation Like You’ve Never Seen!
OPEN SOURCE SEMINAR PRESENTATION
What's New? - February 2017
Open (source) API for the Internet of Things - APIdays 2013
Profiling Ruby
Open Source
JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap...
Evolution of it in 2020
Cross Platform Mobile Test Automation using Selenium WebDriver by Perfecto Mo...
Creating OTP with free software
Selenium-Grid-Extras
Out of box page object design pattern, java
Retail Banking 2020: evolution or revolution
Open Source Software in Libraries
Ana goncalves wind.pdf
Cross-platform Mobile Development on Open Source
2014 Future of Open Source Survey Results
Free and Open Source Software
TechTalk: Everything You Need to Know about Appium & Selenium
Open Source in the Cloud Computing Era
Ad

Similar to Selenium and Open Source Advanced Testing (20)

PPTX
Selenium.pptx
PPTX
Four Keys to Efficient DevOps
PPTX
Web testing with Selenium
PPTX
How do you tame a big ball of mud? One test at a time.
PDF
SELENIUM CONF -PALLAVI SHARMA - 2024.pdf
PDF
Front-End Test Fest Keynote: The State of the Union for Front End Testing.pdf
PDF
Step away from that knife!
PDF
Selenium Tips & Tricks, presented at the Tel Aviv Selenium Meetup
PDF
Mastering Test Automation: How to Use Selenium Successfully
PDF
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
PPT
Встреча "QA: в каких направлениях может найти себя тестировщик?"
PDF
How to get trusted AI in your favorite IDE
PDF
How To Use Selenium Successfully (Java Edition)
PPTX
QA or the Highway 2022.pptx
PDF
Operationalization of a solution to automate web forms insertions in the Offi...
PDF
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
PDF
2013 10-10 selenium presentation to ocjug
PDF
7 Advantages of React JS in Application Development
PPTX
Run Selenium Tests With Microsoft Test Manager
PDF
Introduction to automated testing by Jordanian QA community
Selenium.pptx
Four Keys to Efficient DevOps
Web testing with Selenium
How do you tame a big ball of mud? One test at a time.
SELENIUM CONF -PALLAVI SHARMA - 2024.pdf
Front-End Test Fest Keynote: The State of the Union for Front End Testing.pdf
Step away from that knife!
Selenium Tips & Tricks, presented at the Tel Aviv Selenium Meetup
Mastering Test Automation: How to Use Selenium Successfully
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
Встреча "QA: в каких направлениях может найти себя тестировщик?"
How to get trusted AI in your favorite IDE
How To Use Selenium Successfully (Java Edition)
QA or the Highway 2022.pptx
Operationalization of a solution to automate web forms insertions in the Offi...
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
2013 10-10 selenium presentation to ocjug
7 Advantages of React JS in Application Development
Run Selenium Tests With Microsoft Test Manager
Introduction to automated testing by Jordanian QA community

Selenium and Open Source Advanced Testing

  • 1. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Selenium at Scale Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile
  • 2. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile What We’ll Cover ● From Selenium 2.0 to 3.0 ● The Role of Open Source in Continuous Testing ● Quality Across Platforms: Mobile+Web ● General Q & A
  • 3. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Poll: Concerning Selenium updates... ● I have to upgrade more than one (my) machine ● We upgrade as soon as a new stable version is released ● After upgrade, some of our scripts are broken ● We don’t find all incompatibilities right after the upgrade ● We often significantly delay updating to avoid being beta testers
  • 4. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Our Presenters David Dang VP of Automation Solutions Zenergy Darrell Grainger Quality Advocate / Automation Expert ThoughtWorks Eran Kinsbruner Lead Technical Researcher Perfecto
  • 5. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Darrell Grainger Quality Advocate / Automation Expert ThoughtWorks From Selenium 2.0 to 3.0 I Selenium at Scale Advanced tips for success in open source testing in 2017
  • 6. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile A Brief History of Selenium 1.0 rich interface for browser operations tweaks on every browser update Support EoL a few years ago 2.0 building blocks to your own DSL execute 1.0 and 2.0 script Still supported* 2004 2007 Selenium RC (1.0) WebDriver 2016 Selenium 3.0 2012 Selenium WebDriver (2.0)
  • 7. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile From Selenium 2.0 to 3.0 ● No philosophical changes from 2.53.x to 3.0 ● In theory, upgrading from 2.53 to 3.0 shouldn’t hard… in theory ● To open a Firefox browser in 2.53 using the Java bindings: WebDriver driver = new Firefox(); ● To open a Firefox browser in 3.0 using the Java bindings: System.setProperty("webdriver.gecko.driver", ”~/geckodriver"); DesiredCapabilities dc = DesiredCapabilities.firefox(); WebDriver driver = new FirefoxDriver(dc);
  • 8. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile What does Selenium 3.0 have? Gain Loss Java bindings Compatibility to 3.0 Hard stop for Java 6/7 Ruby bindings Compatibility to3.0 Need to use Ruby 2.x+ Deprecated functions New replacement functions Old functions removed Safari 10+ Compatibility to 3.0 Does not work on Safari 9< Firefox 47.0.1+ Compatibility to 3.0 Does not work on 47.0< Support IE 9+ Compatibility to 3.0 IE8 not supported
  • 9. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Why stick with the devil you know (i.e. 2.0)? ● There is what the documentation says and what ACTUALLY works ● In certain tech stacks and websites, some things no longer work in 3.0 ● Example: site which is using react.js and you need WebDriverWait calls ● However there are things which worked on Selenium 2.0 which no longer work on Selenium 3.0. ○ For example, populating the From field on Southwest’s flight booking website. ○ This does not work when using Firefox (example)
  • 10. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Code Example driver.get("https://www.southwest.com/flight/?clk=GSUBNAV-AIR-BOOK"); WebElement fromInput = driver.findElement(By.cssSelector("#originAirport_displayed")); waitFor.until(ExpectedConditions.elementToBeClickable(fromInput)); fromInput.click(); waitFor.until(ExpectedConditions.elementToBeClickable(fromInput)); fromInput.sendKeys("new york"); By resultsLocator = By.cssSelector("div.ac_results li"); waitFor.until(ExpectedConditions.numberOfElementsToBeMoreThan(resultsLocator, 3)); List<WebElement> suggestions = driver.findElements(resultsLocator); for (WebElement suggestion : suggestions) { String s = suggestion.getText(); System.out.println(s); if(s.equals("New York/Newark, NJ - EWR")) { suggestion.click(); // does not work with Firefox break; } } screenshot();
  • 11. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile The usual Selenium baggage ● Environment setup is also a consideration ● Downloading the latest drivers and bindings ● Setting up nodes in a Selenium Grid ● Updating the development setup with the new drivers and bindings ● Will the developers need to upgrade the programming language? ● Will you have to upgrade the build agents on your CI? ● Do you need to have support and security vet the new technology? ● When working in enterprises, upgrading the tech stack can be a big deal ● You might need to involve different departments
  • 12. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile When switching to Selenium 3.0... ● Selenium 3.0 basically requires you to beta test the bindings ● Why not wait for other people to work out the bugs? ○ You need to support the latest browser ○ You need to use the latest binding languages ○ You’ll need to switch at some point, no better time than the present
  • 13. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile More info on moving from Selenium 2.0 to 3.0 ● Good place to find API documentation and changelogs: ○ http://www.seleniumhq.org/download/ ● The chromedriver: ○ http://chromedriver.storage.googleapis.com/index.html ● The geckodriver for Firefox: ○ https://github.com/mozilla/geckodriver/releases ● The safari driver: ○ This is actually part of macOS ○ https://webkit.org/blog/6900/webdriver-support-in-safari-10/ ● Selenium source code: ○ https://github.com/SeleniumHQ/selenium
  • 14. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Flash Q&A : Darrell Quality Advocate / Automation Expert ThoughtWorks
  • 15. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile David Dang VP of Automation Solutions Zenergy The Role of Open Source in Continuous Testing II Selenium at Scale Advanced tips for success in open source testing in 2017
  • 16. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile ● As the industry standard tool for browser automation, countless tools are being created that extend or integrate with Selenium WebDriver ● Tools like Appium and Protractor extend WebDriver for use in other technologies ● Tools like Cucumber integrate with WebDriver so it can be used with methodologies such as BDD Application Under Test Selenium WebDriver WebDriver: the foundation for open source testing
  • 17. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile ● More technical oriented compare purchase tools ● Decision on a test automation framework is not always straight forward ● Integration with existing toolset can be difficult ● Keeping up with the latest a greatest is always a struggle ● Limitation of technologies support (client/server, ERP, CRM, mainframe, etc…) Challenges with Open Source Testing at Scale
  • 18. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile ● What comes for free → WebDriver community, bindings, integrations ● What comes with free → costs: environment config, customization, skills ● What doesn’t come for free → People, technologies, process ○ Culture - Dev/Tests together? ○ Enterprise-ready support ○ Tools and external libraries Key Considerations for Upgrading Selenium
  • 19. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Selenium 3.0: What you need to be successful ● What you need to be successful ○ Dedicated resources ○ Test automation strategy ○ Test automation framework (page object model, keyword, data-driven, etc…) ○ Integration with other tools/frameworks (Maven, TestNG, Apache POI, Log4J, ReportNG, Serenity, Jenkins, etc…) ○ Development and maintainence plan
  • 20. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Flash Q&A : David VP of Automation Solutions Zenergy
  • 21. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Eran Kinsbruner Lead Technical Researcher Perfecto Quality Across Platforms: Mobile+Web III Selenium at Scale Advanced tips for success in open source testing in 2017
  • 22. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Matching Tools to Requirements and Persona’s ● Different type of apps (Native/RWD/Web) ● Organizational skill set ● Context Based Testing (In-App/External) ● Embedded into workflow/IDE’s? ● Test coverage requirements (Platforms/Capabilities)
  • 23. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile A Day in A Life – Covering Real Environments Isn’t Possible With Every Tool 12/3/2016 Automation ought to cover the full user environment not just the Application Under Test!
  • 24. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Which Tool is the best fit for you? 12/3/2016 24 © 2016, Perfecto Mobile Ltd. All Rights Reserved. SELENIUM APPIUM CALABASH ESPRESSO XCTEST UI When looking at today’s open-source mobile test automation landscape, there are five highly-adopted test frameworks. We have summarized each approach to help you decide which makes the most sense for you. Each tool has advantages for your mobile and web testing depending on your needs. While reading, consider which of the functions you need most for your own test automation purposes.
  • 25. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Making the Decision A Comparison Detailed analysis of each test automation tool: The next slides offer a breakdown of each tool
  • 26. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Selenium • The best choice for web test automation teams testing for responsive web design or stand-alone web sites • Less suitable for developing unit testing, making this framework less appealing for developers • Its core test reports are not highly informative and lack unique mobile related insights
  • 27. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Appium • Best suited for QA teams testing the functionality of native, mobile web and mobile hybrid apps across iOS and Android • Less suitable for developers who wish to develop and perform unit testing • Appium reports are a bit limited from a debugging and fast feedback loop perspective, and do not include videos, network logs and key vitals information
  • 28. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Calaba.sh • Designed for organizations that work in behavior-driven development workflows • Offers an easy path to both develop and test features in parallel, all in an easy user-flow based language • Appealing for both dev and QA practitioners • Provides solid insights and reports to both dev and QA teams
  • 29. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Espresso & XCTest UI 12/3/2016 © 2016, Perfecto Mobile Ltd. All Rights Reserved. ESPRESSO XCTEST UI • Both are designed for target users • Espresso is for Android and XCTest is for iOS • Both tools are fully integrated into development IDEs such as Android Studio/Xcode, and offer very easy-to-develop techniques, including test recorders • Fully maintained by Google and Apple, which assures they always support the latest OS features so developers can stay ahead of the market and test accordingly • Support both unit testing types and functional UI testing • Both are app-context only, which limits their abilities to test for user condition scenarios ESPRESSO
  • 30. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Things to Consider • Lab: Having support for variety of frameworks is important for enterprises • Flexibility • Autonomy • complete E2E coverage • unattended testing • Automation: support for multiple OSS frameworks becomes important • Different “persona’s” need different tools under 1 lab • Cross platform scripting • Robust framework to support high test coverage • Analysis: Digital reporting is necessary for teams to take action and fix issues faster & earlier When choosing a test automation tool
  • 31. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile LIVE DEMO – RWD Cross Platform Automation
  • 32. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile The Digital Solution “One Script, One Lab” for all digital platforms Digital Test Suite Reporting for Agile Teams One Script For All Digital Platforms One Lab – Web & Mobile One Secure Cloud Manual & Automated Testing
  • 33. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Flash Q&A : Eran Lead Technical Researcher Perfecto
  • 34. Selenium at Scale: Advanced tips for success in open source testing in 2017 Web: perfectomobile.com Twitter: @perfectomobile Thank you! Next webinar: projectquantum.io bit.ly/perfecto-bdd-quantum