Integrate Automated Responsiveness tests to your selenium test suite

With the exponential increase of smart devices, businesses are bound to make their websites more responsive for the best user experience on all devices that can lead to increased sale and conversion. Moreover responsiveness is a major factor in Google's search ranking system. This inherently implies that the tester has to validate the application on different device dimension which is tiresome and error-prone if done manually. Here Galen Framework, an open source automated layout testing technique built on top of selenium, comes to the rescue of the testers.

In this workshop, we will learn how Galen empowers the QA, how to write layout tests using Galen Specs, use Galen Java API and ultimately run them on a CI server by integrating the Galen tests with selenium tests.

We will also learn few best practices such as - sharing a common locator repository between Galen and Selenium tests for better maintenance and writing Galen tests in plain english so that UX Designers, Business Analysts & Developers too can contribute to the tests.


Outline/Structure of the Demonstration

We will go though few slides in the beginning but most of the session time will be spent on code snippet and actual code.

Since the Galen Framework is itself a huge topic for discussion, we will limit the on-session learning to basics of Galen Specs and how to integrate it with selenium test suites in java webdriver binding.

The session has the following agenda.

  • Introduction to Galen Framework - 5 minutes
  • Writing simple tests using Galen syntax and spec - 10 minutes
  • Writing Galen Tests in plain english language and implementing the underlying syntax to support the behavior - 10 minutes
  • Integrating Galen tests with a testNG based selenium test suite - 10 mins
  • Understanding the best practices in implementation of such a framework - 5 minutes

While the Q&A can be done during the session, I am aiming to finish the demonstration in 40 minutes so that we can discuss any specifics in the last 5 minutes.

Learning Outcome

  • QAs will learn about using Galen for their layout testing on devices/ cloud services like BrowserStack so that they can provide early feedback on any style failure that occurs due to a build
  • Usage of Galen Tests as a means of better collaboration between UX Designers and Developer/QA to build websites with an awesome user experience

Target Audience

Quality Analysts, Automation Testers, UX Designers

Prerequisites for Attendees

  • The participants, if QAs or Devs, are expected to have an understanding of java, selenium/ appium and a test framework such as testNG.
  • The UX Designers need not have any technical requisite but they would need a developer or a tester to implement the framework back in work.
  • It is good to have a basic understanding of a build tool such as gradle/ maven and the concept of CI.
  • It is nice to have basic knowledge of javascript but it is certainly not necessary as we will be looking at very basic javascript code snippets that are self-explanatory.
schedule Submitted 2 years ago

Public Feedback

    • Srinivasan Sekar

      Srinivasan Sekar / Sai Krishna - Advanced Appium

      480 Mins

      At this workshop, you'll learn about advanced concepts in Appium. We will learn how to write a single script for Android, iOS and mobile web apps. Once our tests are established, we will work on framework design and report. We will also have a detailed look at how can we automate various mobile gestures using TouchActions and mobile endpoints in Appium and running distributed tests in parallel on various emulators and simulators.

    • Srinivasan Sekar

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

      45 Mins
      Case Study

      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.

    • Nalilnikanth Meesala

      Nalilnikanth Meesala / Srinivasan Sekar - New hope in Selenium Docker

      45 Mins

      Idea behind this talk is to describe how to create a short lived containers for each test and scale to large Selenium Cluster using Selenoid. What is standard Selenium architecture and why it is not suitable for big clusters, Also states issues in maintaining a large Docker Selenium Grid / Selenium Clusters. In this session we will also be talking about the challenges we faced in using official selenium docker images and how we scaled up regression execution time from 3:3 (3 hours to 3 mins). Followed by a demo of how Selenoid server solves the problem with docker. How it works, how to use inside big Selenium cluster, where else it could be used.

    • Shivaling Sannalli

      Shivaling Sannalli - Unify service and UI layer Automation - BDD way

      90 Mins

      Software delivery is switching towards business driven development. This needs capturing requirements as presented by clients and translating these requirements into development tasks and tests.

      Clients want visibility on the quality of the requirements that are captured. Quality in the delivery of the project measured using the test pyramid — heavy unit tests, more integration and service layer tests, and fewer UI tests. Test pyramid is the ideal quality structure for Agile projects.

      In this presentation/session we will focus on how we can combine both service layer tests and UI layer tests in a BDD(Behavior Driven Development) way of Automation. That will bring test coverage visibility to business. Clients themselves can run this suite without having to understand technicalities of the implementation. Test scenarios will exactly be the requirements captured by business as behaviors.

      To accomplish BDD way of automation for both service layer automation and UI layer we will use following tools/libraries:

      BDD Tool: Gauge or Cucumber (both are open source)

      Service layer Automation : Unirest for JAVA

      UI layer Automation : Selenium WebDriver for JAVA

    • Nalilnikanth Meesala

      Nalilnikanth Meesala / Prasad Mudedla - Continuous Security with Selenium tests

      45 Mins

      We have come to a place where we run our selenium tests on pipelines every day.
      Now are these tests confined to test only the functionality of the application?
      No, we can use this tests to do much more. Let's test security with those same tests.

      Turn your selenium tests in to Security tests, get security testing in to your CI pipelines just by tweaking a bit of the selenium integration suite. Find and report security issues that exists which can be caught way before paying off for it.
      In this Demo we will introduce a framework that will help your selenium tests turn into security tests and run on pipelines.
      With ZAP API + selenium and CI pipelines, find security issues on the application see a red or green security pipeline. Not just that fetch the reports and take necessary actions on every build.
      The talk covers different ways that ZAP tests the web application for security(automated with selenium tests). We will see what all of them can be integrated with selenium and can make most out the suite.
      As an add we will see how your API can be tested for security using ZAP API :)

      Tools used:
      1. Selenium Web driver framework.
      2. ZAP framework integrated with selenium framework.
      3. GO (for CI/CD)
      4. Maven for building and fetching reports.

    • Hitesh Sharma

      Hitesh Sharma - Visual testing for Mobile Native App

      Hitesh Sharma
      Hitesh Sharma
      Quality Analyst
      schedule 2 years ago
      Sold Out!
      45 Mins

      While automated functional tests using appium acts as safety net, there is something missing. Often, we find issues like:

      “Sign-In button has shifted a bit and user have to scroll down to see it”

      “We asked to change background color of screen-X, it got changed for Screen-Y screen as well”

      “Why has fonts of this link become so tiny?”

      For mobile apps, look and feel of an application is extremely important. With long running projects, any minor refactoring can change your app’s looks. functional testing tools like Appium can not help us in this case.

      Most of the clients are not wanting to use any cloud based solutions, reason been cost and security concerns.

      Solution was to build a in-house tool which is Nakal