SlideShare a Scribd company logo
1 of 28
Download to read offline
USING SELENIUM 3
SIMON STEWART (@SHS96C)
SELENIUM PROJECT LEAD
SELENIUM 3
A BRIEF HISTORY OF TIME: SELENIUM 1
Core WebDriver W3C
WebDriver
1.0
2.0
3.0
SELENIUM 3
A BRIEF HISTORY OF TIME: SELENIUM 2
Core WebDriver W3C
WebDriver
1.0
2.0
3.0
SELENIUM 3
A BRIEF HISTORY OF THE FUTURE: SELENIUM 3
Core WebDriver W3C
WebDriver
1.0
2.0
3.0
YOUR EXISTING INVESTMENT IN
TESTS IS AN IMPORTANT ASSET TO
YOU AND YOUR COMPANY
Me. Just now.
SELENIUM 3
WHEN WILL
SELENIUM 3 SHIP?
“SOON”
SELENIUM 3
EXAMPLE SELENIUM TEST
SELENIUM 3
UPGRADING: WEBDRIVER USERS
▸ Remove references to deprecated
classes
▸ Drop in the 3.0 jar
SELENIUM 3
EXAMPLE SELENIUM TEST
SELENIUM 3
EXAMPLE SELENIUM TEST
SELENIUM 3
UPGRADING: MOST GRID USERS
▸ Drop in the 3.0 jar
https://flic.kr/p/4Hm9Hr
SELENIUM 3
UPGRADING: RC USERS
▸ Run your tests using the WebDriverBackedSelenium
▸ Fix your tests
▸ Drop in the 3.0 jar
▸ Add a reference to the “leg-rc” jar
▸ Migrate to the WebDriver APIs
▸ SeConf 2013 Closing Keynote by Jason Leyba
▸ https://www.youtube.com/watch?v=cSLmfegT36A
SELENIUM 3
EXAMPLE RC TEST
SELENIUM 3
EXAMPLE RC TEST
SELENIUM 3
EXAMPLE RC TEST
SELENIUM 3
UNSUPPORTED SELENIUM RC FEATURES
▸ Using the server as a proxy
▸ Use browsermob-proxy or similar
▸ Adding custom request headers
▸ Because Selenium isn’t an HTTP
proxy
▸ Browser side-logs
▸ Replaced by logging in each of
the drivers
SELENIUM 3
UPGRADING: IDE USERS
▸ Download the new selenium-html-
runner.jar
▸ Use that instead of selenium-
server.jar
▸ Run your tests
SELENIUM 3
MISSING IDE FEATURES
▸ Rollups
▸ Coming, but not implemented yet
▸ JS Extensions are handled as best as possible
▸ Loaded per-page, so may act differently
▸ Alert and Prompt handling may be odd
▸ Consider switching to Selenium Builder (http://
seleniumbuilder.github.io/se-builder/) or writing code
SELENIUM 3
WHY DO WE NEED A W3C SPEC
▸ Browsers are fearsomely complex
beasts
▸ Decouple selenium releases from
browser updates
https://flic.kr/p/7VHwy6
SELENIUM 3
THE W3C SPEC AND YOU
▸ Vision: The browser vendors own the driver
▸ Yes, this may mean another binary on your system
▸ But that binary is released by the browser vendor
▸ Tracks changes in the browser
▸ Decouples selenium releases from browser release
schedules
SELENIUM 3
THE CHROME AND EDGE DRIVERS
▸ Made by Google and Microsoft
▸ Try them out!
▸ You probably already use
them :)
SELENIUM 3
GECKODRIVER: NEXT GEN FIREFOX SUPPORT
▸ Download:
▸ https://github.com/mozilla/geckodriver/releases
▸ Mozilla have changed the architecture of Firefox
▸ 2.x and 3.x users must use the geckodriver for Firefox 48+
▸ Use ESR release (for now) to continue using the original
FirefoxDriver (for now)
▸ geckodriver does not support the Actions API yet.
SELENIUM 3
SAFARIDRIVER
▸ Safari 10+, Apple own the
SafariDriver
▸ Selenium project will no longer
maintain the OSS SafariDriver once
Safari 10 ships
THINGS THE SELENIUM
TEAM WISHED YOU KNEW
SELENIUM 3
HOW TIMEOUTS WORK
▸ Implicit timeouts occur in the remote end.
▸ Explicit timeouts occur on the local end.
▸ The team suggestion: avoid using implicit timeouts if
possible.
SELENIUM 3
USING XPATH
▸ Depends on the underlying browser’s xpath
implementation
▸ Very easy to destroy readability of tests
▸ Only used by testers, and therefore fragile
▸ Suggest using CSS selectors instead
▸ Plus side: advances in JS engines mean that xpath isn’t as
slow as it used to be
QUESTIONS IN
JUST A BIT….

More Related Content

What's hot

Selenium 2: The Future of Selenium is now!
Selenium 2: The Future of Selenium is now!Selenium 2: The Future of Selenium is now!
Selenium 2: The Future of Selenium is now!
AutomatedTester
 
Selenium (1)
Selenium (1)Selenium (1)
Selenium (1)
onlinemindq
 
Selenium webdriver course content rakesh hansalia
Selenium webdriver course content rakesh hansaliaSelenium webdriver course content rakesh hansalia
Selenium webdriver course content rakesh hansalia
Rakesh Hansalia
 

What's hot (20)

Selenium 2: The Future of Selenium is now!
Selenium 2: The Future of Selenium is now!Selenium 2: The Future of Selenium is now!
Selenium 2: The Future of Selenium is now!
 
Cross browser testing
Cross browser testingCross browser testing
Cross browser testing
 
How To Automate Cross Browser Testing
How To Automate Cross Browser TestingHow To Automate Cross Browser Testing
How To Automate Cross Browser Testing
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - Introduction
 
Jenkins & Selenium
Jenkins & SeleniumJenkins & Selenium
Jenkins & Selenium
 
Automated Web Testing With Selenium
Automated Web Testing With SeleniumAutomated Web Testing With Selenium
Automated Web Testing With Selenium
 
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
 
Automated UI testing. Selenium. DrupalCamp Kyiv 2011
Automated UI testing. Selenium. DrupalCamp Kyiv 2011Automated UI testing. Selenium. DrupalCamp Kyiv 2011
Automated UI testing. Selenium. DrupalCamp Kyiv 2011
 
Automated UI testing with Selenium
Automated UI testing with SeleniumAutomated UI testing with Selenium
Automated UI testing with Selenium
 
An Overview of Selenium
An Overview of SeleniumAn Overview of Selenium
An Overview of Selenium
 
Selenium (1)
Selenium (1)Selenium (1)
Selenium (1)
 
Tech talks (Automation on Selenium Web Driver. How to begin & implement)
Tech talks (Automation on Selenium Web Driver. How to begin & implement)Tech talks (Automation on Selenium Web Driver. How to begin & implement)
Tech talks (Automation on Selenium Web Driver. How to begin & implement)
 
Selenium webdriver course content rakesh hansalia
Selenium webdriver course content rakesh hansaliaSelenium webdriver course content rakesh hansalia
Selenium webdriver course content rakesh hansalia
 
Selenium By Pravin Mishra
Selenium By Pravin MishraSelenium By Pravin Mishra
Selenium By Pravin Mishra
 
Selenium Demo
Selenium DemoSelenium Demo
Selenium Demo
 
Selenium
SeleniumSelenium
Selenium
 
How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)
 
Selenium 4 with Simon Stewart [Webinar]
Selenium 4 with Simon Stewart [Webinar]Selenium 4 with Simon Stewart [Webinar]
Selenium 4 with Simon Stewart [Webinar]
 
Cross browser Testing JavaScript
Cross browser Testing JavaScriptCross browser Testing JavaScript
Cross browser Testing JavaScript
 
Selenium WebDriver - Test automation for web applications
Selenium WebDriver - Test automation for web applicationsSelenium WebDriver - Test automation for web applications
Selenium WebDriver - Test automation for web applications
 

Similar to Using Selenium 3 0

Mozilla selenium and_hudson
Mozilla selenium and_hudsonMozilla selenium and_hudson
Mozilla selenium and_hudson
retornam
 
Docker and Selenoid - Make Autotests Great Again
Docker and Selenoid - Make Autotests Great Again Docker and Selenoid - Make Autotests Great Again
Docker and Selenoid - Make Autotests Great Again
COMAQA.BY
 
SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best Practices
Ashraf Fouad
 

Similar to Using Selenium 3 0 (20)

The history of selenium
The history of seleniumThe history of selenium
The history of selenium
 
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
 
On-Demand Image Resizing
On-Demand Image ResizingOn-Demand Image Resizing
On-Demand Image Resizing
 
On-Demand Image Resizing Extended - External Meet-up
On-Demand Image Resizing Extended - External Meet-upOn-Demand Image Resizing Extended - External Meet-up
On-Demand Image Resizing Extended - External Meet-up
 
Selenium Java for Beginners by Sujit Pathak
Selenium Java for Beginners by Sujit PathakSelenium Java for Beginners by Sujit Pathak
Selenium Java for Beginners by Sujit Pathak
 
Easy Setup for Parallel Test Execution with Selenium Docker
Easy Setup for Parallel Test Execution with Selenium DockerEasy Setup for Parallel Test Execution with Selenium Docker
Easy Setup for Parallel Test Execution with Selenium Docker
 
Mozilla selenium and_hudson
Mozilla selenium and_hudsonMozilla selenium and_hudson
Mozilla selenium and_hudson
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Be flexible with zalenium, a dockerized selenium grid infrastructure
Be flexible with zalenium, a dockerized selenium grid infrastructureBe flexible with zalenium, a dockerized selenium grid infrastructure
Be flexible with zalenium, a dockerized selenium grid infrastructure
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker and Selenoid - Make Autotests Great Again
Docker and Selenoid - Make Autotests Great Again Docker and Selenoid - Make Autotests Great Again
Docker and Selenoid - Make Autotests Great Again
 
Scalable QA With Docker
Scalable QA With DockerScalable QA With Docker
Scalable QA With Docker
 
Session on Selenium 4 : What’s coming our way? by Hitesh Prajapati
Session on Selenium 4 : What’s coming our way? by Hitesh PrajapatiSession on Selenium 4 : What’s coming our way? by Hitesh Prajapati
Session on Selenium 4 : What’s coming our way? by Hitesh Prajapati
 
Selenium 4 - What's coming our way - v1.0.pptx
Selenium 4 - What's coming our way - v1.0.pptxSelenium 4 - What's coming our way - v1.0.pptx
Selenium 4 - What's coming our way - v1.0.pptx
 
SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best Practices
 
Exploring Maven SVN GIT
Exploring Maven SVN GITExploring Maven SVN GIT
Exploring Maven SVN GIT
 
Distributed Traceability in AWS - Life of a Transaction
Distributed Traceability in AWS - Life of a TransactionDistributed Traceability in AWS - Life of a Transaction
Distributed Traceability in AWS - Life of a Transaction
 
Integrating security testing into your container build pipeline - SDD308 - AW...
Integrating security testing into your container build pipeline - SDD308 - AW...Integrating security testing into your container build pipeline - SDD308 - AW...
Integrating security testing into your container build pipeline - SDD308 - AW...
 
Advanced Continuous Delivery on AWS
Advanced Continuous Delivery on AWSAdvanced Continuous Delivery on AWS
Advanced Continuous Delivery on AWS
 
Features supported by squid proxy server
Features supported by squid proxy serverFeatures supported by squid proxy server
Features supported by squid proxy server
 

More from TEST Huddle

More from TEST Huddle (20)

Why We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- AccentureWhy We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- Accenture
 
Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar
 
Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway
 
Being a Tester in Scrum
Being a Tester in ScrumBeing a Tester in Scrum
Being a Tester in Scrum
 
Leveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional TestsLeveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional Tests
 
Using Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test WorkUsing Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test Work
 
Big Data: The Magic to Attain New Heights
Big Data:  The Magic to Attain New HeightsBig Data:  The Magic to Attain New Heights
Big Data: The Magic to Attain New Heights
 
Will Robots Replace Testers?
Will Robots Replace Testers?Will Robots Replace Testers?
Will Robots Replace Testers?
 
TDD For The Rest Of Us
TDD For The Rest Of UsTDD For The Rest Of Us
TDD For The Rest Of Us
 
Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)
 
Creating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger EnterprisesCreating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger Enterprises
 
Is There A Risk?
Is There A Risk?Is There A Risk?
Is There A Risk?
 
Are Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test CoverageAre Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test Coverage
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for Testers
 
Do we need testers on agile teams?
Do we need testers on agile teams?Do we need testers on agile teams?
Do we need testers on agile teams?
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfully
 
Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey
 
Practical Test Strategy Using Heuristics
Practical Test Strategy Using HeuristicsPractical Test Strategy Using Heuristics
Practical Test Strategy Using Heuristics
 
Thinking Through Your Role
Thinking Through Your RoleThinking Through Your Role
Thinking Through Your Role
 
New Model Testing: A New Test Process and Tool
New Model Testing:  A New Test Process and ToolNew Model Testing:  A New Test Process and Tool
New Model Testing: A New Test Process and Tool
 

Recently uploaded

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 

Recently uploaded (20)

%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 

Using Selenium 3 0

  • 1. USING SELENIUM 3 SIMON STEWART (@SHS96C) SELENIUM PROJECT LEAD
  • 2. SELENIUM 3 A BRIEF HISTORY OF TIME: SELENIUM 1 Core WebDriver W3C WebDriver 1.0 2.0 3.0
  • 3. SELENIUM 3 A BRIEF HISTORY OF TIME: SELENIUM 2 Core WebDriver W3C WebDriver 1.0 2.0 3.0
  • 4. SELENIUM 3 A BRIEF HISTORY OF THE FUTURE: SELENIUM 3 Core WebDriver W3C WebDriver 1.0 2.0 3.0
  • 5. YOUR EXISTING INVESTMENT IN TESTS IS AN IMPORTANT ASSET TO YOU AND YOUR COMPANY Me. Just now. SELENIUM 3
  • 9. SELENIUM 3 UPGRADING: WEBDRIVER USERS ▸ Remove references to deprecated classes ▸ Drop in the 3.0 jar
  • 12. SELENIUM 3 UPGRADING: MOST GRID USERS ▸ Drop in the 3.0 jar https://flic.kr/p/4Hm9Hr
  • 13. SELENIUM 3 UPGRADING: RC USERS ▸ Run your tests using the WebDriverBackedSelenium ▸ Fix your tests ▸ Drop in the 3.0 jar ▸ Add a reference to the “leg-rc” jar ▸ Migrate to the WebDriver APIs ▸ SeConf 2013 Closing Keynote by Jason Leyba ▸ https://www.youtube.com/watch?v=cSLmfegT36A
  • 17. SELENIUM 3 UNSUPPORTED SELENIUM RC FEATURES ▸ Using the server as a proxy ▸ Use browsermob-proxy or similar ▸ Adding custom request headers ▸ Because Selenium isn’t an HTTP proxy ▸ Browser side-logs ▸ Replaced by logging in each of the drivers
  • 18. SELENIUM 3 UPGRADING: IDE USERS ▸ Download the new selenium-html- runner.jar ▸ Use that instead of selenium- server.jar ▸ Run your tests
  • 19. SELENIUM 3 MISSING IDE FEATURES ▸ Rollups ▸ Coming, but not implemented yet ▸ JS Extensions are handled as best as possible ▸ Loaded per-page, so may act differently ▸ Alert and Prompt handling may be odd ▸ Consider switching to Selenium Builder (http:// seleniumbuilder.github.io/se-builder/) or writing code
  • 20. SELENIUM 3 WHY DO WE NEED A W3C SPEC ▸ Browsers are fearsomely complex beasts ▸ Decouple selenium releases from browser updates https://flic.kr/p/7VHwy6
  • 21. SELENIUM 3 THE W3C SPEC AND YOU ▸ Vision: The browser vendors own the driver ▸ Yes, this may mean another binary on your system ▸ But that binary is released by the browser vendor ▸ Tracks changes in the browser ▸ Decouples selenium releases from browser release schedules
  • 22. SELENIUM 3 THE CHROME AND EDGE DRIVERS ▸ Made by Google and Microsoft ▸ Try them out! ▸ You probably already use them :)
  • 23. SELENIUM 3 GECKODRIVER: NEXT GEN FIREFOX SUPPORT ▸ Download: ▸ https://github.com/mozilla/geckodriver/releases ▸ Mozilla have changed the architecture of Firefox ▸ 2.x and 3.x users must use the geckodriver for Firefox 48+ ▸ Use ESR release (for now) to continue using the original FirefoxDriver (for now) ▸ geckodriver does not support the Actions API yet.
  • 24. SELENIUM 3 SAFARIDRIVER ▸ Safari 10+, Apple own the SafariDriver ▸ Selenium project will no longer maintain the OSS SafariDriver once Safari 10 ships
  • 25. THINGS THE SELENIUM TEAM WISHED YOU KNEW
  • 26. SELENIUM 3 HOW TIMEOUTS WORK ▸ Implicit timeouts occur in the remote end. ▸ Explicit timeouts occur on the local end. ▸ The team suggestion: avoid using implicit timeouts if possible.
  • 27. SELENIUM 3 USING XPATH ▸ Depends on the underlying browser’s xpath implementation ▸ Very easy to destroy readability of tests ▸ Only used by testers, and therefore fragile ▸ Suggest using CSS selectors instead ▸ Plus side: advances in JS engines mean that xpath isn’t as slow as it used to be