Want to know more?
We are happy to help

GET IN TOUCH

WE ARE HAPPY
TO HELP YOU

If you wish to contact us, please fill in the
form and submit it.

CASE STUDY

Read story of our company and see how can you be part of us

CASE STUDY

Read story of our company and see how can you be part of us

Accelerating Web Application Automation Testing using Sencha Test

Author: Vajrakumar Dindalakopp and Kaushik Chakraborty

Introduction

Customer-A is a global automotive components manufacturer having their web application built using Sencha's ExtJS framework. They wanted their application testing to be automated so that they can reduce time to market post development.

Challenge

On review of existing application and current software testing practices, below challenges were observed:

  • This web application is cross-platform, cross-browser, cross-device compatible and is developed by more than 1 team. So on every release cycle it needs to be tested across all the browsers (Chrome, Opera, IE9,IE10,IE11, Microsoft Edge, Safari etc. ) and different platforms (Windows, Mac, Linux etc.) and across different devices (Desktop, laptop, Tablet) of different resolutions.
  • Apart from this on every build cycle current build needs to run some unit tests failing which need to be notified to respective stakeholders to take care of the delivery date v/s development.
  • The framework in which this web application is built (ExtJS) assigns dynamic ids to components to support responsive web design and to enhance the intuitiveness of the application.

Approach

Keeping all the above challenges in mind and the study of all the available software testing tools in market Sencha Test was the best suited due to several reasons among which major are listed below:

  • By providing the deepest integration with Ext JS, Sencha Test ensures you get the highest test accuracy, so you can deliver high quality apps and reduce testing time, accelerate time to market and cost.
  • Sencha Test leverages the powerful Jasmine framework, so you can write tests in JavaScript.
  • With Sencha Test, one can create unit and end-to-end functional tests quickly, and execute them on multiple browsers simultaneously
  • Sencha Test is the only dedicated testing solution for Ext JS applications. It helps to build an end-to-end testing plan without having to cobble together testing tools.
  • Integration with Web Driver allows one to create end-to-end tests that mimic actual user behaviour and execute them on remote browser farms.

Implementation

Sencha Test has its wenl-organized different components that help in full stack automation of a web application

Sencha Studio

We wrote code here in JavaScript only as it uses jasmine framework, and also used event recording that automatically inserts code for the same.

Built-in JS Editor

Event Recording

Code Completion Matrix

Test Runner

We selectively run tests simultaneously on different browsers installed on our system and watch a consolidated report of passed and failed tests instantaneously.

Sencha Test Command Line Interface (CLI)

Integrated Sencha Command line tool with Jenkins to run all our tests offline as soon as a build is pushed to repository and generated notifications depending on pass / failure of tests.

Test Archiver

Used to track historical testing trends in project as well as compare results between runs. And even analyzed screenshot tests run through CLI.

Usage of Sauce Labs for Browser Interoperability Tests

Configured our Sencha Test to use our Sauce Labs account and run tests their so that it gives us all the browser options which we cannot install on testers machine, and we can then generate the test reports in Sencha Studio itself.

Benefits

Sencha Test enables developers and test automation engineers to:

  • Improve the quality of Ext JS apps through end-to-end testing
  • Leverage unit and functional testing to increase team productivity and accelerate release cycles
  • Create robust tests by leveraging the deep integration between Sencha Test and Ext JS