From Headache to Headless : Hand's on Guide to Running stable UI tests in Continuous Delivery Pipeline

We love to continuously test our websites and apps on real browsers like chrome, firefox and over desktops and mobile devices.But what if you want to run your tests on any device where there is no display especially as part of large CI/CD pipeline.

The best and easiest but least followed approach is to use a headless Environment.

A Headless Environment is a device or a web browser without a graphical user interface, controlled programmatically and generally used for testing and common automation purposes like taking screenshots, scraping websites etc.

At this talk we will learn how to leverage the headless browsers and devices to solve the challenges of growing testing infrastructure and continuous delivery with key focus on below items.

  • Basics of the headless browsers and devices and specifically it’s application on the test automation.
  • How Headless Tests can reduce the time of test execution, ease the setup of clean test environments and drastically reduce the differences between the development, acceptance and production environments leading to the higher quality of the released software.
  • Examples to run both web and mobile (android)UI tests headlessly with major automation tools like selenium and appium.
  • Integrating and managing headless tests to optimize continuous delivery pipeline.
  • Sharing Best practices and patterns for success with headless environments from our experience of using it for more than a year.
 
9 favorite thumb_down thumb_up 4 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/Structure of the Demonstration

1.Challenges in Delivering and Scaling UI Testing - 5 min

2.Headless environments basics and advantages - 5 min

3.Testing on headless browsers and devices - 10 min

4.Live Demonstration of Web and Mobile (android) Headless UI Tests - 15 min

5.Best Practices for Execution and Debugging - 5 min

6.Questions and Answers - 5 min

people can do hands on after the session or later on.

Learning Outcome

You will Learn

  • Headless environments i.e browsers and devices, how it works and why its important to testing
  • Running your existing UI tests with selenium and appium headlessly
  • Debugging Failures from headless tests
  • Integrate and manage headless inside a CI/CD pipeline
  • Live Examples with selenium and appium for taking your projects ahead.

Target Audience

QA,SDET,Developers,DevOps, Release Engineers

Prerequisites for Attendees

participants who have worked with selenium or appium once

schedule Submitted 1 year ago

Public Feedback

comment Suggest improvements to the Speaker
  • Pooja Shah
    By Pooja Shah  ~  1 year ago
    reply Reply

    Hi Irfan,

    This sounds very useful topic. Awesome title 

    • Irfan Ahmad
      By Irfan Ahmad  ~  1 year ago
      reply Reply

      Hi Pooja,

      Yes, Initially the topic started with a blog post and a discussion at a local meetup but since the blog started getting a lot of organic views so thought of presenting here too.

      • Pooja Shah
        By Pooja Shah  ~  1 year ago
        reply Reply

        somehow had missed the complete message to post, here again:

        Speeding up and reducing infra usage at the same time is something interesting and I see great potential here for "taking away" especially the term "headless mobile devices"

        For mobile devices, is this going to be android specific or for other popular platforms like for iOS, windows as well?

        With headless mobile/web, do attendees get to learn run their existing tests without connecting any real device or running simulators headlessly or a complete headless way? 

         

        • Irfan Ahmad
          By Irfan Ahmad  ~  1 year ago
          reply Reply

          Hi,

          1.For mobile devices, this implementation is specific to Android only for now which will be helpful for testing both mobile web and native apps as well. 

          2.Yes, attendees get to learn run their existing tests based on shared sample projects on github.

          a.In case of web and mobile, they will be able to run their existing tests on headless variants of real browsers.

          b.In case of mobile, we will be able to run their existing tests on running simulators headlessly.

           

           

           

          .


  • Liked Srinivasan Sekar
    keyboard_arrow_down

    Srinivasan Sekar / Sai Krishna - Code Once Test Anywhere: On Demand Private Appium Device Cloud using ATD

    45 Mins
    Case Study
    Beginner

    Mobile Test Automation is increasingly becoming very important. Almost all web applications are responsive these days and it's very important to test how the application works across devices. The same is true with the native application as well. At the same time, the number of devices and the custom OS versions on devices are also vast. This means that it's harder for a tester to manually run the automated tests over a list of devices to get device coverage and quicker results over every feature development.

    We came up with a solution of executing tests in distributed or parallel fashion across remote devices from anywhere in the network using Appium Test Distribution. Same framework is officially used by Appium members for Beta testing of Appium.

    USP of ATD over other Market Solutions:

    • Device Cloud:
      • Setup Devices anywhere within a network, ATD executes remotely without Grid
      • Never worry about device location in network.
    • Plug and Play:
      • Connect your android/iOS devices or Emulators/Simulators and just execute tests.
    • Multiple TestRunner:
      • TestNG and Cucumber
    • Parallel Test Execution:
      • Runs across all connected iOS, Android real devices and Simulators/Emulators
    • Test Coverage:
      • Parallel(Run entire suite across all devices, which gives device coverage)
      • Distribute(Run tests across devices to get faster feedback).
    • Device Management:
      • Manage devices remotely using Device Manager.
    • Reporting:
      • Covers detailed crashes logs from Android and iOS.
      • Appium Servers logs
      • Screenshots on Failures and On Demand Video logs
      • Reporting Trends for multiple builds
    • Manual Access to Remote Devices - OpenSTF support

    Who loves/uses ATD?

    ThoughtWorks, CeX, Jio, TravelStart, M800, Reward Gateway and lot more.

  • Liked Irfan Ahmad
    keyboard_arrow_down

    Irfan Ahmad - Testing as a Chat : Test anything , from anywhere as a chat conversation

    Irfan Ahmad
    Irfan Ahmad
    Release Manager
    UpGrad
    schedule 1 year ago
    Sold Out!
    45 Mins
    Demonstration
    Beginner

    Recently DevOps movement has given rise to a need to maintain visibility across the teams.How will your testing team keep pace with this change in future?

    Chat based Testing is basically extending ChatOps to testing that will keeps the people involved in software development more connected and facilitates conversation-driven development.
    It allows you to aggregate information about processes, discussions, QA, and testing. This flow improves the delivery of information about the status of the project to all members of the team.Also It allows to present, demonstrate, and reproduce an issue to the other teams.
    which can be fixed before they reach users or customers—with minimal disruption to the delivery pipeline.

  • Liked Hemant Ojha
    keyboard_arrow_down

    Hemant Ojha - Code Less, Collaborate Fast & Test More: A Framework That Have It All

    45 Mins
    Demonstration
    Intermediate

    Have you seen any automated tests written in Hindi, Spanish or any other non-English languages? Have you added any test case to the suite for CI without check-in or commit? Have you worked on any code-less open source framework which enables you to write tests for Web and Desktop Applications?

    This session will cover a reliable and versatile framework concept we’ve developed and used successfully in-house. Currently, the concept is powered by a Java utility which has addressed all of our UI automated tests requirements with speed, simplicity, flexibility, efficiency and better control. We’ll see the demonstration of how one can write a test without any installation, configure it for execution and perform result analysis on HTML Extent reports on Jenkins.

    This application technology agnostic utility gives us the ability to write tests handled by Selenium and Sikuli, and can be extended to other automation APIs like Appium. Seamless integration with a CI server and capability to redirect executions to Selenium Grid on Selenoid hosted environments such as SauceLabs, BrowserStack, and simple local configuration provide incredible flexibility for executions.

    We’ll walk through the journey we took to get to where we are today. We'll discuss how tools like Google Sheets and its API has improved our efficiency in writing, managing automated tests in plain English. How real-time test management, collaboration, parallel execution, HTML Extent reports, logging and increased control has speed-up our contribution to the test suite. And, how we can work with security and agility.

    It uses ReadExcelsAnywhere utility which enables the user to read Excels stored on Sharepoint, Local or Google Drive. Hence, wherever you go, it will be with you.

    Please have a look at the test structure in Google Sheets:

    Framework Components