SlideShare a Scribd company logo
A Sneak Peak at Selenium 4
Simon Stewart (@shs96c)

Selenium Project Lead
TL;DR
• How the Selenium project runs
• A new IDE
• Stable user-facing APIs
• New tricks
• CDP integration
• Relative locators
• A Modernised Selenium Grid
• Works with Kubernetes
• Observability
Selenium, the SFC & PLC, the TLC,
and you
https://unsplash.com/photos/xFjti9rYILo
The SFC & PLC The “bridge to the SFC”
The TLC Lead the technical direction of Selenium
Talking to us and contributing
https://unsplash.com/photos/V5vqWC9gyEU
Why the Major Version Number Bump?
IDE: Revivified! Thanks, SideX and Applitools
We have adopted the W3C WebDriver
protocol
It’s already implemented in Selenium 3.141.59
https://unsplash.com/photos/ywqa9IZB-dU
What does the mean for users? Probably nothing
https://unsplash.com/photos/i55tj_BBwa0
Who Cares About Protocol Dialects? “Selenium as a Service” providers
Stable User-Facing APIs
Drop-in upgrade With caveats
https://unsplash.com/photos/wbx3FeGOEQ0
If it was deprecated It’s probably gone
https://unsplash.com/photos/TW62wXQ6Omc
Demo time!
Legacy wire protocol support Provided by the java bindings and legacy jars
https://unsplash.com/photos/CeZypKDceQc
.Net, JS, Ruby, & Python: W3C only Even Java will require you to make extra effort
https://unsplash.com/photos/V862kywlKkw
All third party drivers use the W3C
protocol already
Even Edgium!
https://unsplash.com/photos/IuLgi9PWETU
Does this matter? Probably not
https://unsplash.com/photos/Ar5FGfHXwMU
New Tricks
What do Puppeteer and Cypress offer? (A gross simplification of reality follows)
https://unsplash.com/photos/j0vIeF69Jgc
Can listen for events from the browser Enabled via the Chrome Debugging Protocol
https://flic.kr/p/5keRVg
Demo time!
Finding things is hard The provided “By” implementations are limited
https://unsplash.com/photos/yxvRh0C-aVA
Relative locators: a history Sahi started it
https://unsplash.com/photos/NywSG9q3wC8
Relative locators “near”, “above”, “below”, “left of”, “right of”,
https://unsplash.com/photos/C5XyLljkMrY
Demo time!
Pluggable locators Add new location strategies on the fly
https://unsplash.com/photos/bfJjBskA3gA
A Modernised Selenium Grid
The Selenium Farm Thanks, Google!
https://unsplash.com/photos/XemjjFd_4qE
The Original Grid Thanks, Philippe!
https://unsplash.com/photos/TixcqTuuVsE
Problems with The Original Grid “Selenium RC”
https://unsplash.com/photos/G-zsrSWvKmc
Selenium Grid 2 Thanks, Francois!
https://unsplash.com/photos/BW0vK-FA3eg
Problems with Selenium Grid 2 2011 was a long time ago
https://unsplash.com/photos/RfAEjh_J6e0
The modern world Docker, Kubernetes, AWS, GCP, Azure
https://unsplash.com/photos/rSFxBGpnluw
Zalenium is excellent Docker and kubernetes support, nicer UI
https://unsplash.com/photos/eA2t5EvcxU4
Problems with Selenium Grid 2 The selenium codebase
https://unsplash.com/photos/hKVg7ldM5VU
Selenium Grid 4 Because we can’t count
https://unsplash.com/photos/GFpxQ2ZyNc0
Selenium Grid 4 The moving parts
Router Directs requests to the Grid
Selenium Grid 4 The moving parts
Router Directs requests to the Grid
DistributorDetermines where to run a session
Selenium Grid 4 The moving parts
Router Directs requests to the Grid
DistributorDetermines where to run a session
Session
Map
Maps session IDs to where the session is
Selenium Grid 4 The moving parts
Router Directs requests to the Grid
DistributorDetermines where to run a session
Session
Map
Maps session IDs to where the session is
NodeActually hosts the session
Selenium Grid 4 Standalone
Router
Session
Map
Distributor
Node
Selenium Grid 4 Hub and Nodes
Router
Session
Map
Distributor
NodeNodeNode
Selenium Grid 4 Distributed
Session
Map
Distributor
RouterRouterRouter
NodeNodeNode
Observability
https://unsplash.com/photos/imwaY7KA9qs
Demo
Docker Support Built into the Selenium Server
https://unsplash.com/photos/71kHyBGC6dQ
GraphQL Query the Grid!
https://unsplash.com/photos/L9EV3OogLh0
Selenium 4
• A new IDE

• WebDriver

• Same user-facing APIs

• “Only” the W3C WebDriver protocol

• Relative locators

• New options for testing

• Grid

• Better suited to the modern world

• Cleaner code base
https://unsplash.com/photos/ceLRoyy1p9Y
Any Questions?
https://unsplash.com/photos/AoqgGAqrLpU

More Related Content

PDF
Using Axe to Add Accessibility Checks to Your Existing Selenium Tests
PPTX
Moving From a Selenium Grid to the Cloud - A Real Life Story
PDF
CPAN Workshop, Chicago 2014
PDF
Continuous delivery of your legacy application
PDF
My Top 5 Favorite Gems
PDF
Accelerating DevOps Collaboration with Sauce Labs and JIRA
PDF
Creating Hyper Performant Web Apps with React
PPTX
Controlling the browser through python and selenium
Using Axe to Add Accessibility Checks to Your Existing Selenium Tests
Moving From a Selenium Grid to the Cloud - A Real Life Story
CPAN Workshop, Chicago 2014
Continuous delivery of your legacy application
My Top 5 Favorite Gems
Accelerating DevOps Collaboration with Sauce Labs and JIRA
Creating Hyper Performant Web Apps with React
Controlling the browser through python and selenium

What's hot (20)

PPTX
Mountebank and you
PPT
No Va Taig April 7 2010
PDF
Trying Out Tomorrow’s WordPress Today
PDF
Managing Modules Without Going Crazy (NPW 2007)
PDF
WordPress 4.4 and Beyond
PPTX
Beyond the Release: CI That Transforms Organizations
PDF
Testing Automaton - CFSummit 2016
PPTX
Cross browser testing with browser stack
PPT
Hacking on gems
PDF
Resilience testing with Wiremock and Spock
PDF
ColdFusion builder plugins
PDF
Node.JS: Do you know the dependency of your dependencies dependency
PPTX
Come Sail Away With Me (you guys): Node.js MVC Web API's Using Sails.js
PPTX
Engineering Tools at Netflix: Enabling Continuous Delivery
KEY
Jellyfish, JSCONF 2011
PDF
Continuous Deployment at Etsy: A Tale of Two Approaches
PPTX
Selenium for Jobseekers
PDF
Anyone Can Cook—Is the Same True for Test Automation?
PPTX
Don't roll your own HTTP server
PDF
AtlasCamp 2013: Bring your own Stack
Mountebank and you
No Va Taig April 7 2010
Trying Out Tomorrow’s WordPress Today
Managing Modules Without Going Crazy (NPW 2007)
WordPress 4.4 and Beyond
Beyond the Release: CI That Transforms Organizations
Testing Automaton - CFSummit 2016
Cross browser testing with browser stack
Hacking on gems
Resilience testing with Wiremock and Spock
ColdFusion builder plugins
Node.JS: Do you know the dependency of your dependencies dependency
Come Sail Away With Me (you guys): Node.js MVC Web API's Using Sails.js
Engineering Tools at Netflix: Enabling Continuous Delivery
Jellyfish, JSCONF 2011
Continuous Deployment at Etsy: A Tale of Two Approaches
Selenium for Jobseekers
Anyone Can Cook—Is the Same True for Test Automation?
Don't roll your own HTTP server
AtlasCamp 2013: Bring your own Stack
Ad

Similar to Webinar: A Sneak Peek at Selenium 4 with Simon Stewart (20)

PDF
Selenium 4 with Simon Stewart [Webinar]
PPTX
Selenium webdriver version 4 features by vikas thange xpanxion automation te...
KEY
Getting started with Selenium 2
PPTX
Session on Selenium 4 : What’s coming our way? by Hitesh Prajapati
PPTX
Selenium 4 - What's coming our way - v1.0.pptx
PDF
Selenium - what it is and what you can do with it
PPTX
Selenium-3-vs-Selenium-4-A-Deep-Dive-into-Web-Automation-Evolution (1).pptx
PPTX
A Deep Dive into the W3C WebDriver Specification
PDF
Using Selenium 3 0
PPTX
Selenium-4
PPTX
Demystifying Selenium framework
PPT
A Buffer's Guide to Selenium 2
PPT
Selenium 2
PPT
Selenium 2
PDF
Selenium 4 advent of improved selenium grid and key features
PDF
What's new in selenium 4
PDF
[Rakuten TechConf2014] [Osaka] Introducing Selenium 2 WebDriver
PPTX
Selenium Interview Questions And Answers | Selenium Interview Questions | Sel...
PPTX
Selenium-3-vs-Selenium-4-Advancing-Web-Automation.pptx
PPTX
Selenium Tutorial for Beginners - TIB Academy
Selenium 4 with Simon Stewart [Webinar]
Selenium webdriver version 4 features by vikas thange xpanxion automation te...
Getting started with Selenium 2
Session on Selenium 4 : What’s coming our way? by Hitesh Prajapati
Selenium 4 - What's coming our way - v1.0.pptx
Selenium - what it is and what you can do with it
Selenium-3-vs-Selenium-4-A-Deep-Dive-into-Web-Automation-Evolution (1).pptx
A Deep Dive into the W3C WebDriver Specification
Using Selenium 3 0
Selenium-4
Demystifying Selenium framework
A Buffer's Guide to Selenium 2
Selenium 2
Selenium 2
Selenium 4 advent of improved selenium grid and key features
What's new in selenium 4
[Rakuten TechConf2014] [Osaka] Introducing Selenium 2 WebDriver
Selenium Interview Questions And Answers | Selenium Interview Questions | Sel...
Selenium-3-vs-Selenium-4-Advancing-Web-Automation.pptx
Selenium Tutorial for Beginners - TIB Academy
Ad

More from Sauce Labs (20)

PDF
Simplify Salesforce Testing with AI-Driven Codeless Tools
PDF
Testing on Mobile Devices with Location Services
PDF
Your Framework for Success: introduction to JavaScript Testing at Scale
PDF
Automating Hybrid Applications with Appium
PDF
Quality at Speed: More API Testing, Less UI Testing
PPTX
Creating Digital Confidence with Test Automation
PDF
Just Enough (Automated) Testing
PDF
How Open Source Helps to Bring Back Product Obsession
PDF
[Deu] Test Automatisierung Mit Web Driver.io
PDF
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
PDF
Accelerating Your Digital Agenda with Continuous Testing ft. Forrester
PDF
How to Measure Success in Continuous Testing
PDF
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
PDF
5 Steps to Jump Start Your Test Automation
PDF
Sauce Labs Webinar: Rising Importance of Software Testing
PDF
BDD With Selenide by Hima Bindu Peteti
PDF
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
PDF
Continuous Delivery for "Mature" Codebases by Melisa Benua
PDF
Building Automation Engineers From Scratch by Jenny Bramble
PDF
Automated Testing at The Speed of Headless by Alissa Lydon and Samantha Coffman
Simplify Salesforce Testing with AI-Driven Codeless Tools
Testing on Mobile Devices with Location Services
Your Framework for Success: introduction to JavaScript Testing at Scale
Automating Hybrid Applications with Appium
Quality at Speed: More API Testing, Less UI Testing
Creating Digital Confidence with Test Automation
Just Enough (Automated) Testing
How Open Source Helps to Bring Back Product Obsession
[Deu] Test Automatisierung Mit Web Driver.io
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
Accelerating Your Digital Agenda with Continuous Testing ft. Forrester
How to Measure Success in Continuous Testing
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
5 Steps to Jump Start Your Test Automation
Sauce Labs Webinar: Rising Importance of Software Testing
BDD With Selenide by Hima Bindu Peteti
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Continuous Delivery for "Mature" Codebases by Melisa Benua
Building Automation Engineers From Scratch by Jenny Bramble
Automated Testing at The Speed of Headless by Alissa Lydon and Samantha Coffman

Recently uploaded (20)

PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Advanced Soft Computing BINUS July 2025.pdf
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Machine learning based COVID-19 study performance prediction
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
KodekX | Application Modernization Development
PDF
Modernizing your data center with Dell and AMD
PPTX
MYSQL Presentation for SQL database connectivity
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Diabetes mellitus diagnosis method based random forest with bat algorithm
The AUB Centre for AI in Media Proposal.docx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Reach Out and Touch Someone: Haptics and Empathic Computing
Per capita expenditure prediction using model stacking based on satellite ima...
Review of recent advances in non-invasive hemoglobin estimation
20250228 LYD VKU AI Blended-Learning.pptx
Advanced Soft Computing BINUS July 2025.pdf
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
“AI and Expert System Decision Support & Business Intelligence Systems”
Machine learning based COVID-19 study performance prediction
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
KodekX | Application Modernization Development
Modernizing your data center with Dell and AMD
MYSQL Presentation for SQL database connectivity

Webinar: A Sneak Peek at Selenium 4 with Simon Stewart

  • 1. A Sneak Peak at Selenium 4 Simon Stewart (@shs96c) Selenium Project Lead
  • 2. TL;DR • How the Selenium project runs • A new IDE • Stable user-facing APIs • New tricks • CDP integration • Relative locators • A Modernised Selenium Grid • Works with Kubernetes • Observability
  • 3. Selenium, the SFC & PLC, the TLC, and you https://unsplash.com/photos/xFjti9rYILo
  • 4. The SFC & PLC The “bridge to the SFC”
  • 5. The TLC Lead the technical direction of Selenium
  • 6. Talking to us and contributing https://unsplash.com/photos/V5vqWC9gyEU
  • 7. Why the Major Version Number Bump?
  • 8. IDE: Revivified! Thanks, SideX and Applitools
  • 9. We have adopted the W3C WebDriver protocol It’s already implemented in Selenium 3.141.59 https://unsplash.com/photos/ywqa9IZB-dU
  • 10. What does the mean for users? Probably nothing https://unsplash.com/photos/i55tj_BBwa0
  • 11. Who Cares About Protocol Dialects? “Selenium as a Service” providers
  • 13. Drop-in upgrade With caveats https://unsplash.com/photos/wbx3FeGOEQ0
  • 14. If it was deprecated It’s probably gone https://unsplash.com/photos/TW62wXQ6Omc
  • 16. Legacy wire protocol support Provided by the java bindings and legacy jars https://unsplash.com/photos/CeZypKDceQc
  • 17. .Net, JS, Ruby, & Python: W3C only Even Java will require you to make extra effort https://unsplash.com/photos/V862kywlKkw
  • 18. All third party drivers use the W3C protocol already Even Edgium! https://unsplash.com/photos/IuLgi9PWETU
  • 19. Does this matter? Probably not https://unsplash.com/photos/Ar5FGfHXwMU
  • 21. What do Puppeteer and Cypress offer? (A gross simplification of reality follows) https://unsplash.com/photos/j0vIeF69Jgc
  • 22. Can listen for events from the browser Enabled via the Chrome Debugging Protocol https://flic.kr/p/5keRVg
  • 24. Finding things is hard The provided “By” implementations are limited https://unsplash.com/photos/yxvRh0C-aVA
  • 25. Relative locators: a history Sahi started it https://unsplash.com/photos/NywSG9q3wC8
  • 26. Relative locators “near”, “above”, “below”, “left of”, “right of”, https://unsplash.com/photos/C5XyLljkMrY
  • 28. Pluggable locators Add new location strategies on the fly https://unsplash.com/photos/bfJjBskA3gA
  • 30. The Selenium Farm Thanks, Google! https://unsplash.com/photos/XemjjFd_4qE
  • 31. The Original Grid Thanks, Philippe! https://unsplash.com/photos/TixcqTuuVsE
  • 32. Problems with The Original Grid “Selenium RC” https://unsplash.com/photos/G-zsrSWvKmc
  • 33. Selenium Grid 2 Thanks, Francois! https://unsplash.com/photos/BW0vK-FA3eg
  • 34. Problems with Selenium Grid 2 2011 was a long time ago https://unsplash.com/photos/RfAEjh_J6e0
  • 35. The modern world Docker, Kubernetes, AWS, GCP, Azure https://unsplash.com/photos/rSFxBGpnluw
  • 36. Zalenium is excellent Docker and kubernetes support, nicer UI https://unsplash.com/photos/eA2t5EvcxU4
  • 37. Problems with Selenium Grid 2 The selenium codebase https://unsplash.com/photos/hKVg7ldM5VU
  • 38. Selenium Grid 4 Because we can’t count https://unsplash.com/photos/GFpxQ2ZyNc0
  • 39. Selenium Grid 4 The moving parts Router Directs requests to the Grid
  • 40. Selenium Grid 4 The moving parts Router Directs requests to the Grid DistributorDetermines where to run a session
  • 41. Selenium Grid 4 The moving parts Router Directs requests to the Grid DistributorDetermines where to run a session Session Map Maps session IDs to where the session is
  • 42. Selenium Grid 4 The moving parts Router Directs requests to the Grid DistributorDetermines where to run a session Session Map Maps session IDs to where the session is NodeActually hosts the session
  • 43. Selenium Grid 4 Standalone Router Session Map Distributor Node
  • 44. Selenium Grid 4 Hub and Nodes Router Session Map Distributor NodeNodeNode
  • 45. Selenium Grid 4 Distributed Session Map Distributor RouterRouterRouter NodeNodeNode
  • 47. Demo
  • 48. Docker Support Built into the Selenium Server https://unsplash.com/photos/71kHyBGC6dQ
  • 49. GraphQL Query the Grid! https://unsplash.com/photos/L9EV3OogLh0
  • 50. Selenium 4 • A new IDE • WebDriver • Same user-facing APIs • “Only” the W3C WebDriver protocol • Relative locators • New options for testing • Grid • Better suited to the modern world • Cleaner code base https://unsplash.com/photos/ceLRoyy1p9Y