SlideShare a Scribd company logo
Vietnam qa meetup
Break The Ice
Go to https://kahoot.it
Demystifying Selenium Grid
Syam Sasi
Senior Software Engineer @ Carousell
https://about.me/syamsasi
About Me
● 8 Years in Industry
● Ex-Oracalite
● Co-Organizer of TAQELAH Meetups in Singapore
God’s Own Country
Need For Selenium Grid
● Run test cases on different browsers / devices or platforms
● Minimize the test execution time
● Scaling up the test infrastructure
What is Selenium Grid?
https://www.youtube.com/watch?v=6nq1dOiTdC8
Hub And Node
● Hub – Hub will be the central machine which will redirect the commands to the
respective node based on parameter
● Node- Node will be the actual machine where the test will be executed.
Starting The HUB
1. Download the selenium server from here
2. Create a folder called grid and copy the downloaded jar to this folder
3. Launch the hub by the following command
java -jar selenium-server-standalone-3.x.y.jar -role hub
4. Go to http://localhost:4444/grid/console and check hub is running or not
Starting The Nodes
1. Register the node by the following command
java
-Dwebdriver.gecko.driver="/Users/carousell/SeleniumGridVietnam/drivers/geckodriver"
-jar selenium-server-standalone-3.x.y.jar -role webdriver -hub
http://a.b.c.d:4444/grid/register -port 5566
2. Go to http://localhost:4444/grid/console and check node is registered
Hub using JSON Configuration
{
"port": 4444,
"newSessionWaitTimeout": -1,
"servlets" : [],
"withoutServlets": [],
"custom": {},
"capabilityMatcher":
"org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
"registryClass": "org.openqa.grid.internal.DefaultGridRegistry",
"throwOnCapabilityNotPresent": true,
"cleanUpCycle": 5000,
"role": "hub",
"debug": false,
"browserTimeout": 0,
"timeout": 1800
}
java -jar selenium-server-stand-alone-3.x.y.jar -role hub
-hubConfig hubConfig.json
Node using JSON Configuration
java
-Dwebdriver.gecko.driver="/Users/carousell/SeleniumGridVietnam/driv
ers/geckodriver"
-Dwebdriver.chrome.driver="/Users/carousell/SeleniumGridVietnam/dri
vers/emulator/chromedriver" -jar
selenium-server-standalone-3.x.y.jar -role node -nodeConfig
nodeConfig.json
Default Node Config file can be found here
Grid For Mobile Browsers
appium --nodeconfig node-config-device4724.json -p 4724 -cp
4726 --chromedriver-executable="/path/to/chromedriver"
Selenium Grid Extras
● Ability to control individual grid nodes, following is an incomplete list of OS level tasks:
○ Killing any browser instance by name
○ Stopping any Process by PID
○ Moving mouse to specific location
○ Get Memory usage and disk statistics
● Automatically upgrade WebDriver binaries
● Restart node after a set number of test executions
● Central storage of configurations for all nodes on the HUB server
● Screenshots at the OS level
https://github.com/groupon/Selenium-Grid-Extras
Docker Containers For Selenium Grid
● Zalenium
● Selenoid
Q and A
References
● https://github.com/syamsasi99/SeleniumGridVietnam/tree/master
● http://learn-automation.com/selenium-grid-for-remote-execution/
● https://github.com/aerokube/selenoid
● https://github.com/zalando/zalenium
● https://github.com/groupon/Selenium-Grid-Extras
● https://rationaleemotions.github.io/gridopadesham/CUSTOMIZE_GRID.html
Thank You!
Carousell Quality Culture
Ngan Do
Software Engineer @ Carousell
https://www.linkedin.com/in/do-thi-my-ngan/
About Me
● 3 Years in Industry
● 3 Years working at Carousell
● 3 Years experience in Mobile Automation
Testing
Quality Throughout The Development Cycle
● Plan
● Design
● Development
● Release
● Monitor
Quality Throughout The Development Cycle
Shift Left
The earlier a problem is found the easier and cheaper it is to fix it!
Carousell Quality Methodologies
● Testing party
● Fast Feedback Tests
● Run Auto-Regression Test every day
● Dogfooding
Testing Party
Fast Feedback Tests
Feedback about
functional quality to
devs
Tests that cover
critical flows
Execution time < 15 minutes
Detecting & fixing breaking
issues earlier
Fast Feedback Tests as a quality gate for pull requests
Verify Every Change
✔✘
Run Auto-Regression Test Every Day
nightly build
Dogfooding
Build the Quality Culture ...
● Software engineers
● Software engineers in testing
● Scrum masters
● Product managers
● Designers
● Helpdesk / support
● Managers
● Recruiters
● ...
… to deliver Quality to the users
● It’s all about the users!
● 7 markets, ~200 million listings, ~70 million items sold
● https://blog.carousell.com/carousellstories
Q&A
Thank you!
Weekly Release Process
for Mobile Apps
Long Ly
Senior Software Engineer @ Carousell
https://www.linkedin.com/in/longlyme/
About Me
● 5 Years in Industry
● Used to work both in outsource and product
companies
● Mainly taking care release process in Carousell
Agenda
1. Why Weekly?
2. Main Phases
3. Follow up Activities
4. Tools
5. Q&A
Why Weekly?
Why Weekly?
● Releases are time-based, rather than content-based
● As-short-as needed dev cycle
● Deliver new features to users faster
● Fix user’s bug reported faster
● Receive customer feedback faster
● Eliminates the need for hotfixes
Main Phases
Main Phases
Main Phases
Hotfix?
Follow up Activities
Follow up Activities
➔ Checking messages in #dogfood-report (staff users) and
#support (external users) channels to know asap if any
reports for released builds!?
➔ If any issue, consider to halt the rollout process?
◆ Hotfixes
● Before submission: easy to go
● After submission: painful and take time
Tools
Tools
● Release activities (Carousell internal bot)
● Monitoring
● Release testing
● Translations
Keys Takeaway
❖ Weekly release process for quickly users’ experience and
feedback
❖ Making sure quality by shift-left testing
➢ Fast feedback test
➢ Nightly regression
➢ Weekly release testing
❖ Tools
➢ Automate all activities that we can (slack bots, CI tools)
➢ Monitor app’s health
Q&A
Quiz Time
Go to https://kahoot.it
Thank you!

More Related Content

PDF
Appium workshop technopark trivandrum
PDF
How React Native, Appium and me made each other shine @ContinuousDeliveryAmst...
PDF
Appium: Mobile Automation Made Awesome
PPTX
Appium solution
PPTX
Automation testing on ios platform using appium
PPTX
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
PDF
Getting started with appium
PDF
Espresso testing
Appium workshop technopark trivandrum
How React Native, Appium and me made each other shine @ContinuousDeliveryAmst...
Appium: Mobile Automation Made Awesome
Appium solution
Automation testing on ios platform using appium
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
Getting started with appium
Espresso testing

What's hot (20)

PPTX
Appium Meetup #2 - Mobile Web Automation Introduction
PDF
Advanced Appium Tips & Tricks with Jonathan Lipps
PDF
Automated UI Testing Frameworks
PPTX
Mobile Automation with Appium
ODP
Appium troubleshooting
PDF
Appium basics
PPTX
Advanced Appium
ODP
iOS Automation with Cucumber, Appium and Saucelabs
PPTX
Android Automation Testing with Selendroid
PPTX
Appium - test automation for mobile apps
PPTX
Automation Testing With Appium
PPT
The Future of Selenium Testing for Mobile Web and Native Apps
PPTX
Appium ppt
PPT
Behat sauce
PPTX
Hassle-Free Continuous Integration with Real Device Testing
PPTX
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn Toàn
PPT
BCS Selenium Workshop
PPTX
MDC2011 Android_ Webdriver Automation Test
ODP
iOS Developers Conference-iOS Automation with Cucumber, Appium and Saucelabs
PDF
[Srijan Wednesday Webinars] Building a High Performance QA Team
Appium Meetup #2 - Mobile Web Automation Introduction
Advanced Appium Tips & Tricks with Jonathan Lipps
Automated UI Testing Frameworks
Mobile Automation with Appium
Appium troubleshooting
Appium basics
Advanced Appium
iOS Automation with Cucumber, Appium and Saucelabs
Android Automation Testing with Selendroid
Appium - test automation for mobile apps
Automation Testing With Appium
The Future of Selenium Testing for Mobile Web and Native Apps
Appium ppt
Behat sauce
Hassle-Free Continuous Integration with Real Device Testing
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn Toàn
BCS Selenium Workshop
MDC2011 Android_ Webdriver Automation Test
iOS Developers Conference-iOS Automation with Cucumber, Appium and Saucelabs
[Srijan Wednesday Webinars] Building a High Performance QA Team
Ad

Similar to Vietnam qa meetup (20)

PDF
Mobile Test Automation using one API and one infrastructure
PDF
Selenium Testing The Complete Step-by-Step Tutorial.pdf
PDF
Web automation using selenium.ppt
PDF
Drulenium - Testing Made Easy
PPTX
Selenium training
PPTX
SKILLWISE_SELENIUM
ODP
Mastering selenium for automated acceptance tests
PDF
Selenium grid workshop london 2016
PPT
Intro Of Selenium
PDF
Tellurium.A.New.Approach.For.Web.Testing.V5
PDF
Selenium Automation Testing - A Complete Guide.pdf
PDF
Selenium Automation Testing - A Complete Guide
PDF
Selenium Automation Testing - A Complete Guide.pdf
PDF
Tellurium.A.New.Approach.For.Web.Testing
PDF
Meet the Selenium Grid
PDF
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
PDF
Selenium Tips & Tricks - StarWest 2015
PPTX
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
PPTX
Selenium practical
PDF
Browser-level testing
Mobile Test Automation using one API and one infrastructure
Selenium Testing The Complete Step-by-Step Tutorial.pdf
Web automation using selenium.ppt
Drulenium - Testing Made Easy
Selenium training
SKILLWISE_SELENIUM
Mastering selenium for automated acceptance tests
Selenium grid workshop london 2016
Intro Of Selenium
Tellurium.A.New.Approach.For.Web.Testing.V5
Selenium Automation Testing - A Complete Guide.pdf
Selenium Automation Testing - A Complete Guide
Selenium Automation Testing - A Complete Guide.pdf
Tellurium.A.New.Approach.For.Web.Testing
Meet the Selenium Grid
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
Selenium Tips & Tricks - StarWest 2015
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
Selenium practical
Browser-level testing
Ad

Recently uploaded (20)

PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
Sustainable Sites - Green Building Construction
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PPTX
additive manufacturing of ss316l using mig welding
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
Digital Logic Computer Design lecture notes
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPT
Project quality management in manufacturing
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
DOCX
573137875-Attendance-Management-System-original
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PPTX
web development for engineering and engineering
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Sustainable Sites - Green Building Construction
Embodied AI: Ushering in the Next Era of Intelligent Systems
R24 SURVEYING LAB MANUAL for civil enggi
additive manufacturing of ss316l using mig welding
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
Digital Logic Computer Design lecture notes
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Project quality management in manufacturing
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
573137875-Attendance-Management-System-original
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
web development for engineering and engineering
Internet of Things (IOT) - A guide to understanding
Foundation to blockchain - A guide to Blockchain Tech
CYBER-CRIMES AND SECURITY A guide to understanding

Vietnam qa meetup

  • 2. Break The Ice Go to https://kahoot.it
  • 4. Syam Sasi Senior Software Engineer @ Carousell https://about.me/syamsasi About Me ● 8 Years in Industry ● Ex-Oracalite ● Co-Organizer of TAQELAH Meetups in Singapore
  • 6. Need For Selenium Grid ● Run test cases on different browsers / devices or platforms ● Minimize the test execution time ● Scaling up the test infrastructure
  • 7. What is Selenium Grid? https://www.youtube.com/watch?v=6nq1dOiTdC8
  • 8. Hub And Node ● Hub – Hub will be the central machine which will redirect the commands to the respective node based on parameter ● Node- Node will be the actual machine where the test will be executed.
  • 9. Starting The HUB 1. Download the selenium server from here 2. Create a folder called grid and copy the downloaded jar to this folder 3. Launch the hub by the following command java -jar selenium-server-standalone-3.x.y.jar -role hub 4. Go to http://localhost:4444/grid/console and check hub is running or not
  • 10. Starting The Nodes 1. Register the node by the following command java -Dwebdriver.gecko.driver="/Users/carousell/SeleniumGridVietnam/drivers/geckodriver" -jar selenium-server-standalone-3.x.y.jar -role webdriver -hub http://a.b.c.d:4444/grid/register -port 5566 2. Go to http://localhost:4444/grid/console and check node is registered
  • 11. Hub using JSON Configuration { "port": 4444, "newSessionWaitTimeout": -1, "servlets" : [], "withoutServlets": [], "custom": {}, "capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher", "registryClass": "org.openqa.grid.internal.DefaultGridRegistry", "throwOnCapabilityNotPresent": true, "cleanUpCycle": 5000, "role": "hub", "debug": false, "browserTimeout": 0, "timeout": 1800 } java -jar selenium-server-stand-alone-3.x.y.jar -role hub -hubConfig hubConfig.json
  • 12. Node using JSON Configuration java -Dwebdriver.gecko.driver="/Users/carousell/SeleniumGridVietnam/driv ers/geckodriver" -Dwebdriver.chrome.driver="/Users/carousell/SeleniumGridVietnam/dri vers/emulator/chromedriver" -jar selenium-server-standalone-3.x.y.jar -role node -nodeConfig nodeConfig.json Default Node Config file can be found here
  • 13. Grid For Mobile Browsers appium --nodeconfig node-config-device4724.json -p 4724 -cp 4726 --chromedriver-executable="/path/to/chromedriver"
  • 14. Selenium Grid Extras ● Ability to control individual grid nodes, following is an incomplete list of OS level tasks: ○ Killing any browser instance by name ○ Stopping any Process by PID ○ Moving mouse to specific location ○ Get Memory usage and disk statistics ● Automatically upgrade WebDriver binaries ● Restart node after a set number of test executions ● Central storage of configurations for all nodes on the HUB server ● Screenshots at the OS level https://github.com/groupon/Selenium-Grid-Extras
  • 15. Docker Containers For Selenium Grid ● Zalenium ● Selenoid
  • 17. References ● https://github.com/syamsasi99/SeleniumGridVietnam/tree/master ● http://learn-automation.com/selenium-grid-for-remote-execution/ ● https://github.com/aerokube/selenoid ● https://github.com/zalando/zalenium ● https://github.com/groupon/Selenium-Grid-Extras ● https://rationaleemotions.github.io/gridopadesham/CUSTOMIZE_GRID.html
  • 20. Ngan Do Software Engineer @ Carousell https://www.linkedin.com/in/do-thi-my-ngan/ About Me ● 3 Years in Industry ● 3 Years working at Carousell ● 3 Years experience in Mobile Automation Testing
  • 21. Quality Throughout The Development Cycle ● Plan ● Design ● Development ● Release ● Monitor
  • 22. Quality Throughout The Development Cycle
  • 23. Shift Left The earlier a problem is found the easier and cheaper it is to fix it!
  • 24. Carousell Quality Methodologies ● Testing party ● Fast Feedback Tests ● Run Auto-Regression Test every day ● Dogfooding
  • 26. Fast Feedback Tests Feedback about functional quality to devs Tests that cover critical flows Execution time < 15 minutes Detecting & fixing breaking issues earlier Fast Feedback Tests as a quality gate for pull requests
  • 28. Run Auto-Regression Test Every Day nightly build
  • 30. Build the Quality Culture ... ● Software engineers ● Software engineers in testing ● Scrum masters ● Product managers ● Designers ● Helpdesk / support ● Managers ● Recruiters ● ...
  • 31. … to deliver Quality to the users ● It’s all about the users! ● 7 markets, ~200 million listings, ~70 million items sold ● https://blog.carousell.com/carousellstories
  • 32. Q&A
  • 35. Long Ly Senior Software Engineer @ Carousell https://www.linkedin.com/in/longlyme/ About Me ● 5 Years in Industry ● Used to work both in outsource and product companies ● Mainly taking care release process in Carousell
  • 36. Agenda 1. Why Weekly? 2. Main Phases 3. Follow up Activities 4. Tools 5. Q&A
  • 38. Why Weekly? ● Releases are time-based, rather than content-based ● As-short-as needed dev cycle ● Deliver new features to users faster ● Fix user’s bug reported faster ● Receive customer feedback faster ● Eliminates the need for hotfixes
  • 43. Follow up Activities ➔ Checking messages in #dogfood-report (staff users) and #support (external users) channels to know asap if any reports for released builds!? ➔ If any issue, consider to halt the rollout process? ◆ Hotfixes ● Before submission: easy to go ● After submission: painful and take time
  • 44. Tools
  • 45. Tools ● Release activities (Carousell internal bot) ● Monitoring ● Release testing ● Translations
  • 46. Keys Takeaway ❖ Weekly release process for quickly users’ experience and feedback ❖ Making sure quality by shift-left testing ➢ Fast feedback test ➢ Nightly regression ➢ Weekly release testing ❖ Tools ➢ Automate all activities that we can (slack bots, CI tools) ➢ Monitor app’s health
  • 47. Q&A
  • 48. Quiz Time Go to https://kahoot.it