We’re excited to announce that Sencha Test 2.0 early access is now available. This version is now integrated with Selenium WebDriver. You can test multi-page web applications, mimicking actual user behavior.
Table of Contents
Sencha Test 2.0
We developed Sencha Test with the goal of helping our customers achieve test automation at scale. The 1.0 version was a great tool for testing Ext JS Single Page Applications that combined developer and test automation engineer interests into one. In 2.0, we’ve made it even better. WebDriver integration gives Sencha Test the potential to test any web application. You can take full advantage of Sencha Test features including: event recorder, visual screen comparison, test runner, browser farm integration, APIs for quick test creation, results reporting/analysis, and continuous Integration.
WebDriver has clearly evolved to be the most stable piece of technology for browser automation. Browser vendors have taken the responsibility of maintaining the browser drivers that are essential for test execution. While running tests in-browser, Sencha Test 1.0 enables easy debugging; integration with WebDriver enables you to run tests outside the browser, mimicking test execution by an actual user. Sencha Test supports both of these methods, in-browser and WebDriver, allowing you to perform unit and end-to-end tests respectively. Sencha has been contributing to the open source community for almost a decade now, and we believe in leveraging open source technologies and making them available with other productive tools. Valuable features and functionalities including Event Recording, Visual Comparison, Sencha Touch APIs, and integrated test runner can speed up the test creation process, debugging, and execution processes.
Sencha Test 2.0 is a modern test automation product with many productive features that address the problems faced by web application test specialists. We have introduced a major architectural change from 1.0, while preserving the previous state of the product for our existing customers.
Test automation for web apps has found a strong foothold in Selenium. With the recent launch of version 3.0, the Selenium community is more active than ever and growing. Sencha has been an active contributor to the web app dev landscape, and Selenium integration is a natural course that we have taken to help users achieve their quality goals, not just with Ext JS applications, but any web application. Selenium is also in the process of getting a web standard specification from W3C, which will be managed by experts in the field of browser testing and tools.
Testing Multi-Page Applications
Sencha Test 2.0 has been re-architected to support multi-page applications. Modern applications that are built as single page applications have many benefits over multi-page apps. But, enterprise applications are built as multi-page apps because of security concerns, authentication requirements, etc. Organizations still maintain legacy web applications that make a roundtrip to the server every time a user submits a form; this reloads the web page or renders a new page altogether making it a multi-page app. The original architecture of Sencha Test was designed to help developers get started with unit and functional testing of single page apps. Now, Sencha Test 2.0 has support for testing multi-page apps, through the WebDriver integration.
Embedded Selenium Server and Browser
Install Sencha Test, Launch, Create Tests and Run Them
To use WebDriver for testing, you need Selenium server and appropriate browser drivers to execute tests on various browsers. With the Sencha Test 1.x, we eliminated the pain of executing test cases on multiple browsers/platforms simultaneously by providing an integrated test runner. Keeping in mind the create, launch and debug process of test automation, we have integrated a Selenium server within Studio along with an embedded browser. By integrating the server and browser, it saves a lot of hassle when you create tests and debug.
The embedded browser has an integrated browser driver, so it can be used out of the box to automate the application under test and without any external configurations. If you are already using a Selenium configuration, you can continue using it for large-scale test execution.
Sencha Test API
While event recorder can be very useful for a specific set of tests, effective test design is achieved by writing tests targeting a specific feature. Organizing tests into different buckets helps with easy debugging when a test fails due to application changes. This can be achieved by writing tests using APIs provided with Sencha Test that help you to target a specific element in the application. We’ve made major upgrades to Sencha Test APIs in 2.0. The APIs can be used in conjunction with WebDriver or with tests running in browser. Ext JS has hundreds of high-performance, pre-tested and integrated UI components. The Sencha Test API was created to enable direct interaction with Ext JS components. Learn more about the APIs in the Sencha Test docs.
The event recorder is a very handy feature when you’re first using Sencha Test. The recorder captures events based on user actions and creates the necessary code to play them back. The code is organized in a Sencha Test API called ST.play along with the type of the action and the locator for the target element. At the end of the block, you can simply insert a jasmine expectation to complete the test case. There are benefits such as automatic code generation, recorder provides an intuitive locator based on how the application is developed, faster test creation, etc.
We Want Your Feedback
Sencha Test 2.0 Early Access is available for download immediately. Try out Sencha Test with one of your Ext JS apps, use our examples to get started, and share your feedback and report bugs in the Sencha Test forum. We look forward to your comments.