SlideShare a Scribd company logo
1 of 18
Japan Selenium User Community
日本Seleniumユーザーコミュニティ
Test Automation Journey
Parallel Execution of E2E Test
May 16, 2020
第5回Seleniumユーザーコミュニティ勉強会
@woosyume
Japan Selenium User Community
日本Seleniumユーザーコミュニティ
• Software Engineer
• Test automation TF lead
• Scrum Master
• At Raku*nRanking Frontend team
• Organizer
• Japan Selenium UC Kansai branch
• Korea Selenium UC (co-founder)
• Speaker
• SeleniumConf 2019
• Rakuten Technology Conference 2019
• Regional Scrum Gathering Tokyo 2020
• DevRel Earth 2020 (TBU)
Profile
@woosyume
Japan Selenium User Community
日本Seleniumユーザーコミュニティ
Test Automation Journey
Feel blue
with
manual test
Investigate
recursive
tests
Consider
which part
can be
automated
Build a
Strategy
Automate
tests
Migrate to
Shared
Environment
Optimizing
•Execution time
•Load
•Understandable
Reporting
Fully-
Automated
with high-
performance
Japan Selenium User Community
日本Seleniumユーザーコミュニティ
Problem
It takes a long time…
2Hours
Japan Selenium User Community
日本Seleniumユーザーコミュニティ
Current Workflow
DatabaseAPI
Test Automation
Application
Front Page
Create expected value dynamically
& Store it as in-memory cache
As post action
Commit
Set destination
And access
Japan Selenium User Community
日本Seleniumユーザーコミュニティ
3 Ways to reduce execution time
• Distributing test environments to nodes
Edge
on Windows
Chrome
in iOS
Firefox
on Ubuntu
Safari
on MacOS
Hub and Nodes
Japan Selenium User Community
日本Seleniumユーザーコミュニティ
3 Ways to reduce execution time
• Distributing test environments to multiple pods
Selenium
Code Image
Selenium
Hub Image
Browser
Image
Containers
Selenium Code
Container
Selenium Hub
Container
Browser
ContainerBrowser
Container
Japan Selenium User Community
日本Seleniumユーザーコミュニティ
3 Ways to reduce execution time
• Executing tests with multiple threads
Chrome
in iOS
thread-1
thread-2
thread-3
thread-4
Japan Selenium User Community
日本Seleniumユーザーコミュニティ
Concept
• Run multiple threads maximizing performance of cores
Japan Selenium User Community
日本Seleniumユーザーコミュニティ
Prototype with plugin
• maven-surfire-plugin
d Before
After
440s
231s
50%↗
Japan Selenium User Community
日本Seleniumユーザーコミュニティ
Prototype with plugin
• The more I executes test cases, the more error occurred
Before
After
4520s
1809s
Japan Selenium User Community
日本Seleniumユーザーコミュニティ
Root Cause
• WebDriver is NOT ‘Thread-safe’
Cannot make sure that each driver instances works as an instance.
Launch a driver
Japan Selenium User Community
日本Seleniumユーザーコミュニティ
How did I resolve the issue
• Initialize local variable for each thread
• ThreadLocal supports to limit a scope of variable
Japan Selenium User Community
日本Seleniumユーザーコミュニティ
But I found another answer
• TestNG framework officially supports Selenium
• https://testng.org/doc/selenium.html
• JUnit just uses webdriver set from maven
• It seems more stable to use ‘multiple-thread function’ of TestNG than
plugin with forcible modification of the existing code
Easily migrate with Eclipse plugin
pom.xml
testng.xml
Japan Selenium User Community
日本Seleniumユーザーコミュニティ
Test Automation Journey
Feel blue
with
manual test
Investigate
recursive
tests
Consider
which part
can be
automated
Build a
Strategy
Automate
tests
Migrate to
Shared
Environment
Optimizing
•Execution time
•Load
•Understandable
Reporting
Fully-
Automated
with high-
performance
Japan Selenium User Community
日本Seleniumユーザーコミュニティ
Next Station of this journey
DatabaseAPI
Test Automation
Application
Front Page
Create expected value dynamically
& Store it as in-memory cache
As post action
Commit
Set destination
And access
Japan Selenium User Community
日本Seleniumユーザーコミュニティ
もしこの旅行を始めたいけど、
テスト自動化の価値が分かってもらってなく
始められない方におすすめします。
https://www.slideshare.net/mavenant/selenium-effective-roi-for-test-automation
Japan Selenium User Community
日本Seleniumユーザーコミュニティ
Thankyoufor your listening

More Related Content

What's hot

Introduction to Continuous Integration with Jenkins
Introduction to Continuous Integration with JenkinsIntroduction to Continuous Integration with Jenkins
Introduction to Continuous Integration with JenkinsBrice Argenson
 
Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMoataz Nabil
 
Continuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practiceContinuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practiceDao Ngoc Kien
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8Rajwinder Singh
 
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...CloudBees
 
Continuous integration using jenkins
Continuous integration using jenkinsContinuous integration using jenkins
Continuous integration using jenkinsVinay H G
 
Automate your build on Android with Jenkins
Automate your build on Android with JenkinsAutomate your build on Android with Jenkins
Automate your build on Android with JenkinsBeMyApp
 
The Right Tool for the Right Project
The Right Tool for the Right ProjectThe Right Tool for the Right Project
The Right Tool for the Right ProjectOri Bendet
 
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous IntegrationQConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous IntegrationRodrigo Russo
 
Provisioning environments. A simplistic approach
Provisioning  environments. A simplistic approachProvisioning  environments. A simplistic approach
Provisioning environments. A simplistic approachEder Roger Souza
 
Continuous integration using Bamboo
Continuous integration using BambooContinuous integration using Bamboo
Continuous integration using BambooTudor Hornai
 
Testing in DevOps world
Testing in DevOps worldTesting in DevOps world
Testing in DevOps worldMoataz Nabil
 
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...Puppet
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...Simplilearn
 
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins CloudBees
 
Jenkins advance topic
Jenkins advance topicJenkins advance topic
Jenkins advance topicGourav Varma
 
Easy Cross-Platform PowerShell Automation with Puppet Bolt
Easy Cross-Platform PowerShell Automation with Puppet BoltEasy Cross-Platform PowerShell Automation with Puppet Bolt
Easy Cross-Platform PowerShell Automation with Puppet BoltPuppet
 

What's hot (20)

Introduction to Continuous Integration with Jenkins
Introduction to Continuous Integration with JenkinsIntroduction to Continuous Integration with Jenkins
Introduction to Continuous Integration with Jenkins
 
Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and Docker
 
Continuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practiceContinuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practice
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
 
Continuous integration using jenkins
Continuous integration using jenkinsContinuous integration using jenkins
Continuous integration using jenkins
 
Automate your build on Android with Jenkins
Automate your build on Android with JenkinsAutomate your build on Android with Jenkins
Automate your build on Android with Jenkins
 
The Right Tool for the Right Project
The Right Tool for the Right ProjectThe Right Tool for the Right Project
The Right Tool for the Right Project
 
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous IntegrationQConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
 
Provisioning environments. A simplistic approach
Provisioning  environments. A simplistic approachProvisioning  environments. A simplistic approach
Provisioning environments. A simplistic approach
 
CICD by Teerapat
CICD by TeerapatCICD by Teerapat
CICD by Teerapat
 
Continuous integration using Bamboo
Continuous integration using BambooContinuous integration using Bamboo
Continuous integration using Bamboo
 
Testing in DevOps world
Testing in DevOps worldTesting in DevOps world
Testing in DevOps world
 
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
 
Jenkins advance topic
Jenkins advance topicJenkins advance topic
Jenkins advance topic
 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
 
Easy Cross-Platform PowerShell Automation with Puppet Bolt
Easy Cross-Platform PowerShell Automation with Puppet BoltEasy Cross-Platform PowerShell Automation with Puppet Bolt
Easy Cross-Platform PowerShell Automation with Puppet Bolt
 

Similar to [Japan Selenium User Community in Remote] Test Automation Journey

Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfLesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfMinh Quân Đoàn
 
Basics of Selenium IDE,Core, Remote Control
Basics of Selenium IDE,Core, Remote ControlBasics of Selenium IDE,Core, Remote Control
Basics of Selenium IDE,Core, Remote Controlusha kannappan
 
[Rakuten TechConf2014] [Osaka] Introducing Selenium 2 WebDriver
[Rakuten TechConf2014] [Osaka] Introducing Selenium 2 WebDriver[Rakuten TechConf2014] [Osaka] Introducing Selenium 2 WebDriver
[Rakuten TechConf2014] [Osaka] Introducing Selenium 2 WebDriverRakuten Group, Inc.
 
Tools for Software Testing
Tools for Software TestingTools for Software Testing
Tools for Software TestingMohammed Moishin
 
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
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - IntroductionAmr E. Mohamed
 
Katalon studio vs selenium comparision
Katalon studio vs selenium comparisionKatalon studio vs selenium comparision
Katalon studio vs selenium comparisionPrabhusundar6
 
KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfQA or the Highway
 
[Selenium] Effective ROI for test automation
[Selenium] Effective ROI for test automation[Selenium] Effective ROI for test automation
[Selenium] Effective ROI for test automationWoohyeok Kim
 
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...Simplilearn
 
Selenium web driver_2.0_presentation
Selenium web driver_2.0_presentationSelenium web driver_2.0_presentation
Selenium web driver_2.0_presentationsayhi2sudarshan
 
Selenium test automation
Selenium test automationSelenium test automation
Selenium test automationSrikanth Vuriti
 

Similar to [Japan Selenium User Community in Remote] Test Automation Journey (20)

Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfLesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
 
Basics of Selenium IDE,Core, Remote Control
Basics of Selenium IDE,Core, Remote ControlBasics of Selenium IDE,Core, Remote Control
Basics of Selenium IDE,Core, Remote Control
 
[Rakuten TechConf2014] [Osaka] Introducing Selenium 2 WebDriver
[Rakuten TechConf2014] [Osaka] Introducing Selenium 2 WebDriver[Rakuten TechConf2014] [Osaka] Introducing Selenium 2 WebDriver
[Rakuten TechConf2014] [Osaka] Introducing Selenium 2 WebDriver
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
Tools for Software Testing
Tools for Software TestingTools for Software Testing
Tools for Software Testing
 
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
 
Selenium
SeleniumSelenium
Selenium
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - Introduction
 
Selenium practical
Selenium practicalSelenium practical
Selenium practical
 
Selenium
SeleniumSelenium
Selenium
 
Katalon studio vs selenium comparision
Katalon studio vs selenium comparisionKatalon studio vs selenium comparision
Katalon studio vs selenium comparision
 
Introduction to selenium
Introduction to seleniumIntroduction to selenium
Introduction to selenium
 
Selenium
SeleniumSelenium
Selenium
 
KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdf
 
[Selenium] Effective ROI for test automation
[Selenium] Effective ROI for test automation[Selenium] Effective ROI for test automation
[Selenium] Effective ROI for test automation
 
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
 
Selenium web driver_2.0_presentation
Selenium web driver_2.0_presentationSelenium web driver_2.0_presentation
Selenium web driver_2.0_presentation
 
Selenium test automation
Selenium test automationSelenium test automation
Selenium test automation
 
Automated ui-testing
Automated ui-testingAutomated ui-testing
Automated ui-testing
 
Selenium training in chennai
Selenium training in chennaiSelenium training in chennai
Selenium training in chennai
 

More from Woohyeok Kim

[Devopsdays2021] Roll Your Product with Kaizen Culture
[Devopsdays2021] Roll Your Product with Kaizen Culture[Devopsdays2021] Roll Your Product with Kaizen Culture
[Devopsdays2021] Roll Your Product with Kaizen CultureWoohyeok Kim
 
[Regional Scrum Gathering Tokyo 2021] Scrum with OODA loop
[Regional Scrum Gathering Tokyo 2021] Scrum with OODA loop[Regional Scrum Gathering Tokyo 2021] Scrum with OODA loop
[Regional Scrum Gathering Tokyo 2021] Scrum with OODA loopWoohyeok Kim
 
[Scrum Fest Mikawa] Successful Scrum Migration
[Scrum Fest Mikawa] Successful Scrum Migration[Scrum Fest Mikawa] Successful Scrum Migration
[Scrum Fest Mikawa] Successful Scrum MigrationWoohyeok Kim
 
Developers Summit 2020 Kansai : Post Corona
Developers Summit 2020 Kansai : Post CoronaDevelopers Summit 2020 Kansai : Post Corona
Developers Summit 2020 Kansai : Post CoronaWoohyeok Kim
 
[DevRelCon Earth 2020] Developers, be the evangelist
[DevRelCon Earth 2020] Developers, be the evangelist[DevRelCon Earth 2020] Developers, be the evangelist
[DevRelCon Earth 2020] Developers, be the evangelistWoohyeok Kim
 
[Japan Selenium User Community in Remote] Intro
[Japan Selenium User Community in Remote] Intro[Japan Selenium User Community in Remote] Intro
[Japan Selenium User Community in Remote] IntroWoohyeok Kim
 
[#RSGT2020] SCRUM X ARMY
[#RSGT2020] SCRUM X ARMY[#RSGT2020] SCRUM X ARMY
[#RSGT2020] SCRUM X ARMYWoohyeok Kim
 
[Selenium kansai] Intro
[Selenium kansai] Intro[Selenium kansai] Intro
[Selenium kansai] IntroWoohyeok Kim
 
[Rakuten Technology Conference 2019] Be the central on your field
[Rakuten Technology Conference 2019] Be the central on your field[Rakuten Technology Conference 2019] Be the central on your field
[Rakuten Technology Conference 2019] Be the central on your fieldWoohyeok Kim
 
[DevRel/Japan Conf] Empower brand power of your community
[DevRel/Japan Conf] Empower brand power of your community[DevRel/Japan Conf] Empower brand power of your community
[DevRel/Japan Conf] Empower brand power of your communityWoohyeok Kim
 
[Agile Japan 2019] Unlimited Agility
[Agile Japan 2019] Unlimited Agility[Agile Japan 2019] Unlimited Agility
[Agile Japan 2019] Unlimited AgilityWoohyeok Kim
 
UX with google amp for WebDesigner
UX with google amp for WebDesignerUX with google amp for WebDesigner
UX with google amp for WebDesignerWoohyeok Kim
 
[E2E Test AutomationDay2019] intro
[E2E Test AutomationDay2019] intro[E2E Test AutomationDay2019] intro
[E2E Test AutomationDay2019] introWoohyeok Kim
 
[KaizenDiary] Minimize processing time on Automated Test
[KaizenDiary] Minimize processing time on Automated Test[KaizenDiary] Minimize processing time on Automated Test
[KaizenDiary] Minimize processing time on Automated TestWoohyeok Kim
 
[SeleniumConf2019 Tokyo] All is thanks to you, selenium
[SeleniumConf2019 Tokyo] All is thanks to you, selenium[SeleniumConf2019 Tokyo] All is thanks to you, selenium
[SeleniumConf2019 Tokyo] All is thanks to you, seleniumWoohyeok Kim
 

More from Woohyeok Kim (15)

[Devopsdays2021] Roll Your Product with Kaizen Culture
[Devopsdays2021] Roll Your Product with Kaizen Culture[Devopsdays2021] Roll Your Product with Kaizen Culture
[Devopsdays2021] Roll Your Product with Kaizen Culture
 
[Regional Scrum Gathering Tokyo 2021] Scrum with OODA loop
[Regional Scrum Gathering Tokyo 2021] Scrum with OODA loop[Regional Scrum Gathering Tokyo 2021] Scrum with OODA loop
[Regional Scrum Gathering Tokyo 2021] Scrum with OODA loop
 
[Scrum Fest Mikawa] Successful Scrum Migration
[Scrum Fest Mikawa] Successful Scrum Migration[Scrum Fest Mikawa] Successful Scrum Migration
[Scrum Fest Mikawa] Successful Scrum Migration
 
Developers Summit 2020 Kansai : Post Corona
Developers Summit 2020 Kansai : Post CoronaDevelopers Summit 2020 Kansai : Post Corona
Developers Summit 2020 Kansai : Post Corona
 
[DevRelCon Earth 2020] Developers, be the evangelist
[DevRelCon Earth 2020] Developers, be the evangelist[DevRelCon Earth 2020] Developers, be the evangelist
[DevRelCon Earth 2020] Developers, be the evangelist
 
[Japan Selenium User Community in Remote] Intro
[Japan Selenium User Community in Remote] Intro[Japan Selenium User Community in Remote] Intro
[Japan Selenium User Community in Remote] Intro
 
[#RSGT2020] SCRUM X ARMY
[#RSGT2020] SCRUM X ARMY[#RSGT2020] SCRUM X ARMY
[#RSGT2020] SCRUM X ARMY
 
[Selenium kansai] Intro
[Selenium kansai] Intro[Selenium kansai] Intro
[Selenium kansai] Intro
 
[Rakuten Technology Conference 2019] Be the central on your field
[Rakuten Technology Conference 2019] Be the central on your field[Rakuten Technology Conference 2019] Be the central on your field
[Rakuten Technology Conference 2019] Be the central on your field
 
[DevRel/Japan Conf] Empower brand power of your community
[DevRel/Japan Conf] Empower brand power of your community[DevRel/Japan Conf] Empower brand power of your community
[DevRel/Japan Conf] Empower brand power of your community
 
[Agile Japan 2019] Unlimited Agility
[Agile Japan 2019] Unlimited Agility[Agile Japan 2019] Unlimited Agility
[Agile Japan 2019] Unlimited Agility
 
UX with google amp for WebDesigner
UX with google amp for WebDesignerUX with google amp for WebDesigner
UX with google amp for WebDesigner
 
[E2E Test AutomationDay2019] intro
[E2E Test AutomationDay2019] intro[E2E Test AutomationDay2019] intro
[E2E Test AutomationDay2019] intro
 
[KaizenDiary] Minimize processing time on Automated Test
[KaizenDiary] Minimize processing time on Automated Test[KaizenDiary] Minimize processing time on Automated Test
[KaizenDiary] Minimize processing time on Automated Test
 
[SeleniumConf2019 Tokyo] All is thanks to you, selenium
[SeleniumConf2019 Tokyo] All is thanks to you, selenium[SeleniumConf2019 Tokyo] All is thanks to you, selenium
[SeleniumConf2019 Tokyo] All is thanks to you, selenium
 

Recently uploaded

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Recently uploaded (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

[Japan Selenium User Community in Remote] Test Automation Journey

  • 1. Japan Selenium User Community 日本Seleniumユーザーコミュニティ Test Automation Journey Parallel Execution of E2E Test May 16, 2020 第5回Seleniumユーザーコミュニティ勉強会 @woosyume
  • 2. Japan Selenium User Community 日本Seleniumユーザーコミュニティ • Software Engineer • Test automation TF lead • Scrum Master • At Raku*nRanking Frontend team • Organizer • Japan Selenium UC Kansai branch • Korea Selenium UC (co-founder) • Speaker • SeleniumConf 2019 • Rakuten Technology Conference 2019 • Regional Scrum Gathering Tokyo 2020 • DevRel Earth 2020 (TBU) Profile @woosyume
  • 3. Japan Selenium User Community 日本Seleniumユーザーコミュニティ Test Automation Journey Feel blue with manual test Investigate recursive tests Consider which part can be automated Build a Strategy Automate tests Migrate to Shared Environment Optimizing •Execution time •Load •Understandable Reporting Fully- Automated with high- performance
  • 4. Japan Selenium User Community 日本Seleniumユーザーコミュニティ Problem It takes a long time… 2Hours
  • 5. Japan Selenium User Community 日本Seleniumユーザーコミュニティ Current Workflow DatabaseAPI Test Automation Application Front Page Create expected value dynamically & Store it as in-memory cache As post action Commit Set destination And access
  • 6. Japan Selenium User Community 日本Seleniumユーザーコミュニティ 3 Ways to reduce execution time • Distributing test environments to nodes Edge on Windows Chrome in iOS Firefox on Ubuntu Safari on MacOS Hub and Nodes
  • 7. Japan Selenium User Community 日本Seleniumユーザーコミュニティ 3 Ways to reduce execution time • Distributing test environments to multiple pods Selenium Code Image Selenium Hub Image Browser Image Containers Selenium Code Container Selenium Hub Container Browser ContainerBrowser Container
  • 8. Japan Selenium User Community 日本Seleniumユーザーコミュニティ 3 Ways to reduce execution time • Executing tests with multiple threads Chrome in iOS thread-1 thread-2 thread-3 thread-4
  • 9. Japan Selenium User Community 日本Seleniumユーザーコミュニティ Concept • Run multiple threads maximizing performance of cores
  • 10. Japan Selenium User Community 日本Seleniumユーザーコミュニティ Prototype with plugin • maven-surfire-plugin d Before After 440s 231s 50%↗
  • 11. Japan Selenium User Community 日本Seleniumユーザーコミュニティ Prototype with plugin • The more I executes test cases, the more error occurred Before After 4520s 1809s
  • 12. Japan Selenium User Community 日本Seleniumユーザーコミュニティ Root Cause • WebDriver is NOT ‘Thread-safe’ Cannot make sure that each driver instances works as an instance. Launch a driver
  • 13. Japan Selenium User Community 日本Seleniumユーザーコミュニティ How did I resolve the issue • Initialize local variable for each thread • ThreadLocal supports to limit a scope of variable
  • 14. Japan Selenium User Community 日本Seleniumユーザーコミュニティ But I found another answer • TestNG framework officially supports Selenium • https://testng.org/doc/selenium.html • JUnit just uses webdriver set from maven • It seems more stable to use ‘multiple-thread function’ of TestNG than plugin with forcible modification of the existing code Easily migrate with Eclipse plugin pom.xml testng.xml
  • 15. Japan Selenium User Community 日本Seleniumユーザーコミュニティ Test Automation Journey Feel blue with manual test Investigate recursive tests Consider which part can be automated Build a Strategy Automate tests Migrate to Shared Environment Optimizing •Execution time •Load •Understandable Reporting Fully- Automated with high- performance
  • 16. Japan Selenium User Community 日本Seleniumユーザーコミュニティ Next Station of this journey DatabaseAPI Test Automation Application Front Page Create expected value dynamically & Store it as in-memory cache As post action Commit Set destination And access
  • 17. Japan Selenium User Community 日本Seleniumユーザーコミュニティ もしこの旅行を始めたいけど、 テスト自動化の価値が分かってもらってなく 始められない方におすすめします。 https://www.slideshare.net/mavenant/selenium-effective-roi-for-test-automation
  • 18. Japan Selenium User Community 日本Seleniumユーザーコミュニティ Thankyoufor your listening