SlideShare a Scribd company logo
By Arik Lerner & Waseem Hamshawi
Kubernetes your Tests!
Testing with Docker on Google Cloud Platform
The JourneyBased On True Story!
{
“Name”: “Arik Lerner”,
“Role”: “Automation Infra Team Leader at LivePerson”,
“Data”: [
“3 years as Team Leader in Liveperson” ,
“2 years Java developer Reporting Platform Liveperson”
],
“Hobbies”: “Private pilot”
}
Active Prevention Department
{
“Name”: “Waseem Hamshawi”,
“Role”: “Senior Automation Infra Developer at Liveperson”,
“Data”: [
“2.5 years at Liveperson”,
“github: waseemh.github.io”,
],
“Hobbies”: “Running”
}
Waseem is Here!
Active Prevention Department
Short Story
From Manual Post Deployment Verification
TO
Automation
❏ Fast feedback
❏ Stable Environment
❏ Isolation
❏ Investigation tools - Hard to support (Video/HAR)
❏ Scale
❏ Efficiency
❏ Browser diversity
❏ Mobile Support
Requirements
Selenium Hub
Running Test
Static VMs
Supported Requirements
Browser diversity
Mobile Support
Parallelism
Traditional Selenium Grid
Ranking:
Tooling
Deployment/
Configuration
Feedback
Isolation
Efficiency
Scalability
❏ Less stable
❏ Crashes - require restarts
❏ Cancel build in progress leave open sessions
❏ Investigation tools - Hard to support (Video/HAR)
❏ Manual grid node Configuration/deployment
❏ Not scalable
❏ Slow feedback
❏ Not efficient - idle grid machines
Facing Issues
Kubernetes your tests! automation with docker on google cloud platform
Cattlevs.Pets
VM
Container
● When they get ill you nurse them back
to health
● You name them! And take of them!
● When they get ill you get another one!
● They are almost identical to one another
● Don't have specific names. Given numbers
● Can be simply replaced if they die
What Docker gives us ?
● Build it once run it everywhere!
● Resource Isolation
● Test Isolation
● Package format
● Implementation of a container
Docker
Chrome FirefoxVNC Server
Selenium Server
Hub/Node JAR
Mobile Android
What is in a Selenium Container ?
VM
VM
VM
VM
Nodes
HUB
N Hub’s
Running Tests
Selenium Grid Architecture Makeover
Selenium Docker Images
hub.docker.com/r/selenium
DEMO
We need more than just Packaging and
Isolation:
● Orchestration - Distribute containers
● Health Checks
● Resilience and Self-healing
● Scaling - making jobs bigger or smaller
Kubernetes Orchestrator
VM
VM
VM
VM
Pods
HUB
N Hub’s
Running Tests
Selenium Grid Architecture Makeover
Testing on the Cloud!
Benefits of Cloud Platform
● Kubernetes cluster in a click of a button (GCP)
● No idle machines - Use when needed
● Costs per build/test - measurable
● Not part of Liveperson network
● Geolocation simulation
DEMO
Build Life Cycle
GCP - Selenium Grid lifecycle
Run tests
Kill Selenium Grid
Scale Down GCP Instances
Scale Out GCP Instances
Create Selenium Grid container cluster
Requirements
Requirements
❏ Fast feedback
❏ Stable Environment
❏ Isolation
❏ Investigation tools - Hard to support (Video/HAR)
❏ Scale
❏ Efficiency
❏ Browser diversity
❏ Mobile Support
Ranking:
Tooling
Deployment/
Configuration
Feedback
Isolation
Efficiency
Scalability
❏ Investigation tools - Video tools not reliable and not
stable.
❏ Feedback
❏ Improved BUT still needs to wait for nodes to
connect into Hub
❏ Point of failures
❏ Hub/Nodes is more failure points in the
architecture that not really necessary
Facing Issues
Kubernetes your tests! automation with docker on google cloud platform
waseemh-mac$ java -jar selenium-server-standalone-2.53.1.jar -role
Selenium server can run in one of the following roles:
hub as a hub of a Selenium grid
node as a node of a Selenium grid
standalone as a standalone server not being a part of a grid
Test Hub
Selenium Server
(Node)
Selenium Standalone
Non-Grid Solution
● Fast → Deploy Selenium Standalone containers on-demand
● Short-lived → Selenium containers are destroyed once test ends
● Distribute and manage containers with Kubernetes
Test
createRemoteWebDriverSession(caps)
VM
VM
VM
VM
new RemoteWebDriver(External Endpoint)
Test Cluster
?
github.com/LivePersonInc/ephemerals
Ephemerals
Ephemerals
API
Deploy
Endpoint IP:Portnew RemoteWebDriver(Endpoint IP:Port)
createRemoteWebDriver
(desiredCapabilities)
TestTestTest
TestTestTestTestTest
Test
JUnit Integration
@Rule
public EphemeralResource<RemoteWebDriver> seleniumResource =
new EphemeralResource(
new SeleniumEphemeral.Builder(deploymentContext)
.withBrowser(FIREFOX_42)
.withVideoRecording(true)
.build());
@Test
public void test() {
RemoteWebDriver remoteWebDriver = seleniumResource.get();
.....
}
DEMO
Challenges
● Appium crashes/unresponsive, adb server restarts
● Android SDKs environment installation/maintenance
● Appium↔WebDriver API Versions Incompatibility
● Difficult to parallelise mobile tests
● Scale mobile tests ?!
Mobile Testing
Emulator
Ephemeral’s Way
Emulator
Appium
WebDriver
Test
Install
(APK URL)
Ephemerals
API
createMobileDriver
(capabilities) Deploy
Appium Endpoint
IP:Port
new AndroidDriver(Appium IP:Port)
DEMO
Requirements
Ranking:
Tooling
Deployment/
Configuration
Feedback
Isolation
Efficiency
Scalability
Requirements
❏ Fast feedback
❏ Stable Environment
❏ Isolation
❏ Investigation tools - Hard to support (Video/HAR)
❏ Scale
❏ Efficiency
❏ Browser diversity
❏ Mobile Support
Beyond Selenium...
Deploy any test dependency inside a container
● Web Servers (/modules/nginx)
● Temporary Databases (/modules/mysql)
● Mock Servers (/modules/wiremock)
● Any Docker Image (/modules/custom)
Talking Together...
Web Application
Nginx Ephemeral Selenium Ephemeral
EP
Test Script
EP
WireMock Ephemeral
EP
REST
API
HTTP
Ephemerals - Future Plans
● REST API (for non-Java tests)
● Support more cluster management systems:
○ Apache Mesos
○ Docker Swarm
● More modules
Takeaways
● Enhance traditional Selenium tools
● Containerization - Short lived, throwaway instances
● Scalable tests with Containers Orchestration
● Benefits of Testing on Cloud Platforms
Kubernetes your tests! automation with docker on google cloud platform
THANK YOU!

More Related Content

PDF
What Is Helm
PPTX
Kubernetes Helm: Why It Matters
PPTX
Introduction to Kubernetes
PDF
Evolution of containers to kubernetes
PDF
Kubernetes - introduction
PPT
Jenkins Overview
PPTX
Intro to Helm for Kubernetes
PDF
Agile Software Development
What Is Helm
Kubernetes Helm: Why It Matters
Introduction to Kubernetes
Evolution of containers to kubernetes
Kubernetes - introduction
Jenkins Overview
Intro to Helm for Kubernetes
Agile Software Development

What's hot (20)

PPTX
Hexagonal architecture with Spring Boot [EPAM Java online conference]
KEY
Selenium Grid
PDF
Scrum: Scrum Guide Summary
PDF
PPT
Quality planning
PDF
What is WebElement in Selenium | Web Elements & Element Locators | Edureka
PPTX
Introduction to Helm
PDF
Platform engineering
PDF
"DevOps > CI+CD "
PPTX
Agile Release Planning
PDF
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
PDF
An Introduction to Test Driven Development
PDF
"Platform Engineering in practice — Why and How to start", Serg Hospodarets
PDF
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
PDF
Agile
PPTX
CI / CD ( 지속적인 통합 / 지속적인 전달 ) 발표 자료 다운로드
PPTX
Kubernetes for Beginners: An Introductory Guide
PPTX
Git collaboration
PPTX
A brief study on Kubernetes and its components
PDF
Gap Assessment for DevOps
Hexagonal architecture with Spring Boot [EPAM Java online conference]
Selenium Grid
Scrum: Scrum Guide Summary
Quality planning
What is WebElement in Selenium | Web Elements & Element Locators | Edureka
Introduction to Helm
Platform engineering
"DevOps > CI+CD "
Agile Release Planning
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
An Introduction to Test Driven Development
"Platform Engineering in practice — Why and How to start", Serg Hospodarets
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
Agile
CI / CD ( 지속적인 통합 / 지속적인 전달 ) 발표 자료 다운로드
Kubernetes for Beginners: An Introductory Guide
Git collaboration
A brief study on Kubernetes and its components
Gap Assessment for DevOps
Ad

Viewers also liked (20)

PPTX
Growing into a proactive Data Platform
PPTX
Measure() or die()
PPTX
Graph QL Introduction
PDF
Telling the LivePerson Technology Story at Couchbase [SF] 2013
PPTX
Resilience from Theory to Practice
PPTX
Functional programming with Java 8
PDF
Reliability Patterns for Large-Scale Automated Tests
PDF
KubeCon EU 2016: Leveraging ephemeral namespaces in a CI/CD pipeline
PDF
Automation for developers
PDF
Self Heal Your OpenStack Control Plane!
PPTX
TIAD : Automate everything with Google Cloud
PPTX
Cross Platform Test Automation for Web and Android
DOCX
Multi tool test automation platform
PDF
Wso2 test automation framework internal training
PPTX
Wix automation
PPTX
Autoscaled Distributed Automation using AWS at Selenium London MeetUp
PPT
Building Clustered Applications with Kubernetes and Docker
PPTX
MyHeritage - End 2 End testing Infra
PDF
MUTANTS KILLER (Revised) - PIT: state of the art of mutation testing system
PDF
An Introduction to the Kubernetes API
Growing into a proactive Data Platform
Measure() or die()
Graph QL Introduction
Telling the LivePerson Technology Story at Couchbase [SF] 2013
Resilience from Theory to Practice
Functional programming with Java 8
Reliability Patterns for Large-Scale Automated Tests
KubeCon EU 2016: Leveraging ephemeral namespaces in a CI/CD pipeline
Automation for developers
Self Heal Your OpenStack Control Plane!
TIAD : Automate everything with Google Cloud
Cross Platform Test Automation for Web and Android
Multi tool test automation platform
Wso2 test automation framework internal training
Wix automation
Autoscaled Distributed Automation using AWS at Selenium London MeetUp
Building Clustered Applications with Kubernetes and Docker
MyHeritage - End 2 End testing Infra
MUTANTS KILLER (Revised) - PIT: state of the art of mutation testing system
An Introduction to the Kubernetes API
Ad

Similar to Kubernetes your tests! automation with docker on google cloud platform (20)

PDF
Getting Started with Dockerization of Selenium Tests Execution - Testwarez 2019
PDF
Easy Setup for Parallel Test Execution with Selenium Docker
KEY
Testing with Jenkins, Selenium and Continuous Deployment
PPSX
Selenium - Introduction
PPTX
Selenium - Introduction
PPTX
Automating Software Development Life Cycle - A DevOps Approach
ODP
Mastering selenium for automated acceptance tests
PPT
Selenium2 and Jenkins: Almost pain-free UI Testing
PDF
How to Dockerize Parallel Execution of Selenium Tests - SQA Days EU, Rgia, La...
PPT
Integration and Acceptance Testing
PDF
Basics of Selenium IDE,Core, Remote Control
PPTX
Zalenium - How to run Selenium Script using Docker and Selenium Grid
PPTX
Ravello webinar - Creating smart labs on AWS/Google for sales demos, training...
PDF
Meet the Selenium Grid
PDF
Level Up Your Integration Testing With Testcontainers
PDF
Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...
PPTX
Destination DevOps: Evolving from VMware lab management to cloud-based agile ...
PPTX
Selenium Introduction and IDE
DOC
PDF
Mobile Test Automation using one API and one infrastructure
Getting Started with Dockerization of Selenium Tests Execution - Testwarez 2019
Easy Setup for Parallel Test Execution with Selenium Docker
Testing with Jenkins, Selenium and Continuous Deployment
Selenium - Introduction
Selenium - Introduction
Automating Software Development Life Cycle - A DevOps Approach
Mastering selenium for automated acceptance tests
Selenium2 and Jenkins: Almost pain-free UI Testing
How to Dockerize Parallel Execution of Selenium Tests - SQA Days EU, Rgia, La...
Integration and Acceptance Testing
Basics of Selenium IDE,Core, Remote Control
Zalenium - How to run Selenium Script using Docker and Selenium Grid
Ravello webinar - Creating smart labs on AWS/Google for sales demos, training...
Meet the Selenium Grid
Level Up Your Integration Testing With Testcontainers
Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...
Destination DevOps: Evolving from VMware lab management to cloud-based agile ...
Selenium Introduction and IDE
Mobile Test Automation using one API and one infrastructure

More from LivePerson (17)

PPTX
Microservices on top of kafka
PPTX
System Revolution- How We Did It
PPTX
Liveperson DLD 2015
PDF
Http 2: Should I care?
PDF
Mobile app real-time content modifications using websockets
PDF
Mobile SDK: Considerations & Best Practices
PPTX
Apache Avro in LivePerson [Hebrew]
PPTX
Apache Avro and Messaging at Scale in LivePerson
PPTX
Data compression in Modern Application
PPTX
Support Office Hour Webinar - LivePerson API
PPTX
SIP - Introduction to SIP Protocol
PPTX
Scalding: Reaching Efficient MapReduce
PDF
Building Enterprise Level End-To-End Monitor System with Open Source Solution...
PPTX
Introduction to Data Science
PPTX
From a Kafkaesque Story to The Promised Land at LivePerson
PPTX
How can A/B testing go wrong?
PPSX
Introduction to Vertica (Architecture & More)
Microservices on top of kafka
System Revolution- How We Did It
Liveperson DLD 2015
Http 2: Should I care?
Mobile app real-time content modifications using websockets
Mobile SDK: Considerations & Best Practices
Apache Avro in LivePerson [Hebrew]
Apache Avro and Messaging at Scale in LivePerson
Data compression in Modern Application
Support Office Hour Webinar - LivePerson API
SIP - Introduction to SIP Protocol
Scalding: Reaching Efficient MapReduce
Building Enterprise Level End-To-End Monitor System with Open Source Solution...
Introduction to Data Science
From a Kafkaesque Story to The Promised Land at LivePerson
How can A/B testing go wrong?
Introduction to Vertica (Architecture & More)

Recently uploaded (20)

PPTX
Computer Software and OS of computer science of grade 11.pptx
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Transform Your Business with a Software ERP System
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Understanding Forklifts - TECH EHS Solution
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Introduction to Artificial Intelligence
Computer Software and OS of computer science of grade 11.pptx
Odoo POS Development Services by CandidRoot Solutions
How to Choose the Right IT Partner for Your Business in Malaysia
Designing Intelligence for the Shop Floor.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Transform Your Business with a Software ERP System
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Navsoft: AI-Powered Business Solutions & Custom Software Development
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Odoo Companies in India – Driving Business Transformation.pdf
PTS Company Brochure 2025 (1).pdf.......
Wondershare Filmora 15 Crack With Activation Key [2025
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Understanding Forklifts - TECH EHS Solution
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Why Generative AI is the Future of Content, Code & Creativity?
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Introduction to Artificial Intelligence

Kubernetes your tests! automation with docker on google cloud platform