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.
Links
The sample code is available here - https://github.com/biswajit-713/galen-java-demo
While I don't have a video recording of my past presentations (in office and local user groups), I am planning to run an internal workshop on this topic in April and will share the video of the presentation.
schedule Submitted 2 years ago
People who liked this proposal, also liked:
-
keyboard_arrow_down
Srinivasan Sekar / Sai Krishna - Advanced Appium
Srinivasan SekarLead ConsultantThoughtWorksSai KrishnaLead ConsultantThoughtWorksschedule 2 years ago
480 Mins
Workshop
Intermediate
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.
-
keyboard_arrow_down
Srinivasan Sekar / Sai Krishna - Code Once Test Anywhere: On Demand Private Appium Device Cloud using ATD
Srinivasan SekarLead ConsultantThoughtWorksSai KrishnaLead ConsultantThoughtWorksschedule 2 years ago
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.
- Device Cloud:
-
keyboard_arrow_down
Nalilnikanth Meesala / Srinivasan Sekar - New hope in Selenium Docker
Nalilnikanth MeesalaSr. Quality AnalystThoughtWorksSrinivasan SekarLead ConsultantThoughtWorksschedule 2 years ago
45 Mins
Demonstration
Advanced
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.
-
keyboard_arrow_down
Shivaling Sannalli - Unify service and UI layer Automation - BDD way
90 Mins
Workshop
Intermediate
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
-
keyboard_arrow_down
Nalilnikanth Meesala / Prasad Mudedla - Continuous Security with Selenium tests
Nalilnikanth MeesalaSr. Quality AnalystThoughtWorksPrasad MudedlaQuality ConsultantThoughtWorksschedule 2 years ago
45 Mins
Demonstration
Intermediate
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. -
keyboard_arrow_down
Hitesh Sharma - Visual testing for Mobile Native App
45 Mins
Talk
Intermediate
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
github.com/saikrishna321/nakal_java
Public Feedback