Quick Description :

To support the continuously evolving software industry, DevOps and Agile practices have established themselves as a big helping hand. With ever-increasing large scale digital transformation projects, organizations realize that the only way to shorten the product development cycles is to automate the processes involved in the delivery pipeline.

There are many tools and technologies to establish DevOps, but one of the most important ones is containerization, which gives flexibility in application packaging and automating a number of processes involved in the delivery pipeline. Containers have all the needed configurations and dependencies, for faster delivery of committed items to the customer. Docker is an open-source solution that makes it easier to create, deploy and run applications securely using containers. Therefore, quick feedback and testing applications with different environments can be achieved using Selenium with Docker.

My Proposal :

We can reduce the significant effort in provisioning, maintaining, running the Test Automation on different environment setup using, Docker with Test Automation. Some of the benefits are:

Benefits of using Docker with Selenium:

  1. Test an application on multiple browsers and their different versions without installing them on multiple machines
  2. To test multiple application builds concurrently without updating the code for different environments
  3. To test your applications on multiple devices/OS/Browser combinations on a single machine.As Selenium within Docker will make it much quicker to test different environments by using the preconfigured containers.
  4. Also, I will cover topics like how to set up the Selenium multi-environment setup using Docker concepts like Compose file, etc.

Best practices using Selenium with Docker

  1. Common Dos and Don'ts for this setup.
  2. How to avoid over maintenance of your Test Harness.
  3. Infrastructure setup

Increase the power of your Test Automation Setup with Kubernates:

How to handle Selenium grid-based dockerize nodes with Kubernates.

 
 

Outline/Structure of the Workshop

First 15 mins will be basic Introduction of Docker, Containerization, and Challenges we faced in Selenium Grid

  1. What is Docker.
  2. Why Docker is important in today's automation Context.
  3. Challenges in multi-Platform, cross-browser testing with Selenium grid.

Then how Docker helps us in Multi-Platform testing. It will take around 10 mins

  1. Benefits of using Docker.
  2. Increase ROI with Docker-based Selenium tests.

Next 20 mins I will be discussing, a quick demonstration of Selenium with Docker , orchestration tools like Kubernetes and most important Q&A

  1. Setup the Selenium Grid with Docker.
  2. Running Selenium Grid with Docker.
  3. Features and support.
  4. POC (Proof of concept) and Quick Tips.
  5. Q&A

Learning Outcome

  1. Participants will get awareness on using Containerization in Test Automation project
  2. Learn to increase ROI with Docker-based Selenium tests
  3. Participants can implement this knowledge right away in any of their upcoming automation projects

Target Audience

Test Automation Engineers, DevOps

schedule Submitted 3 months ago

Public Feedback

comment Suggest improvements to the Speaker
  • Pallavi ...
    By Pallavi ...  ~  2 months ago
    reply Reply

    Hi Prateek

    Do you think this talk would be more suitable as a workshop for 90 minutes, after going through the outline you have mentioned it looks more like a tutorial, and audience may benefit with a hands on session. 

    what are your thoughts on it? 

     

    • Prateek Sethi
      By Prateek Sethi  ~  2 months ago
      reply Reply

      Hi Pallavi,

      Sure, this can be planned as a workshop. Please let me know the compensation policy for the workshop.  Will, it includes Conference passes as well?

      Thanks

      • Deepti Tomar
        By Deepti Tomar  ~  2 months ago
        reply Reply

        Hello Prateek,

        Please refer to our Speaker Compensation Policy here.

        Thanks,

        Deepti

        • Prateek Sethi
          By Prateek Sethi  ~  2 months ago
          reply Reply

          Thanks, Deepti.

          Sure, we can plan this as a workshop.

        • Pallavi ...
          By Pallavi ...  ~  2 months ago
          reply Reply

          Thanks for the revert Prateek and updating the talk as workshop.

    • Deepti Tomar
      By Deepti Tomar  ~  3 months ago
      reply Reply

      Hello Prateek,

      Thanks for your proposal!
      Could you please update the Outline/Structure section of your proposal with a time-wise breakup of how you plan to use 45 mins for the topics you've highlighted?

      And, to help the program committee understand your presentation style, can you provide a link to your past recording or record a small 1-2 mins trailer of your talk and share the link to the same? 

      Thanks!

      • Prateek Sethi
        By Prateek Sethi  ~  2 months ago
        reply Reply

        Hi Deepti, I have updated the Outline/Structure section in my proposal.

        Also, please find the Youtube link for some of my video recording for Docker with Selenium series:

        Introduction to Docker with Selenium: https://youtu.be/cjj6s8fSdcY
        Docker Installation on Mac: https://youtu.be/y9LilIF1MbE
        Docker Container Commands: https://youtu.be/tklQY4PDHcE

        Thanks

        • Deepti Tomar
          By Deepti Tomar  ~  2 months ago
          reply Reply

          Hello Prateek,

          Sure, Thanks for the update! Also, we would suggest you include time for Q&A in the proposed outline/structure.

          Thanks!

          • Prateek Sethi
            By Prateek Sethi  ~  2 months ago
            reply Reply

            Hi Deepti, 

            I have updated the same.

            Thanks!

      • Prateek Sethi
        By Prateek Sethi  ~  2 months ago
        reply Reply

        Sure Deepti, I will update and provide the required details.

        Thanks

    • Lata Wadhwa
      By Lata Wadhwa  ~  3 months ago
      reply Reply

      Docker with Selenium is great combination. Great info, Prateek. Also, looking forward to implement the learning from this session, in our current project to increase the automation ROI.

    • Anuj Kumar
      By Anuj Kumar  ~  3 months ago
      reply Reply

      Great article. I also think it's a need for the QA/SDET.

      Looking forward for this topic!!!!!

    • Maaret Pyhajarvi
      By Maaret Pyhajarvi  ~  3 months ago
      reply Reply

      What is the session length you were thinking for this proposal? It is now marked down as 20 minutes, which feels like it does not reflect the scope of the description.

      • Prateek Sethi
        By Prateek Sethi  ~  3 months ago
        reply Reply

        Hi Maaret, Thanks for your comment.

        I have updated the duration to 45 mins.

    • Rishabh Saxena
      By Rishabh Saxena  ~  3 months ago
      reply Reply

      Learning scope from this topic is high. We are looking forward to learn and implement in our project.

    • Sanjay thakur
      By Sanjay thakur  ~  3 months ago
      reply Reply

      Looking forward to hear from you.

    • Pawan kumar
      By Pawan kumar  ~  3 months ago
      reply Reply

      Great Info!! Looking forward for this article to get selected. Kudos !!

    • Aman Bhujeja
      By Aman Bhujeja  ~  3 months ago
      reply Reply

      Great Topic, I think it should be selected, will help us in improving our  Automation Framework and get better ROI.

    • Sandeep Tiwari
      By Sandeep Tiwari  ~  3 months ago
      reply Reply
      • ...Nice proposal and I am looking forward to it
      • Prateek Sethi
        By Prateek Sethi  ~  3 months ago
        reply Reply

        Thanks, Sandeep for Liking this proposal. 


    • Liked Shweta Sharma
      keyboard_arrow_down

      Shweta Sharma / Nikita Jain - Accessibility testing 101

      45 Mins
      Talk
      Beginner

      "This world is such a beautiful place to live in." If you can read the first sentence without any screen readers or assistance, you're privileged. As technologists, shouldn’t we be more empathetic towards differently-abled people and make all parts of our website accessible to them? In my humble opinion, the true power of technology can be identified when it reaches out to people of all kinds having different physical or psychological challenges. We not only legally bound to provide Accessibility but also it should be considered as our moral responsibility.

      As testers, we have a wonderful opportunity to contribute to Accessibility by ensuring that the site is accessible in many different ways. Although it is impossible to identify all the issues that exist around Accessibility in the world, we are lucky enough to still understand a majority of them. With this understanding, there have been many measures taken in order to make your site accessible. But, don’t forget - we are QA engineers. We got to ensure that the site is accessible as per the standards set by WCAG 2.0 (AA) by testing for accessibility using various tools and techniques.

    • Liked Virender Singh
      keyboard_arrow_down

      Virender Singh - Rise of Shadow DOM - Lets solve it through WebDriver

      45 Mins
      Demonstration
      Beginner

      Shadow DOM is kind of web standard that developers use to encapsulate their custom HTML code and style components so that no other global style components can override their code. It ensures that a component will work in any environment, even if other CSS or JavaScript is run on the page i.e. Shadow DOM hides away the complexity of the components from the rest of the page because it renders separately from main DOM.

      Selenium legacy selectors are not able to interact these custom elements under the shadow DOM so we need java script to interact with shadow DOM elements and we also require JavascriptExecutor interface for their execution.

      We will also talk about the WebdriverIO tool v5.5.0, which implicitly support Shadow DOM elements.

       
       
    • Liked Amit Rawat
      keyboard_arrow_down

      Amit Rawat - Is Puppeteer better than Selenium

      45 Mins
      Demonstration
      Intermediate

      Puppeteer is a Node js library (developed by Google Chrome team) to control Chrome and Firefox and is getting lot of traction recently because of its amazing capabilities. It has already become so popular that it has got 50K+ stars on Github against Selenium's 15K+ stars.

      In the last Google I/O event, this tool's capability has been showcased and it has been perceived as the next generation Web Test Automation Tool.

      Is Puppeteer better than Selenium? The answer is 'No', and I will cover 'why' in detail during this talk. I will show some live examples to demonstrate that Selenium can also do all those advance things which Puppeteer promises to do.

    • Liked Khyati Sehgal
      keyboard_arrow_down

      Khyati Sehgal / Shubhechchha Rai - Applying software craftsmanship to the evolving world of automation.

      45 Mins
      Demonstration
      Beginner

      Software Craftsmanship is a practice of continuous development and helping others learn the craft. As the world is evolving towards the era of scripting language, we will be sharing our experience of how we have grown as a team of all QA with programming language background to the niche typescript world contributor.
      During this talk, we will be focussing on the shift of existing selenium to the actual implementation of Protractor test API. How and when to use a protractor? When to pick protractor as an automation tool for building a framework.

      By the end of the session, one will be able to understand how can we start working on end to end tests for any JavaScript and TypeScript based application using Protractor, Cucumber framework, and Page Object Model design pattern.

      We will also talk about configuration files, cucumber, typescript, promise handling in protractor.

    • Liked Ivan Krutov
      keyboard_arrow_down

      Ivan Krutov - Workshop: Efficient Selenium Infrastructure with Selenoid

      Ivan Krutov
      Ivan Krutov
      Developer
      Aerokube
      schedule 4 months ago
      Sold Out!
      480 Mins
      Workshop
      Intermediate

      Selenoid is an alternative lightning fast open-source Selenium protocol implementation running browsers and Android emulators inside Docker containers. It is distributed with a set of ready-to-use Docker images corresponding to the majority of popular browser versions, has a one-command installation utility and works slightly more efficiently than traditional Selenium Grid.

      This tutorial shows how to build efficient and scalable browser automation infrastructure using Selenoid and related tools. You will be taught why running browsers in containers is so efficient, how to easily install Selenoid and use its powerful features.

    • Liked Srinivasu gangam
      keyboard_arrow_down

      Srinivasu gangam - Zero Touch Automation using NLP (Natural language processing) & AI

      Srinivasu gangam
      Srinivasu gangam
      Sr Manager
      Cotiviti India
      schedule 5 months ago
      Sold Out!
      45 Mins
      Demonstration
      Intermediate

      Problem Statement:

      As part of SDLC process:

      1. Is your product quality impacted due to a smaller number of QA resources available in the team?
      2. Are you waiting for QA resources to certify your code every time when you deploy? Is this impacting your product lead time (Speed to Market)?
      3. Is your Product delivery timelines are impacted due to last minute defects identified?
      4. Do you have your QA resources only in one location, but you want to “follow-the-sun” approach for Software delivery across multiple locations?
      5. Do you have manual testers who are not skilled in programming, but you want them to execute automated test scripts w/o any training efforts and automation setup?
      6. Would you like your team more agile and cross functional with Delivery?
      7. Would you like to increase your QA team’s productivity while they invest more time in script development rather than script execution?

      If answer is ‘Yes’ for above questions, "Zero touch automation" is the solution for above challenges that we have been facing part of SDLC.

      Solution: Zero touch automation with cutting-edge technologies

      In this session, I will cover how we solved this problem using innovative solutions, Cutting-edge technologies like NLP (Natural language processing), AI & Cloud solutions.

      You will learn how AI, NLP integrated with core automation components to achieve Zero touch automation.

      This solution is not just revolutionary, it is paradigm shift in test automation to get results to your email with detailed analysis of failure categorization with recommended actions to users.

      I will also cover how E2E automation will be driven with decisions taken by machines based on what user is looking for . There is no manual intervention in this process. NLP and AI play key role to help machines to take decisions.

      We will also cover how we empowered developer/release manager/any team member/Manager to trigger the scripts from their cell phone and get the detailed execution report without having any automation software installed in their computer or Phone.

      We will be demonstrating how the request will be initiated from User, understand the need from user using NLP & AI , Fetching the code from bitbucket to select appropriate automation scripts , running them on Selenoid/docker server , storing results to MongoDB , receiving email with test results and Failure analysis.

      What is the value of zero touch automation?

      1. Enable speed to market: Now that Developers does not need to wait for QA resource, Changes can be certified quickly and ready to push to production. Lead time will be significantly reduced.
      2. Increase quality: Now that test automation is easy and it can run multiple times in each environment, most of the defects will be uncovered and addressed before code goes to production.
      3. Ease of test execution: Test execution will be very easy, no automation or framework setup required from user side. Test execution can be done 24*7.
      4. Productivity: Increase QA team’s Productivity to focus more on script development rather than focusing on script execution and failure analysis .
    • Liked Artem Sokovets
      keyboard_arrow_down

      Artem Sokovets - Three approaches to the next level of automation testing

      45 Mins
      Case Study
      Intermediate

      In my talk, I want to share several approaches that help to improve automation testing in your company.

      Do you want to spend less time developing UI automated tests? Maybe you want to reduce boilerplate code in UI tests? Or you think it is time to improve Page Object pattern that has been used for more than 8 years?

      My first point will be about how the interface can help us to represent a new vision of Page Object and what benefits we could get from it.

      The second - modern methods for coverage measuring are good only for development. However, the amount of useful information from coverage reports is extremely small.

      It will a journey about autotest coverage. Imagine, that your project manager asks you - Do we have autotests for these buttons (forms, pages) or what autotests cover these Rest APIs with 'special' query parameters? I will show you two simple solutions that allow you to evaluate the coverage of tests written by test automation specialists.

      a) API tests. There is a swagger and during his execution, we also collect a swagger. We count coverage as a diff of two swaggers. We can see what is covered, what is not and what data used.

      b) Web tests. During the execution of tests, we collect information about elements, pages, and actions. As a result, we have such a format: page -> elements -> actions -> tests. All information representing in Chrome Plugin, that I will share with you.

      And last, I am going to consider what cons have current TMS (QA time management systems) and what to do if you want to make an automation-first strategy on your project? Moreover, you look for one TMS for developers and QAs/or you want to save the Allure report of all autotests in one place?

      Here you are! Allure Server has already released. I will overview the most important features and how to start using it from scratch.

      If you have an interest in the above themes come to my talk.

    • Liked Vishal Srivastava
      keyboard_arrow_down

      Vishal Srivastava / Khyati Sehgal - Setup Grid Infra with AWS Nodes & Autoscaling of AWS Nodes

      45 Mins
      Demonstration
      Intermediate

      When it comes to creating a project we always search for ideas that are open-source, easily scalable, ready to use.

      We as humans always have a tendency to grow and expand and when it comes to customizable infrastructure it's a big Yes.

      In this talk, we will be focussing on how we can save the cost of actual servers with easily scalable and manageable open-source software using an open-source tool - selenium grid. How we set up the nodes and hub altogether to make cross-browser, multi-platform execution takes place.

    • Liked Sameer Arora
      keyboard_arrow_down

      Sameer Arora - Triggering alerts on Slack along with screenshots in case of test case failure

      Sameer Arora
      Sameer Arora
      Senior Software Test Engineer
      Gaana
      schedule 5 months ago
      Sold Out!
      45 Mins
      Demonstration
      Beginner

      One of the biggest limitations with most of the frameworks in selenium is that we need to wait till the end to get the final test case report. Only then we can raise the alert that a particular functionality is broken. By then, it may be too late! In addition to this, in most of the frameworks, the HTML report generated is hosted on our company's private network and we need to connect to the VPN if we are outside the office to open the report and check the related screenshots to see which test case has failed and why.

      So, why not raise an alert as soon as the test case fails? And why not attach a screenshot along with that alert so that all the stakeholders can actually see what has failed in the application?

      In this session, we will learn a simple yet a really useful way of sending an alert along with the failed test case screenshot by integrating slack with selenium which will help us alert all the stakeholders as soon as an automated test case fails so that everyone can react to it immediately and the damage will be minimised.

    • Liked Khyati Sehgal
      keyboard_arrow_down

      Khyati Sehgal / Shubhechchha Rai - Expanding the aura of automation, when it comes to mobile.

      45 Mins
      Demonstration
      Intermediate

      This talk will answer the questions "Will you be able to run your automation scripts without connecting the USB cable to your device in a limited range?"

      If we have to ask ourselves where is the mobile and when is it required? So the answer would be its 'Everywhere'!!

      It's next to possible to imagine a day without looking at mobile or using apps for that matter- Google, Facebook, Whatsapp, etc.

      When it comes to using it so testing comes hand-in-hand with it. As we develop applications over a mobile device, be it any platform ios, Andriod and windows we shall also think about usability and end-to-end testing.

      In this talk, we will discuss how Appium worked as a bridge between devices and controllers.

    • Liked Argneshu Gupta
      keyboard_arrow_down

      Argneshu Gupta - Get rid off Xpath in iOS Native App Automation

      Argneshu Gupta
      Argneshu Gupta
      QA Lead
      3PillarGlobal
      schedule 3 months ago
      Sold Out!
      45 Mins
      Demonstration
      Beginner

      It is always challenging for us while dealing with Xpath and Css in iOS Mobile Automation.Even we can't think to do iOS native app mobile automation without them .

      So problems we need to face are

      • High Maintenance
      • High Execution Time
      • Complex installation
      • Additional Web server

      Do we have some solutions for this problem - The answer is Yes !!! -> KIF(Keep It Functional)

    • Liked Khanh Do
      keyboard_arrow_down

      Khanh Do - Leveraging Artificial Intelligence to create self-healing tests

      Khanh Do
      Khanh Do
      QA Architect
      Kobiton
      schedule 5 months ago
      Sold Out!
      45 Mins
      Tutorial
      Intermediate

      A key requirement for successful test automation is to get past the brittle or fragile nature of test scripts. Any Selenium (or Appium) developer has encountered the dreaded "NoSuchElement Exception". A locator that worked yesterday may fail today. What's a test engineer to do?

      Fortunately the field of AI provides promising solutions and allows for the creation of self-healing tests. Tests that can find elements across all environments. Tests that can learn from "human-in-the-loop" intervention and work perfectly thereafter. Imagine automated tests that "just work"!

      This session will look at how to apply the latest in AI and Machine Learning technologies to improve your test scripts. With the plethora of new open source AI libraries made available by companies such as Google, the ability to leverage AI in your applications is more accessible than ever.

      This session will be a primer on AI technologies and how they can be utilized for perfect test automation.

    • Liked Sahib Babbar
      keyboard_arrow_down

      Sahib Babbar / Amrit Pal Singh - An extensible architecture design for cross-platforms/technologies to maximise product automation coverage

      20 Mins
      Case Study
      Intermediate

      "Are you working for a product where you're struggling to automate the module(s) which you actually think can not be automated?"

      Considering you have a product running on different browsers, different OS and/or different platforms and for this, you have written automation scripts in different technologies. So, following are the pain points which we are going through: -

      • Automation candidates test-scripts can’t be automated

      • Lower automation coverage

      • Lesser auto-tests => more manual work.

      • Lessor auto-tests => more regression time.

      • No with-in sprint automation.

      • Urge for the quick solution to cater to cross-technology and cross-platform automation scripts.

      So, based on the above points, we came up with the automation architecture in such a way which serves the purpose in the following manner:

      • Able to add more automation coverage in another layer of testing.
      • Able to make a call from any platform (mobile or web) with any technology like Java, Swift, C#, etc.
      • More automation coverage = Lesser manual effort during regression or Smoke testing.


      Extensible Web Services Architecture Diagram

      Extensible Services Components:

      • Application: Responsibility: Application is the main Spring Boot Application and has the following responsibilities:
        • Triggers auto-configuration
        • Component scanning
      • Controllers: Responsibility: Controllers are the Rest Controllers has the following responsibilities:
        • For restful services creation for CRUD operations
        • All the requests and response from the external automation framework is being catered via controllers
      • Services: Responsibility: Services is the Business Logic layer where the CRUD operations can be performed based on the extended web-service calls. These operations can be performed on the product’s existing APIs and/or database using the data-access layer, below are the key responsibilities:
        • Business use-case based CRUD operations on the product database
        • Business use-case based CRUD operations on product existing web-services
        • Authentication of the product can be done internally via services based on credentials supplied from the controller params.
      • DAO: Responsibility: DAO is the Data Access Layer where the CRUD operations can be performed on the product database.

      Some of the actual problems and the solution:

      Problem#1: Alerts - Dismiss for Today flow

      • We have to wait for 24h to verify that the alerts section is displayed again

      • Cannot run the same test on both platforms (web/mobile)

      • Cannot run the same test twice in the same day

      Solution: Unsupress the suppressed dialogue box by calling the extensive API can resolve the problem so that on re-run the automation it would not fail.

      Problem#2: Tasks read status, once selecting a task, it is marked as read and cannot check it again.

      Solution: Unread the task with simple extensive API call with taskId as a parameter


      Implementation and usage

      We have the implementation done on a product, and is utilized by 4 external automation frameworks, as below:

      • API Automation Framework (Java)
      • Web Automation Framework (.Net)
      • Android Mobile Automation Framework (Java)
      • iOS Mobile Automation Framework (Swift)

      We can walk through with the implementation approach, as a

      • Producer: How we actually produce the HTTP response for a test scenario via API call requested by the consumers.
      • Consumer: How our consumers (external automation framework) can get the HTTP Response, they can use at their end to get the work done.

      Time break-up and the speakers:

      1. Introduction about the case-study 3min - Sahib
      2. Problem and solution 5min - Amrit
      3. Architecture diagram walk-through 5min - Sahib
      4. Demo 5min - Amrit (running the demo) / Sahib (explaining the demo)
      5. Q/A 2min (Both)

    • Liked Nishil Patel
      keyboard_arrow_down

      Nishil Patel - Tesbo : An Awesome Test Automation Framework with Plain English Text But not BDD

      Nishil Patel
      Nishil Patel
      Founder
      QAble
      schedule 4 months ago
      Sold Out!
      45 Mins
      Demonstration
      Beginner

      Tesbo is a hybrid Test Framework built top on the Selenium which allows you to use the plain English language to define the test which helps you to reduce the development and maintenance time and efforts. sounds similar to the BDD framework (i.e. Cucumber, Specflow, Gauge, etc...) ??? But No It Isn't... It's much better than Cucumber.

      In this session, we will look into why we have developed Tesbo and how it will reduce the development and maintenance times of web and mobile test script.

      This session will focus on the

      • Introduction of Tesbo
      • Advantages of Tesbo
      • Feature description
      • Test Development and Execution demo
      • Future plans for Tesbo
    • Liked Amrit Pal Singh
      keyboard_arrow_down

      Amrit Pal Singh - Is “FLAKINESS” hampering your test automation execution?? No Worries “AI (test.ai)” is here.

      Amrit Pal Singh
      Amrit Pal Singh
      Senior QA
      3 pillar global
      schedule 3 months ago
      Sold Out!
      20 Mins
      Talk
      Intermediate

      Every time you see flaky scripts you keep wondering what should I do .Should I change my locator strategy or should I use “Thread.sleep(“wait a minute should i really use this.. A big pause in your mind.”)” . Trust me flaky scripts are worst nightmares.

      So here I will be sharing my journey how I have used test.ai in appium automation scripts and how I have converted my flaky scripts to green colour .

      Apart from this I will also be talking about how you can integrate this in your appium automation framework.And how you can train this AI plugin according to your need.

      As a bonus those who hate flakiness I will be talking about some limitations of this and where not to use in your scripts.