Objective
Our objective is to find a testing tool to automate the testing for EXTJS applications. A high level enterprise application based on EXTJS will have multiple UI controls floating around. The controls will have mostly dynamic values fetched from backend. Each UI control might take to many level of child pages and popup windows.
Problem Statement
Let us take some sample scenario to consider for automation. A login page that will take to a base page. The base page will have some set of buttons and clicking on each button will lead to its feature pages. From the feature page, there can be many child pages and pop-up windows.
The automate Testing tool
- Should recognize the HTML and EXTJS UI components from the application
- Support IE 8+ browsers and Firefox ( As these are most popular browsers for enterprise application )
- Must be able to run a recordable test case
- Should recognize UI components and its properties, so that they are accessible in script for cross testing.
After browsing through forums, we took the following testing tools for comparison: RIA Test and Test Complete.
Tool1: RIA Test
RIA Test tool is cross browser testing tool from Cogitek mainly specified for UI applications. It’s been mentioned that RIA Test recognizes EXTJS components. These were the pros and cons about the tool obtained from forum and its release notes. RIA Test tool can be downloaded from here.
Advantages
- EXTJS components are recognized
- Able to run a recorded test well
Disadvantages
- HTML 5 components are not recognized in all IE browser versions
- Automation works only if window is 100% zoom level
- Tool needs to be restarted if test script abruptly stops
Tool2: Test Complete
Test Complete tool is from Smartbear. Smartbear offers a range of testing tool and test complete web module is for testing web applications. Pros and cons of the tool obtained from forum and site are as below. Test Complete can be downloaded from here.
Advantages
- UI components, HTML 5 components are recognized
- Manually written scripts are supported, various scripting languages supported
- Test results are provided with screenshots
- Test can be recorded with or without script
Disadvantages
- In case of Firefox specific to versions, we need to manually import hooks to playback the recorded scripts
- Some options on integrating with Performance Testing are not enabled in trail pack
Here is the comparison done on both the tools with respect to test creation/ tool installation.
Topic |
RIA Test |
Test Complete |
Setup Installation | Can download and install trail pack any number of times |
Can download and install trail pack only once after which we could not install trail pack again
|
Creation of Tests | A project to be created with specified browser and test cases comes under the project |
A project suite can have many projects. Test scripts comes under project
|
Debugger, Watch Windows, Results window | Available | Available |
Handing browsers | Need to manually install browser patches | Mostly installed with software installation. Patches for browser upgrade after installation need to be manually added |
Test case recordable with images or videos | Yes | Yes |
Looping a test in all supported browsers | A browser is specified for a project. Either multiple projects or manually change the browser after each execution | Browser loop is available for each test |
Asynchronous testing | No | Supported as mentioned here |
Distributed Testing | No | Yes |
Here is the comparison on same tools in creating solution to our problem statement.
Test case in IE and Firefox | RIA Test | Test Complete |
Logging in and Launching base page | Supported in both browsers | Supported in both browsers |
Button click and leading to feature page from base page | Supported in both browsers | Supported in both browsers |
Buttons and components recognition in feature pages and its child pages | Recognized in Firefox , not in IE | Recognized in both browsers |
Native HTML 5 components recognition | Not supported | Recognized |
Manual scripts | Supported with its own scripting language | Supported with scripting languages which resembles VB, JAVA etc. |
Performance Testing | No | Supported along with another tool of smart bear. Fully not available in trail pack |
Documentation | Not much | Well maintained documentation |
Forum response | Responsive | Responsive |
UI Objects Properties Inspection | No | Yes |
Testing on pages which takes more time to load like applet |
Script abruptly stopped and only after restarted RIA Test, the tool worked further | Once timeout the playback stops and logs the error and shows the result page |
Why we pick Test Complete
Our application uses EXTJS as front end and the components are populated dynamically. We need object properties to be changed dynamically from scripts. Our application includes applets, so sometimes page response used to be slow. As testing resources spreads on onsite and offshore, in future distributed testing might be required. Test Complete meets all our expectations and we chose the same for our automated testing.
You should have a look Siesta too, the #1 tool for testing Sencha / Ext JS applications. Used by and promoted by Sencha too. http://www.bryntum.com/products/siesta