KEMBAR78
Continuous Delivery With Selenium Grid And Docker | PPTX
B O A R D P R E S E N TAT I O N
2017
C O N T I N U O U S D E L I V E R Y W I T H S E L E N I U M G R I D A N D D O C K E R
Selenium Grid and Docker
B Y B A R B A R A G O N Z A L E Z
+
Continuous Delivery
Benefits of Continuous Delivery
Believable
Progress
User
Feedback
Reduced
Deployment
Risk
Automated Tests
Bug
Detection
Mechanism
Courage To
Make Big
Changes
Minimize
Resources
and Costs
The Test Pyramid
Design Framework to End-To-End Testing
B O A R D P R E S E N TAT I O N
Our Problem
Run large test suites for multiple products as part of our
continuous integration process with a very small number of
QA Analysts and addressing all the security concerns.
$ $ $ $ $ $ $
$ $ $ $ $ $ $
Selenium Grid
• Run your tests against different
browsers, operating systems, and
machines all at the same time.
• Save time in the execution of your test
suite.
Selenium Grid
Docker
• Secure by default.
• Build for scale.
• Extensible and flexible.
Our Solution (Mirage)
The Grid
The Results
Compose File
Some Scripts
• Application Up
• docker-compose docker-compose.yml –project-name mirage up -d
• Scale application
• docker-compose docker-compose.yml –project-name mirage scale firefox=50
chrome=50
• Application Down
• docker-compose docker-compose.yml –project-name mirage down -d
Some Code
• Selenium
• <add key="hubUrl" value="http://10.202.10.186:4445/wd/hub" />
• var driver = new RemoteWebDriver(hubUrl, desiredCapabilities);
• driver.FindElement(By.Id(”myId"));
• Protractor
• exports.config = { framework: 'jasmine', seleniumAddress: params.hubUrl}
• element(by.name('username'))
B O A R D P R E S E N TAT I O N
The Difference
Develop
against local
grid
Increased
Reliability
and
Stability
Scheduled
and ad/hoc
Test Runs
for all
products
Write tests
using
different
frameworks
Our Future
• Move Grid to Swarm Cluster in Azure.
• Docker Container for IE.
• Improve Mobile Emulation.
Resources
• https://www.docker.com/
• https://github.com/SeleniumHQ/docker-selenium
• https://hub.docker.com/u/bg85/
• http://www.seleniumhq.org/docs/07_selenium_grid.jsp
• http://www.protractortest.org/#/
• https://xunit.github.io/
• https://jenkins.io/
• http://www.slideshare.net/BarbaraGonzalez69/continuous-
delivery-with-selenium-grid-and-docker
B O A R D P R E S E N TAT I O N
Weekend ?
B O A R D P R E S E N TAT I O N
Thank You
• Special Thanks to:
• Best Quality Engineer in the World! Today, our Selenium Grid Engineer
• Mamatha Medasani
B A R B A R A G O N Z A L E Z
B G P E R E D A @ G M A I L . C O M

Continuous Delivery With Selenium Grid And Docker

  • 1.
    B O AR D P R E S E N TAT I O N 2017 C O N T I N U O U S D E L I V E R Y W I T H S E L E N I U M G R I D A N D D O C K E R Selenium Grid and Docker B Y B A R B A R A G O N Z A L E Z +
  • 2.
  • 3.
    Benefits of ContinuousDelivery Believable Progress User Feedback Reduced Deployment Risk
  • 4.
    Automated Tests Bug Detection Mechanism Courage To MakeBig Changes Minimize Resources and Costs
  • 5.
  • 6.
    Design Framework toEnd-To-End Testing
  • 7.
    B O AR D P R E S E N TAT I O N Our Problem Run large test suites for multiple products as part of our continuous integration process with a very small number of QA Analysts and addressing all the security concerns. $ $ $ $ $ $ $ $ $ $ $ $ $ $
  • 8.
    Selenium Grid • Runyour tests against different browsers, operating systems, and machines all at the same time. • Save time in the execution of your test suite.
  • 9.
  • 10.
    Docker • Secure bydefault. • Build for scale. • Extensible and flexible.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
    Some Scripts • ApplicationUp • docker-compose docker-compose.yml –project-name mirage up -d • Scale application • docker-compose docker-compose.yml –project-name mirage scale firefox=50 chrome=50 • Application Down • docker-compose docker-compose.yml –project-name mirage down -d
  • 16.
    Some Code • Selenium •<add key="hubUrl" value="http://10.202.10.186:4445/wd/hub" /> • var driver = new RemoteWebDriver(hubUrl, desiredCapabilities); • driver.FindElement(By.Id(”myId")); • Protractor • exports.config = { framework: 'jasmine', seleniumAddress: params.hubUrl} • element(by.name('username'))
  • 17.
    B O AR D P R E S E N TAT I O N The Difference Develop against local grid Increased Reliability and Stability Scheduled and ad/hoc Test Runs for all products Write tests using different frameworks
  • 18.
    Our Future • MoveGrid to Swarm Cluster in Azure. • Docker Container for IE. • Improve Mobile Emulation.
  • 19.
    Resources • https://www.docker.com/ • https://github.com/SeleniumHQ/docker-selenium •https://hub.docker.com/u/bg85/ • http://www.seleniumhq.org/docs/07_selenium_grid.jsp • http://www.protractortest.org/#/ • https://xunit.github.io/ • https://jenkins.io/ • http://www.slideshare.net/BarbaraGonzalez69/continuous- delivery-with-selenium-grid-and-docker
  • 20.
    B O AR D P R E S E N TAT I O N Weekend ?
  • 21.
    B O AR D P R E S E N TAT I O N Thank You • Special Thanks to: • Best Quality Engineer in the World! Today, our Selenium Grid Engineer • Mamatha Medasani B A R B A R A G O N Z A L E Z B G P E R E D A @ G M A I L . C O M