SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
MANOJ KUMAR KUMAR SELENIUM COMMITTER DAY, TOKYO !
AUTOMATED TESTING IN THE AGE OF CONTAINER CLUSTER
ABOUT ME
▸ Open source enthusiast
▸ Selenium member
▸ Author assertselenium.com
▸ Organizer seleniumconf.com
▸ Tweets: @manoj9788 LinkedIn: manojkumar9788
▸ Lives in Sydney, enjoys BasketBall and Kayaking
WHAT’S IN FOR TODAY?
▸ Today’s Technological scenario
▸ Test Automation using Selenium
▸ Selenium Grid
▸ Docker Containers
▸ Dockerize your functional tests
▸ Orchestration tools for containers
▸ Third party tools
TODAY’S TECHNOLOGY SCENARIO
▸ Time to Market
▸ Ship It as soon as possible
▸ Cost Optimization
▸ Compete with less cost
▸ Paradigm shift
▸ Constantly changing environment, CI, CD, DevOps
▸ Distributed computing
▸ Dockers, Cloud computing
CONTINUOUS DELIVERY
▸ It’s all about continuous delivery
Continuous Integration >
Continuous Testing >
Continuous Delivery
CONTINUOUS-INTEGRATION, TESTING, DEPLOYMENT & DELIVERY
Continuous Delivery != Continually delivering software
Continuous Delivery == Continuous production readiness
Continuous Deployment == Continually delivering software
DevOps is Not a Market, but a Tool-Centric Philosophy That Supports a
Continuous Delivery Value Chain
Thanks to Alister
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
▸ Agents are costly
Solution……
CONTAINERS TO RESCUE
‣ Light-weight
‣ All pre-requisites apps/libs are packaged.
‣ Also for mobile..
Docker Driven Development
Unified Infrastructure for Dev and Test
DOCKER CONTAINERS Vs VM’s
Analogy -
Apartment Villa
▸ Virtual Machine’s
▸ Includes Hardware simulation
▸ Can simulate only few VM’s per server
▸ Slower latency, takes time to load.
▸ Containers
▸ Based on Linux containers
▸ Lightweight - requires only few MB’s
▸ AUFS- Advanced Multi-Layered Unification File System
CONTAINERS VS VM’S
https://github.com/SeleniumHQ/docker-selenium
Dan Davison Leo Gallucci, Matt smith
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://HUB.DOCKER.COM/R/SELENIUM/
DOCKER-SELENIUM
DEMO TIME - SPIN UP SELENIUM GRID VIA DOCKER
DOCKERIZE YOUR TESTS : SHIP YOUR AUTOMATED
TESTS AS A CONTAINER
DOCKERIZE YOUR TESTS
NodeJs Java
docker build -t yourImageName .
DOCKERIZE YOUR TESTS
docker-compose.yml
MOBILES
APPIUM-DOCKER-ANDROID
https://github.com/appium/appium-docker-android
‣ Run tests on real device
‣ Connect to your existing Selenium Grid instance
‣ CONNECT_TO_GRID=True
‣ APPIUM_HOST=<ip_address_of_appium_server>
‣ APPIUM_PORT=<port_of_appium_server>
‣ SELENIUM_HOST=<ip_address_of_selenium_hub>
‣ SELENIUM_PORT=<port_of_selenium_hub>

DOCKER-ANDROID
https://github.com/butomo1989/docker-android
‣ Run tests in Android emulators
‣ VNC support
‣ Run UI tests for Android applications with different frameworks (appium, espresso, robotium)
‣ Connect to your existing Selenium Grid instance

ORCHESTRATION
▸ Automated arrangement, coordination, and management of
containers.
▸ Different tools out there…
DOCKER-SELENIUM IMAGES
CAPABILITIES OF ORCHESTRATION TOOLS
Self healing capability
Automatically brings up the containers if for some reasons it goes
down.
and much more….
https://github.com/manoj9788/kubernetes-docker-selenium


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



Scale containers - replicas
KUBERNETES - SELENIUM
Package Manager for Kubernetes
Use Helm package
$ helm install stable/selenium
KUBERNETES - SELENIUM
RECOMMENDED THIRD PARTY TOOLS BASED ON DOCKER-SELENIUM
Zalenium
https://github.com/zalando/zalenium

▸ Disposable and flexible docker-based Selenium Grid
▸ Live preview of tests running
▸ live dashboards(offline too)
▸ Integration of Cloud Testing solutions
▸ Run on Kubernetes (Beta!)
Aerokube
Selenoid
‣ ‘Go’ language implementation of Original(official) Selenium-Hub
‣ Docker based
‣ Re-use of containers
GridRouter
‣ Light-weight server routes requests to multiple hubs
‣ Scalable solution(1000+)
RECOMMENDED THIRD PARTY TOOLS BASED ON DOCKER-SELENIUM
http://docker.com
https://github.com/appium/appium-docker-android
https://github.com/seleniumhq/docker-selenium/
https://github.com/zalando/zalenium
https://github.com/aerokube/selenoid
https://blog.docker.com/2016/04/cicd-with-docker-cloud/
https://github.com/manoj9788/kubernetes-docker-selenium
REFERENCES
MANOJ KUMAR KUMAR @MANOJ9788
THANK YOU !

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Automation With Appium
Automation With AppiumAutomation With Appium
Automation With Appium
 
Manage appium dependencies with -appium-home in appium 2.0
Manage appium dependencies with  -appium-home in appium 2.0Manage appium dependencies with  -appium-home in appium 2.0
Manage appium dependencies with -appium-home in appium 2.0
 
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
 
The DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightThe DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It Right
 
e2e testing with cypress
e2e testing with cypresse2e testing with cypress
e2e testing with cypress
 
Appium with MySQL Database
Appium with MySQL DatabaseAppium with MySQL Database
Appium with MySQL Database
 
BDD with Cucumber
BDD with CucumberBDD with Cucumber
BDD with Cucumber
 
Run tests at scale with on-demand Selenium Grid using AWS Fargate
Run tests at scale with on-demand Selenium Grid using AWS FargateRun tests at scale with on-demand Selenium Grid using AWS Fargate
Run tests at scale with on-demand Selenium Grid using AWS Fargate
 
Mobile Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - Appium
 
Appium basics
Appium basicsAppium basics
Appium basics
 
Cypress - Best Practices
Cypress - Best PracticesCypress - Best Practices
Cypress - Best Practices
 
Jenkins-CI
Jenkins-CIJenkins-CI
Jenkins-CI
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
 
Cypress testing
Cypress testingCypress testing
Cypress testing
 
Automation - web testing with selenium
Automation - web testing with seleniumAutomation - web testing with selenium
Automation - web testing with selenium
 
Test Automation Framework with BDD and Cucumber
Test Automation Framework with BDD and CucumberTest Automation Framework with BDD and Cucumber
Test Automation Framework with BDD and Cucumber
 
Automation using Appium
Automation using AppiumAutomation using Appium
Automation using Appium
 
Selenium
SeleniumSelenium
Selenium
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
Automation test framework with cucumber – BDD
Automation test framework with cucumber – BDDAutomation test framework with cucumber – BDD
Automation test framework with cucumber – BDD
 

Similar a Automated-Testing-inside-containers

Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on Openstack
Docker, Inc.
 

Similar a Automated-Testing-inside-containers (20)

Testing as a container
Testing as a containerTesting as a container
Testing as a container
 
Testing AS A Container - Irfan Ahmad
Testing AS A Container - Irfan AhmadTesting AS A Container - Irfan Ahmad
Testing AS A Container - Irfan Ahmad
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 
vodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in TestingvodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in Testing
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
 
Three amigos: Bitbucket + Jenkins + Docker
Three amigos: Bitbucket + Jenkins + DockerThree amigos: Bitbucket + Jenkins + Docker
Three amigos: Bitbucket + Jenkins + Docker
 
Docker dev, test & production (afas)
Docker  dev, test & production (afas)Docker  dev, test & production (afas)
Docker dev, test & production (afas)
 
Continuous Delivery with Docker and Amazon ECS
Continuous Delivery with Docker and Amazon ECSContinuous Delivery with Docker and Amazon ECS
Continuous Delivery with Docker and Amazon ECS
 
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on Openstack
 
Run your Appium tests using Docker Android - AppiumConf 2019
Run your Appium tests using Docker Android - AppiumConf 2019Run your Appium tests using Docker Android - AppiumConf 2019
Run your Appium tests using Docker Android - AppiumConf 2019
 
Docker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldDocker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container world
 
Automation in the Small: Code to Cloud
Automation in the Small: Code to CloudAutomation in the Small: Code to Cloud
Automation in the Small: Code to Cloud
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Docker and Microservice
Docker and MicroserviceDocker and Microservice
Docker and Microservice
 
Containerised Testing at Demonware : PyCon Ireland 2016
Containerised Testing at Demonware : PyCon Ireland 2016Containerised Testing at Demonware : PyCon Ireland 2016
Containerised Testing at Demonware : PyCon Ireland 2016
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
 

Más de Manoj Kumar Kumar

Más de Manoj Kumar Kumar (10)

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
 
Testing for Inclusive Web: Accessibility
Testing for Inclusive Web: AccessibilityTesting for Inclusive Web: Accessibility
Testing for Inclusive Web: Accessibility
 
Test Automation Infrastructure with Containers
Test Automation Infrastructure with ContainersTest Automation Infrastructure with Containers
Test Automation Infrastructure with Containers
 
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
 

Último

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Último (20)

%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 

Automated-Testing-inside-containers