SlideShare a Scribd company logo
1 of 40
SELENIUM 4 & THE W3C
STANDARD
February 23rd, 2019
2
It’s no big deal
What We’ll Cover
3
● A Story of People
● What is a standard?
● The WebDriver W3C standard
● How to Adopt
● Grid & IDE
● Call to Action
A STORY OF PEOPLE
5
SeConf
London
April 2012
6...we stopped caring after 2014. We’d won.
7
THE W3C STANDARD
WHAT IS A STANDARD??
9@mmerrell
WHAT’S THE DIFFERENCE?
10
You came here for a Latin lesson, right?
De facto—“In fact”
True for practical reasons or consensus:
“most of us think this is a great idea!”
De jure—“In law”
A formal, official status or agreement:
“this is now codified as a requirement”
“This test tool seems to work better than
the others. Let’s use it!”
“The browser vendors have now agreed
to unify how Selenium is implemented”
@mmerrell
BEFORE THE EARTH COOLED
● Initially developed to test a time & expense system
● Selenium debuted in 2004
● WebDriver followed in 2007
● Projects combined in 2008
● HP was still “king”
● Selenium took advantage of certain “common interfaces”
within the browser
○ Injected JavaScript into the responses coming back
from the server
○ Server-side socket in Firefox was left open from
experiments with Distributed XPCOM
● Browser vendors/developers barely knew these things
existed
@mmerrell
A FORCE THAT COULDN’T BE IGNORED
12
As Selenium/WebDriver merged and slowly gained critical mass,
legacy testing tools disappeared
Browser vendors took notice
@mmerrell
SELENIUM EMERGES AS THE STANDARD
13
2012
Proposal
Working Group
forms
2018
Recommendation
Adoption in
principle
2016
Editor’s Draft
Specifics take
shape
2019
Selenium 4
Full adoption of
the standard
@mmerrell
THE STANDARD
14
● The web is different now
● Infrastructure is different now
● For many years there was a real risk that this whole thing could be
“shut down” by Google, Microsoft, Mozilla, Apple
● Going from “hack” to “standard”
● The “connective tissue” between Selenium and the browser is now
maintained by a standards committee, collaborating with the experts
who created the browser
The W3C github repo is the meeting point between the Selenium Project
and the browser vendors.
@mmerrell
IN A PERFECT WORLD
15
● All at once:
○ Selenium 4 is released
○ All browsers work with Selenium 4 immediately
○ Everyone updates their capabilities
○ Legacy code is deleted
○ We hold hands and sing
@mmerrell
REALITY IN EARLY 2019
16
● We’re close
● Jim Evans’ Tweet stream on overall compliance
● You still have to set an “experimental” flag to enable
W3c with Chrome
● Undiscovered bugs all over, no doubt
● Safari is behind (48% compliance)
@mmerrell
WHY SHOULD I SWITCH NOW?
17
● To utilize the newest browsers
● To stay ahead while you still have control
● Browser vendors will start turning off support for the “legacy”
protocol shortly after Selenium 4 is released
● If you’re using the legacy version, you will be “stuck in time” on
older versions of the browsers/drivers
● Be the leader in your org by using the most up-to-date
technology
● Go have a look! It’s open-source and ready for engagement!
https://github.com/w3c/webdriver @mmerrell
W3C AND MY TESTS
WILL MY TESTS STILL RUN?
19
● In short, yes!
● Switching now gives you:
○ Full advantage of W3C capabilities
○ Future proof your tests against
incompatibility issues
● There will be bugs
● REPORT THE BUGS
@mmerrell
AN EXAMPLE IN JAVA—BEFORE
20@mmerrell
AN EXAMPLE IN JAVA—AFTER
21@mmerrell
PYTHON—BEFORE
22@mmerrell
PYTHON—AFTER
23@mmerrell
SLIGHT CHANGES TO CAPABILITIES
24@mmerrell
platform platformName
browser browserName
version browserVersion
DesiredCapabilities.chrome() ChromeOptions
Last intended version of Selenium 3x is 3.141.59
WHAT’S NEXT?
25
• Follow the progress of the Selenium 4 release!
https://github.com/SeleniumHQ/selenium/projects/2
@mmerrell
26@mmerrell
REVAMPED GRID & IDE
SELENIUM GRID
28
● Improved UI
● Container-ready
● Improved observability
● More thread-safe
● Hub and Node no longer separate
@mmerrell
SELENIUM IDE TNG—RECORD & PLAYBACK
29
● Supports Chrome & Firefox
● Smart locator technology
● New plugin system/ecosystem
● CLI Runner
● Code export coming soon!
https://www.seleniumhq.org/selenium-ide/
@mmerrell
WHAT ABOUT APPIUM?
30
...it’s ready already
@mmerrell
CALL TO ACTION
SOME STATS
32
● 434 Open Issues
● 111 Open Pull Requests
● 116 Releases
● 418 Contributors
● 25,503 Commits
...all we’re missing is you!
@mmerrell
33@mmerrell
JUST STOP
STRAIGHT FROM HUGS
34@mmerrell
SOFTWARE FREEDOM CONSERVANCY
35@mmerrell
“Open source is
under threat from
multiple fronts”
—Karen Sandler
OUR LANDSCAPE IS CHANGING
36@mmerrell
OUR LANDSCAPE IS CHANGING
37@mmerrell
Q&A
SPECIAL THANKS
● Alyssa Lydon
● Samantha Coffman
● Jim Evans
● Jason Huggins
● Simon Stewart
● Dave Haeffner
39@mmerrell
NEED SOME MORE INFO ON SELENIUM 4?
• Selenium State of the Union - SeConf India
• Blog post - DZone
• SeleniumHQ - Selenium Documentation
40@mmerrell

More Related Content

What's hot

The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...
The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...
The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...DevOpsDays Tel Aviv
 
JavaOne 2016 - The DevOps Disaster
JavaOne 2016 -  The DevOps DisasterJavaOne 2016 -  The DevOps Disaster
JavaOne 2016 - The DevOps DisasterBert Jan Schrijver
 
DevOps - Mindset first, Tools second.
DevOps - Mindset first, Tools second.DevOps - Mindset first, Tools second.
DevOps - Mindset first, Tools second.Ann Venkataraman
 
Don't Ship That Container - Dirk Hohndel
Don't Ship That Container - Dirk HohndelDon't Ship That Container - Dirk Hohndel
Don't Ship That Container - Dirk HohndelShane Coughlan
 
We thought we were doing continuous delivery and then...
We thought we were doing continuous delivery and then... We thought we were doing continuous delivery and then...
We thought we were doing continuous delivery and then... Suzie Prince
 
DevQAOps - Surviving in a DevOps World
DevQAOps - Surviving in a DevOps WorldDevQAOps - Surviving in a DevOps World
DevQAOps - Surviving in a DevOps WorldWinston Laoh
 
Oracle Code Brussels 2017 - The DevOps disaster
Oracle Code Brussels 2017 - The DevOps disasterOracle Code Brussels 2017 - The DevOps disaster
Oracle Code Brussels 2017 - The DevOps disasterBert Jan Schrijver
 
Digital Ocean Amsterdam meetup March 2017 - The DevOps disaster
Digital Ocean Amsterdam meetup March 2017 - The DevOps disasterDigital Ocean Amsterdam meetup March 2017 - The DevOps disaster
Digital Ocean Amsterdam meetup March 2017 - The DevOps disasterBert Jan Schrijver
 
Continuous Integration: A bittersweet love story
Continuous Integration: A bittersweet love story Continuous Integration: A bittersweet love story
Continuous Integration: A bittersweet love story Suzie Prince
 
Continuous integration and delivery
Continuous integration and deliveryContinuous integration and delivery
Continuous integration and deliveryDanilo Pianini
 
Codemotion Amsterdam 2016 - The DevOps Disaster
Codemotion Amsterdam 2016 - The DevOps DisasterCodemotion Amsterdam 2016 - The DevOps Disaster
Codemotion Amsterdam 2016 - The DevOps DisasterBert Jan Schrijver
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsNitin Bhide
 
Comparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End TestingComparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End TestingKatie Chin
 
Microsoft Virtual Academy Transcript
Microsoft Virtual Academy TranscriptMicrosoft Virtual Academy Transcript
Microsoft Virtual Academy TranscriptJesse Glover
 
DevOpsGuys Performance Testing with APM Tools workshop
DevOpsGuys Performance Testing with APM Tools workshopDevOpsGuys Performance Testing with APM Tools workshop
DevOpsGuys Performance Testing with APM Tools workshopDevOpsGroup
 
Full stack-web-design
Full stack-web-designFull stack-web-design
Full stack-web-designKevin Conboy
 

What's hot (20)

Develop 4 Developers
Develop 4 DevelopersDevelop 4 Developers
Develop 4 Developers
 
The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...
The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...
The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...
 
JavaOne 2016 - The DevOps Disaster
JavaOne 2016 -  The DevOps DisasterJavaOne 2016 -  The DevOps Disaster
JavaOne 2016 - The DevOps Disaster
 
DevOps - Mindset first, Tools second.
DevOps - Mindset first, Tools second.DevOps - Mindset first, Tools second.
DevOps - Mindset first, Tools second.
 
From Head to Binary
From Head to BinaryFrom Head to Binary
From Head to Binary
 
Don't Ship That Container - Dirk Hohndel
Don't Ship That Container - Dirk HohndelDon't Ship That Container - Dirk Hohndel
Don't Ship That Container - Dirk Hohndel
 
We thought we were doing continuous delivery and then...
We thought we were doing continuous delivery and then... We thought we were doing continuous delivery and then...
We thought we were doing continuous delivery and then...
 
Is TDD dead or alive?
Is TDD dead or alive?Is TDD dead or alive?
Is TDD dead or alive?
 
DevQAOps - Surviving in a DevOps World
DevQAOps - Surviving in a DevOps WorldDevQAOps - Surviving in a DevOps World
DevQAOps - Surviving in a DevOps World
 
Oracle Code Brussels 2017 - The DevOps disaster
Oracle Code Brussels 2017 - The DevOps disasterOracle Code Brussels 2017 - The DevOps disaster
Oracle Code Brussels 2017 - The DevOps disaster
 
Digital Ocean Amsterdam meetup March 2017 - The DevOps disaster
Digital Ocean Amsterdam meetup March 2017 - The DevOps disasterDigital Ocean Amsterdam meetup March 2017 - The DevOps disaster
Digital Ocean Amsterdam meetup March 2017 - The DevOps disaster
 
Continuous Integration: A bittersweet love story
Continuous Integration: A bittersweet love story Continuous Integration: A bittersweet love story
Continuous Integration: A bittersweet love story
 
Continuous integration and delivery
Continuous integration and deliveryContinuous integration and delivery
Continuous integration and delivery
 
Codemotion Amsterdam 2016 - The DevOps Disaster
Codemotion Amsterdam 2016 - The DevOps DisasterCodemotion Amsterdam 2016 - The DevOps Disaster
Codemotion Amsterdam 2016 - The DevOps Disaster
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core Concepts
 
Comparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End TestingComparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End Testing
 
Microsoft Virtual Academy Transcript
Microsoft Virtual Academy TranscriptMicrosoft Virtual Academy Transcript
Microsoft Virtual Academy Transcript
 
DevOpsGuys Performance Testing with APM Tools workshop
DevOpsGuys Performance Testing with APM Tools workshopDevOpsGuys Performance Testing with APM Tools workshop
DevOpsGuys Performance Testing with APM Tools workshop
 
Jsday
JsdayJsday
Jsday
 
Full stack-web-design
Full stack-web-designFull stack-web-design
Full stack-web-design
 

Similar to SELENIUM 4 & THE W3C STANDARD

Html5 today
Html5 todayHtml5 today
Html5 todayRoy Yu
 
HTML5 - The Good, the Bad, the Ugly
HTML5 - The Good, the Bad, the UglyHTML5 - The Good, the Bad, the Ugly
HTML5 - The Good, the Bad, the UglyMario Heiderich
 
From hello world to goodbye code
From hello world to goodbye codeFrom hello world to goodbye code
From hello world to goodbye codeKim Moir
 
Your Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleYour Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleSauce Labs
 
State of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront ConferenceState of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront Conferencedmethvin
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?LOGINPHP360
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?LOGINPHP360
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkMediacurrent
 
NET vs Java Which Technology Is Better for Website Development
NET vs Java Which Technology Is Better for Website DevelopmentNET vs Java Which Technology Is Better for Website Development
NET vs Java Which Technology Is Better for Website DevelopmentVirtual Employee Pvt. Ltd.
 
Azug BE Session Nov 2018 Wim Van den Broeck
Azug BE Session Nov 2018 Wim Van den BroeckAzug BE Session Nov 2018 Wim Van den Broeck
Azug BE Session Nov 2018 Wim Van den BroeckWim Van den Broeck
 
Top 3 selenium IDE alternatives for Chrome and Firefox
Top 3 selenium IDE alternatives for Chrome and FirefoxTop 3 selenium IDE alternatives for Chrome and Firefox
Top 3 selenium IDE alternatives for Chrome and FirefoxKatalon Studio
 
Lifestyles of the rich and frameworkless
Lifestyles of the rich and frameworklessLifestyles of the rich and frameworkless
Lifestyles of the rich and frameworklessEqual Experts
 
Build your next application in weeks and not months with Groovy and Grails
Build your next application in weeks and not months with Groovy and GrailsBuild your next application in weeks and not months with Groovy and Grails
Build your next application in weeks and not months with Groovy and GrailsPeople10 Technosoft Private Limited
 
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...GreeceJS
 
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil TayarCypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil TayarApplitools
 
Curious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonCurious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonHamed Hatami
 

Similar to SELENIUM 4 & THE W3C STANDARD (20)

Html5 today
Html5 todayHtml5 today
Html5 today
 
HTML5 - The Good, the Bad, the Ugly
HTML5 - The Good, the Bad, the UglyHTML5 - The Good, the Bad, the Ugly
HTML5 - The Good, the Bad, the Ugly
 
From hello world to goodbye code
From hello world to goodbye codeFrom hello world to goodbye code
From hello world to goodbye code
 
Your Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleYour Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at Scale
 
State of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront ConferenceState of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront Conference
 
Go Revel Gooo...
Go Revel Gooo...Go Revel Gooo...
Go Revel Gooo...
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management Framework
 
NET vs Java Which Technology Is Better for Website Development
NET vs Java Which Technology Is Better for Website DevelopmentNET vs Java Which Technology Is Better for Website Development
NET vs Java Which Technology Is Better for Website Development
 
Web frameworks
Web frameworksWeb frameworks
Web frameworks
 
Azug BE Session Nov 2018 Wim Van den Broeck
Azug BE Session Nov 2018 Wim Van den BroeckAzug BE Session Nov 2018 Wim Van den Broeck
Azug BE Session Nov 2018 Wim Van den Broeck
 
Top 3 selenium IDE alternatives for Chrome and Firefox
Top 3 selenium IDE alternatives for Chrome and FirefoxTop 3 selenium IDE alternatives for Chrome and Firefox
Top 3 selenium IDE alternatives for Chrome and Firefox
 
Lifestyles of the rich and frameworkless
Lifestyles of the rich and frameworklessLifestyles of the rich and frameworkless
Lifestyles of the rich and frameworkless
 
Build your next application in weeks and not months with Groovy and Grails
Build your next application in weeks and not months with Groovy and GrailsBuild your next application in weeks and not months with Groovy and Grails
Build your next application in weeks and not months with Groovy and Grails
 
Automated Browser Testing
Automated Browser TestingAutomated Browser Testing
Automated Browser Testing
 
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
 
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil TayarCypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
 
Curious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonCurious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks Comparison
 
OpenCms Days 2013 - Start rolling with OpenCms 9
OpenCms Days 2013 - Start rolling with OpenCms 9OpenCms Days 2013 - Start rolling with OpenCms 9
OpenCms Days 2013 - Start rolling with OpenCms 9
 

More from Marcus Merrell

How, why, and the roi kcdc '21
How, why, and the roi  kcdc '21How, why, and the roi  kcdc '21
How, why, and the roi kcdc '21Marcus Merrell
 
SeleniumCamp 2020 - Shift Right and Observability
SeleniumCamp 2020 - Shift Right and ObservabilitySeleniumCamp 2020 - Shift Right and Observability
SeleniumCamp 2020 - Shift Right and ObservabilityMarcus Merrell
 
Break up the Monolith: Testing Microservices
Break up the Monolith: Testing MicroservicesBreak up the Monolith: Testing Microservices
Break up the Monolith: Testing MicroservicesMarcus Merrell
 
Grading the Quality of Selenium Tests
Grading the Quality of Selenium TestsGrading the Quality of Selenium Tests
Grading the Quality of Selenium TestsMarcus Merrell
 
Selenium grid workshop london 2016
Selenium grid workshop london 2016Selenium grid workshop london 2016
Selenium grid workshop london 2016Marcus Merrell
 
User Analytics Testing - SeleniumCamp 2015
User Analytics Testing - SeleniumCamp 2015User Analytics Testing - SeleniumCamp 2015
User Analytics Testing - SeleniumCamp 2015Marcus Merrell
 

More from Marcus Merrell (6)

How, why, and the roi kcdc '21
How, why, and the roi  kcdc '21How, why, and the roi  kcdc '21
How, why, and the roi kcdc '21
 
SeleniumCamp 2020 - Shift Right and Observability
SeleniumCamp 2020 - Shift Right and ObservabilitySeleniumCamp 2020 - Shift Right and Observability
SeleniumCamp 2020 - Shift Right and Observability
 
Break up the Monolith: Testing Microservices
Break up the Monolith: Testing MicroservicesBreak up the Monolith: Testing Microservices
Break up the Monolith: Testing Microservices
 
Grading the Quality of Selenium Tests
Grading the Quality of Selenium TestsGrading the Quality of Selenium Tests
Grading the Quality of Selenium Tests
 
Selenium grid workshop london 2016
Selenium grid workshop london 2016Selenium grid workshop london 2016
Selenium grid workshop london 2016
 
User Analytics Testing - SeleniumCamp 2015
User Analytics Testing - SeleniumCamp 2015User Analytics Testing - SeleniumCamp 2015
User Analytics Testing - SeleniumCamp 2015
 

Recently uploaded

Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 

Recently uploaded (20)

Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 

SELENIUM 4 & THE W3C STANDARD

  • 1. SELENIUM 4 & THE W3C STANDARD February 23rd, 2019
  • 3. What We’ll Cover 3 ● A Story of People ● What is a standard? ● The WebDriver W3C standard ● How to Adopt ● Grid & IDE ● Call to Action
  • 4. A STORY OF PEOPLE
  • 6. 6...we stopped caring after 2014. We’d won.
  • 7. 7
  • 9. WHAT IS A STANDARD?? 9@mmerrell
  • 10. WHAT’S THE DIFFERENCE? 10 You came here for a Latin lesson, right? De facto—“In fact” True for practical reasons or consensus: “most of us think this is a great idea!” De jure—“In law” A formal, official status or agreement: “this is now codified as a requirement” “This test tool seems to work better than the others. Let’s use it!” “The browser vendors have now agreed to unify how Selenium is implemented” @mmerrell
  • 11. BEFORE THE EARTH COOLED ● Initially developed to test a time & expense system ● Selenium debuted in 2004 ● WebDriver followed in 2007 ● Projects combined in 2008 ● HP was still “king” ● Selenium took advantage of certain “common interfaces” within the browser ○ Injected JavaScript into the responses coming back from the server ○ Server-side socket in Firefox was left open from experiments with Distributed XPCOM ● Browser vendors/developers barely knew these things existed @mmerrell
  • 12. A FORCE THAT COULDN’T BE IGNORED 12 As Selenium/WebDriver merged and slowly gained critical mass, legacy testing tools disappeared Browser vendors took notice @mmerrell
  • 13. SELENIUM EMERGES AS THE STANDARD 13 2012 Proposal Working Group forms 2018 Recommendation Adoption in principle 2016 Editor’s Draft Specifics take shape 2019 Selenium 4 Full adoption of the standard @mmerrell
  • 14. THE STANDARD 14 ● The web is different now ● Infrastructure is different now ● For many years there was a real risk that this whole thing could be “shut down” by Google, Microsoft, Mozilla, Apple ● Going from “hack” to “standard” ● The “connective tissue” between Selenium and the browser is now maintained by a standards committee, collaborating with the experts who created the browser The W3C github repo is the meeting point between the Selenium Project and the browser vendors. @mmerrell
  • 15. IN A PERFECT WORLD 15 ● All at once: ○ Selenium 4 is released ○ All browsers work with Selenium 4 immediately ○ Everyone updates their capabilities ○ Legacy code is deleted ○ We hold hands and sing @mmerrell
  • 16. REALITY IN EARLY 2019 16 ● We’re close ● Jim Evans’ Tweet stream on overall compliance ● You still have to set an “experimental” flag to enable W3c with Chrome ● Undiscovered bugs all over, no doubt ● Safari is behind (48% compliance) @mmerrell
  • 17. WHY SHOULD I SWITCH NOW? 17 ● To utilize the newest browsers ● To stay ahead while you still have control ● Browser vendors will start turning off support for the “legacy” protocol shortly after Selenium 4 is released ● If you’re using the legacy version, you will be “stuck in time” on older versions of the browsers/drivers ● Be the leader in your org by using the most up-to-date technology ● Go have a look! It’s open-source and ready for engagement! https://github.com/w3c/webdriver @mmerrell
  • 18. W3C AND MY TESTS
  • 19. WILL MY TESTS STILL RUN? 19 ● In short, yes! ● Switching now gives you: ○ Full advantage of W3C capabilities ○ Future proof your tests against incompatibility issues ● There will be bugs ● REPORT THE BUGS @mmerrell
  • 20. AN EXAMPLE IN JAVA—BEFORE 20@mmerrell
  • 21. AN EXAMPLE IN JAVA—AFTER 21@mmerrell
  • 24. SLIGHT CHANGES TO CAPABILITIES 24@mmerrell platform platformName browser browserName version browserVersion DesiredCapabilities.chrome() ChromeOptions Last intended version of Selenium 3x is 3.141.59
  • 25. WHAT’S NEXT? 25 • Follow the progress of the Selenium 4 release! https://github.com/SeleniumHQ/selenium/projects/2 @mmerrell
  • 28. SELENIUM GRID 28 ● Improved UI ● Container-ready ● Improved observability ● More thread-safe ● Hub and Node no longer separate @mmerrell
  • 29. SELENIUM IDE TNG—RECORD & PLAYBACK 29 ● Supports Chrome & Firefox ● Smart locator technology ● New plugin system/ecosystem ● CLI Runner ● Code export coming soon! https://www.seleniumhq.org/selenium-ide/ @mmerrell
  • 30. WHAT ABOUT APPIUM? 30 ...it’s ready already @mmerrell
  • 32. SOME STATS 32 ● 434 Open Issues ● 111 Open Pull Requests ● 116 Releases ● 418 Contributors ● 25,503 Commits ...all we’re missing is you! @mmerrell
  • 35. SOFTWARE FREEDOM CONSERVANCY 35@mmerrell “Open source is under threat from multiple fronts” —Karen Sandler
  • 36. OUR LANDSCAPE IS CHANGING 36@mmerrell
  • 37. OUR LANDSCAPE IS CHANGING 37@mmerrell
  • 38. Q&A
  • 39. SPECIAL THANKS ● Alyssa Lydon ● Samantha Coffman ● Jim Evans ● Jason Huggins ● Simon Stewart ● Dave Haeffner 39@mmerrell
  • 40. NEED SOME MORE INFO ON SELENIUM 4? • Selenium State of the Union - SeConf India • Blog post - DZone • SeleniumHQ - Selenium Documentation 40@mmerrell

Editor's Notes

  1. The web is different - JavaScript, dynamic everything, analytics Infrastructure is different - Cloud, Docker, Kubernetes