Accelerating Web Application Automation Testing using Sencha Test

Author: Vajrakumar Dindalakopp and Kaushik Chakraborty, Celestial Systems

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 well-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

 

HOME     COMPANY     SERVICES     RESOURCES     CAREERS     CONTACT US

Technology Partnership

SENCHA     APTELIGENT     MOXTRA    LEANPLUM     SAUCELABS

 

© 2001-2017 Celestial Systems Inc. All Rights Reserved.