SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Downloaden Sie, um offline zu lesen
MANOJ KUMAR KUMAR CONTAINER CAMP 2017-SYDNEY
BUILDING TEST-AUTOMATION INFRASTRUCTURE
VIA CONTAINERS
ABOUT ME
▸ Open source enthusiast
▸ Selenium member
▸ Author assertselenium.com
▸ Organizer seleniumconf.com
▸ Tweets: @manoj9788 | LinkedIn: manojkumar9788
CONTINUOUS DELIVERY
▸ It’s all about continuous delivery
Continuous Integration >
Continuous Testing >
Continuous Delivery
TEST AUTOMATION
▸ Browser Automation library
▸ A suite of tools
▸ JavaScript, Java, Python, C#, Ruby
▸ W3C candidate recommendation
SELENIUM-GRID
▸Hub
▸The intermediary and the manager
▸Allocates Test Slots to nodes
▸Takes instructions directly from client, and executes them remotely on nodes
▸Node
▸Registers itself to Hub listed in config
▸Communicates its config to the Hub at registration time:
▸Test Slots per browser

“Hey Hub, I have 1 Slot for Firefox, 5 for Chrome”
▸Receives JSON wire protocol instructions from the Hub
DISTRIBUTED TESTING
SELENIUM-GRID
CHALLENGES
▸ Tests start growing
▸ Parallelization reduces time
▸ VM’s are heavy and costly to maintain
Solution?
Docker Containers to rescue
‣ Light-weight
‣ All pre-requisites to run selenium tests are already packaged.
‣ Also for mobile..
https://github.com/SeleniumHQ/docker-selenium
Use Docker-compose to scale easily
DOCKER-SELENIUM
DOCKER-SELENIUM
▸ selenium/hub: Image for running a Selenium Grid Hub
▸ selenium/node-chrome: Selenium node with Chrome installed.
▸ selenium/node-firefox: Selenium node with Firefox installed.
▸ selenium/node-phantomjs: Selenium node with PhantomJS installed
▸ selenium/node-chrome-debug: Selenium node with Chrome installed and
runs a VNC server.
▸ selenium/node-firefox-debug: Selenium node with Firefox installed and runs
a VNC server.
All these images needs to be connected to a Selenium Grid Hub
DOCKER-SELENIUM IMAGES
https://github.com/manoj9788/kubernetes-docker-selenium - Star it! :)


Self-healing capability - helps restart the node when it goes down automatically, which helps in test
automation.



Scale containers - replicas
Use Helm package
$ helm install stable/selenium
KUBERNETES - SELENIUM

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

From Zero Docker to Hackathon Winner - Marcos Lilljedahl and Jimena Tapia
From Zero Docker to Hackathon Winner - Marcos Lilljedahl and Jimena TapiaFrom Zero Docker to Hackathon Winner - Marcos Lilljedahl and Jimena Tapia
From Zero Docker to Hackathon Winner - Marcos Lilljedahl and Jimena Tapia
 
Developer South Coast 2018: Modernizing .NET Apps with Docker
Developer South Coast 2018: Modernizing .NET Apps with DockerDeveloper South Coast 2018: Modernizing .NET Apps with Docker
Developer South Coast 2018: Modernizing .NET Apps with Docker
 
Docker for Dummies
Docker for DummiesDocker for Dummies
Docker for Dummies
 
Docker for Developers - Part 2 by Borja Burgos and Fernando Mayo
Docker for Developers - Part 2 by Borja Burgos and Fernando MayoDocker for Developers - Part 2 by Borja Burgos and Fernando Mayo
Docker for Developers - Part 2 by Borja Burgos and Fernando Mayo
 
Getting Started with Docker (For Developers)
Getting Started with Docker (For Developers)Getting Started with Docker (For Developers)
Getting Started with Docker (For Developers)
 
The Velvet Revolution: Modernizing Traditional ASP.NET Apps with Docker
The Velvet Revolution: Modernizing Traditional ASP.NET Apps with DockerThe Velvet Revolution: Modernizing Traditional ASP.NET Apps with Docker
The Velvet Revolution: Modernizing Traditional ASP.NET Apps with Docker
 
Locally it worked! virtualizing docker
Locally it worked! virtualizing dockerLocally it worked! virtualizing docker
Locally it worked! virtualizing docker
 
Developer South Coast 2018: Docker on Windows - The Beginner's Guide
Developer South Coast 2018: Docker on Windows - The Beginner's GuideDeveloper South Coast 2018: Docker on Windows - The Beginner's Guide
Developer South Coast 2018: Docker on Windows - The Beginner's Guide
 
TechDays NL 2017: The Hybrid Docker Swarm
TechDays NL 2017: The Hybrid Docker SwarmTechDays NL 2017: The Hybrid Docker Swarm
TechDays NL 2017: The Hybrid Docker Swarm
 
How to Dockerize Parallel Execution of Selenium Tests - SQA Days EU, Rgia, La...
How to Dockerize Parallel Execution of Selenium Tests - SQA Days EU, Rgia, La...How to Dockerize Parallel Execution of Selenium Tests - SQA Days EU, Rgia, La...
How to Dockerize Parallel Execution of Selenium Tests - SQA Days EU, Rgia, La...
 
Docker on Windows and Linux - Red Shirt Dev Tour
Docker on Windows and Linux - Red Shirt Dev TourDocker on Windows and Linux - Red Shirt Dev Tour
Docker on Windows and Linux - Red Shirt Dev Tour
 
Democratizing Development - Scott Gress
Democratizing Development - Scott GressDemocratizing Development - Scott Gress
Democratizing Development - Scott Gress
 
Setup a Dev environment that feels like $HOME on Windows 10
Setup a Dev environment that feels like $HOME on Windows 10Setup a Dev environment that feels like $HOME on Windows 10
Setup a Dev environment that feels like $HOME on Windows 10
 
Docker containers on Windows
Docker containers on WindowsDocker containers on Windows
Docker containers on Windows
 
#SDD2017 - Modernizing .NET Apps with Docker
#SDD2017 - Modernizing .NET Apps with Docker#SDD2017 - Modernizing .NET Apps with Docker
#SDD2017 - Modernizing .NET Apps with Docker
 
Modernizing Traditional Apps with Docker Enterprise Edition
Modernizing Traditional Apps with Docker Enterprise EditionModernizing Traditional Apps with Docker Enterprise Edition
Modernizing Traditional Apps with Docker Enterprise Edition
 
Using Docker to Develop, Test and Run Maven Projects - Wouter Danes
Using Docker to Develop, Test and Run Maven Projects - Wouter DanesUsing Docker to Develop, Test and Run Maven Projects - Wouter Danes
Using Docker to Develop, Test and Run Maven Projects - Wouter Danes
 
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
 
CI/CD Pipeline with Docker
CI/CD Pipeline with DockerCI/CD Pipeline with Docker
CI/CD Pipeline with Docker
 
Docker for Integration Testing
Docker for Integration TestingDocker for Integration Testing
Docker for Integration Testing
 

Ähnlich wie Test Automation Infrastructure with Containers

Mastering selenium for automated acceptance tests
Mastering selenium for automated acceptance testsMastering selenium for automated acceptance tests
Mastering selenium for automated acceptance tests
Nick Belhomme
 

Ähnlich wie Test Automation Infrastructure with Containers (20)

London Hashicorp Meetup #8 - Testing Programmable Infrastructure By Matt Long
London Hashicorp Meetup #8 -  Testing Programmable Infrastructure By Matt LongLondon Hashicorp Meetup #8 -  Testing Programmable Infrastructure By Matt Long
London Hashicorp Meetup #8 - Testing Programmable Infrastructure By Matt Long
 
Scalable and Reliable Cross Browser Testing With Cypress Framework
Scalable and Reliable Cross Browser Testing With Cypress FrameworkScalable and Reliable Cross Browser Testing With Cypress Framework
Scalable and Reliable Cross Browser Testing With Cypress Framework
 
Devops e a nova cultura - TDC Florianopolis 2015
Devops e a nova cultura - TDC Florianopolis 2015Devops e a nova cultura - TDC Florianopolis 2015
Devops e a nova cultura - TDC Florianopolis 2015
 
Reliability Patterns for Large-Scale Automated Tests
Reliability Patterns for Large-Scale Automated TestsReliability Patterns for Large-Scale Automated Tests
Reliability Patterns for Large-Scale Automated Tests
 
Mastering selenium for automated acceptance tests
Mastering selenium for automated acceptance testsMastering selenium for automated acceptance tests
Mastering selenium for automated acceptance tests
 
AWS Innovate: Smart Deployment on AWS - Andy Kim
AWS Innovate: Smart Deployment on AWS - Andy KimAWS Innovate: Smart Deployment on AWS - Andy Kim
AWS Innovate: Smart Deployment on AWS - Andy Kim
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Introduction to Selenium grid
Introduction to Selenium gridIntroduction to Selenium grid
Introduction to Selenium grid
 
Cloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak KoyuncuCloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak Koyuncu
 
The Best Feature of Go – A 5 Year Retrospective
The Best Feature of Go – A 5 Year RetrospectiveThe Best Feature of Go – A 5 Year Retrospective
The Best Feature of Go – A 5 Year Retrospective
 
Performance testing and monitoring: a guided tour through CLIF tools and feat...
Performance testing and monitoring: a guided tour through CLIF tools and feat...Performance testing and monitoring: a guided tour through CLIF tools and feat...
Performance testing and monitoring: a guided tour through CLIF tools and feat...
 
Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08
Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08
Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08
 
Travis CI - PHP
Travis CI - PHPTravis CI - PHP
Travis CI - PHP
 
Kubernetes your tests! automation with docker on google cloud platform
Kubernetes your tests! automation with docker on google cloud platformKubernetes your tests! automation with docker on google cloud platform
Kubernetes your tests! automation with docker on google cloud platform
 
Queue Everything and Please Everyone
Queue Everything and Please EveryoneQueue Everything and Please Everyone
Queue Everything and Please Everyone
 
Continuous Delivery and the Cloud
Continuous Delivery and the CloudContinuous Delivery and the Cloud
Continuous Delivery and the Cloud
 
Three amigos: Bitbucket + Jenkins + Docker
Three amigos: Bitbucket + Jenkins + DockerThree amigos: Bitbucket + Jenkins + Docker
Three amigos: Bitbucket + Jenkins + Docker
 
Advanced Continuous Delivery on AWS
Advanced Continuous Delivery on AWSAdvanced Continuous Delivery on AWS
Advanced Continuous Delivery on AWS
 
Kubernetes Navigation Stories – DevOpsStage 2019, Kyiv
Kubernetes Navigation Stories – DevOpsStage 2019, KyivKubernetes Navigation Stories – DevOpsStage 2019, Kyiv
Kubernetes Navigation Stories – DevOpsStage 2019, Kyiv
 
Nightwatch.js (vodQA Shots - Pune 2017)
Nightwatch.js (vodQA Shots - Pune 2017)Nightwatch.js (vodQA Shots - Pune 2017)
Nightwatch.js (vodQA Shots - Pune 2017)
 

Mehr von Manoj Kumar Kumar

Mehr von Manoj Kumar Kumar (11)

Tips from the trenches Accessibility Testing
Tips from the trenches Accessibility TestingTips from the trenches Accessibility Testing
Tips from the trenches Accessibility Testing
 
Observability: Distributed Tes environment
Observability: Distributed Tes environmentObservability: Distributed Tes environment
Observability: Distributed Tes environment
 
Selenium-4-and-appium-2
Selenium-4-and-appium-2Selenium-4-and-appium-2
Selenium-4-and-appium-2
 
Selenium-4
Selenium-4Selenium-4
Selenium-4
 
GAAD-Deque-Accessibility-webinar
GAAD-Deque-Accessibility-webinarGAAD-Deque-Accessibility-webinar
GAAD-Deque-Accessibility-webinar
 
Scaling your Automated Tests: Docker and Kubernetes
Scaling your Automated Tests: Docker and KubernetesScaling your Automated Tests: Docker and Kubernetes
Scaling your Automated Tests: Docker and Kubernetes
 
Testing for Inclusive Web: Accessibility
Testing for Inclusive Web: AccessibilityTesting for Inclusive Web: Accessibility
Testing for Inclusive Web: Accessibility
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
 
Automated-Accessibility-Testing
Automated-Accessibility-TestingAutomated-Accessibility-Testing
Automated-Accessibility-Testing
 
Async webdriverjs
Async webdriverjsAsync webdriverjs
Async webdriverjs
 
Automated Testing with Google Chrome - WebDriver- ChromeDriver
Automated Testing with Google Chrome - WebDriver- ChromeDriverAutomated Testing with Google Chrome - WebDriver- ChromeDriver
Automated Testing with Google Chrome - WebDriver- ChromeDriver
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 

Test Automation Infrastructure with Containers

  • 1. MANOJ KUMAR KUMAR CONTAINER CAMP 2017-SYDNEY BUILDING TEST-AUTOMATION INFRASTRUCTURE VIA CONTAINERS
  • 2. ABOUT ME ▸ Open source enthusiast ▸ Selenium member ▸ Author assertselenium.com ▸ Organizer seleniumconf.com ▸ Tweets: @manoj9788 | LinkedIn: manojkumar9788
  • 3. CONTINUOUS DELIVERY ▸ It’s all about continuous delivery Continuous Integration > Continuous Testing > Continuous Delivery
  • 4. TEST AUTOMATION ▸ Browser Automation library ▸ A suite of tools ▸ JavaScript, Java, Python, C#, Ruby ▸ W3C candidate recommendation
  • 5. SELENIUM-GRID ▸Hub ▸The intermediary and the manager ▸Allocates Test Slots to nodes ▸Takes instructions directly from client, and executes them remotely on nodes ▸Node ▸Registers itself to Hub listed in config ▸Communicates its config to the Hub at registration time: ▸Test Slots per browser
 “Hey Hub, I have 1 Slot for Firefox, 5 for Chrome” ▸Receives JSON wire protocol instructions from the Hub DISTRIBUTED TESTING
  • 7. CHALLENGES ▸ Tests start growing ▸ Parallelization reduces time ▸ VM’s are heavy and costly to maintain Solution? Docker Containers to rescue ‣ Light-weight ‣ All pre-requisites to run selenium tests are already packaged. ‣ Also for mobile..
  • 9. DOCKER-SELENIUM ▸ selenium/hub: Image for running a Selenium Grid Hub ▸ selenium/node-chrome: Selenium node with Chrome installed. ▸ selenium/node-firefox: Selenium node with Firefox installed. ▸ selenium/node-phantomjs: Selenium node with PhantomJS installed ▸ selenium/node-chrome-debug: Selenium node with Chrome installed and runs a VNC server. ▸ selenium/node-firefox-debug: Selenium node with Firefox installed and runs a VNC server. All these images needs to be connected to a Selenium Grid Hub DOCKER-SELENIUM IMAGES
  • 10. https://github.com/manoj9788/kubernetes-docker-selenium - Star it! :) 
 Self-healing capability - helps restart the node when it goes down automatically, which helps in test automation.
 
 Scale containers - replicas Use Helm package $ helm install stable/selenium KUBERNETES - SELENIUM