Latest Ext JS 7.8 is now available. Learn more

Sencha Test 2.0 is now Generally Available

January 31, 2017 197 Views
Show

We’re excited to announce that Sencha Test 2.0 is now generally available. This version is integrated with Selenium WebDriver. You can test multi-page web applications, mimicking actual user behavior.

Download Now

Upcoming Webinar

Join us for our upcoming webinar where you’ll learn about the key capabilities of Sencha Test 2.0.

Register Now

Date: Thursday, February 9, 2017
Time: 10am PT |1pm ET | 6pm GMT
Who Should Attend:

  • Development Managers and Developers
  • QA Managers and Test Automation Engineers
  • Anyone interested in delivering high quality Ext JS apps faster

What’s New?

Sencha Test 2.0 has new features, which greatly enhance your experience of creating tests, and tests can be executed on multiple browsers simultaneously. New features in this release:

  • WebDriver integration for testing multi-page applications
  • Updated event recorder with enhanced support for Chrome and Microsoft Edge enables faster test creation
  • Simplified APIs to create concise tests
  • Unique target element locator strategies help developers boost the effectiveness of their tests by avoiding the use of dynamic IDs
  • Improved archive server that allows you to store and report test results from multiple Continuous Integration (CI) runs
  • Fixed screen size settings for visual testing

Event Recorder

Sencha Test Event Recorder offers many benefits in addition to faster test creation. The Event Recorder can generate target locators (needed to identify an element on a web page) that are unique to the Ext JS framework. Using a strategy specific to the Ext JS framework (Component Query), the target element can be located even when the application is deployed on a QA or staging environment and being run as a black box without access to source code. This locator value can be reused across multiple tests that aren’t created using the Event Recorder, which makes test creation much simpler and more robust as opposed to relying on XPaths or DOM IDs.

Sencha Test Event Recorder

Test Design

Jasmine is a very powerful framework with an easy to understand syntax and a comprehensive library of assertions. Sencha Test leverages Jasmine under the hood and provides a layer of APIs that helps with writing clear and concise tests. The APIs allow access to a component or an element with minimal effort and reduce the number of steps needed to make an assertion (that will test if the application is working as expected). As part of Sencha Test 2.0, we have also chained the Jasmine expect statement with the APIs, so you don’t have to write a function callback to create an assertion. In essence, a manual test can now be easily translated into an automatable test using Sencha Test APIs.

For example, a manual test case for login would essentially have three steps but now with Sencha Test 2.0, you can achieve the following with the same number of steps.

Step 1: Enter login name
Sencha Test: ST.element(‘@loginname’).type(‘’);

Step 2: Enter password
Sencha Test: ST.element(‘@password’).type(‘’);

Step 3: Click Submit
Sencha Test: ST.element(‘@loginbutton’).click();

Step 4: User has successfully logged in if you find specific text
Sencha Test: ST.element(‘@textlocator’).textlike(‘textcontent’);

Test Design

This can be refactored and reused for an invalid login credentials scenario. Now, imagine if you are testing a complex grid and want to write a test to check the value in a cell. This can be done easily by calling the API for the grid:

	 ST.grid()
      		.rowAt(2)
      		.expect(x).toBe(y);

Please see the complete list of API docs. Using Sencha Test APIs paves the way for you to create a robust test strategy and a powerful test design that will help maintain tests in the long run. The locators can be grouped into individual page objects, and the actual tests don’t need to have any reference to these values. When the application under test is modified, you only have to update the page objects, not the actual tests.

Sencha Studio

Sencha Studio can be used by both developers and test automation engineers for performing different types of testing. The developer persona has more capabilities like creating Unit, Integration, and End-to-End functional tests. For test automation engineers, who mostly won’t have access to the source code, you will be able to leverage the power of WebDriver to create end-to-end functional tests by simply pointing to the application under test.

In this release, we’ve made many UI/UX changes that deliver a better user experience. Developers will simply be able to import an existing Ext JS workspace into Sencha Studio, while test automation engineers will be able to start a new project by pointing to the application under test. We’ve introduced menu items for creating new scenarios and test suites, and editing project settings directly from the tree instead of navigating back and forth between the settings screen and test editor. We believe this will greatly improve the experience of creating/editing a new project, scenario, or a test suite.

Sencha Studio

Results Analysis and Other Improvements

Sencha Test Command Line Interface (CLI)extends the cross-browser support capability of Sencha Test into the continuous integration process. With the help of CLI , tests can be executed on multiple browsers/platforms, and results can be stored in the archive server. These results are available in a matrix format within Sencha Studio, providing a much easier way to analyze and report failed tests. The archive server along with Sencha Studio also enables you to cross-check test results across multiple runs.

Visual Testing

Large complex applications typically have hundreds of screens. Visual testing is a great tool to have in your arsenal to test the screens at every build. Sencha Test provides an easy way to use an API that takes a snapshot of a web page (baseline image) and compares the image during subsequent test runs. The images are stored in a separate directory in the archive server and can be updated if the page is modified. In this release, we’ve included the capability to set the desired screen size while capturing the image and during subsequent runs, the images will be compared using the same screen size. This feature avoids incorrect test results due to varied screen sizes.

Learn More and Share Your Feedback

Sencha Test 2.0 is generally available for download immediately from the Support portal (for customers) and for a 30-day free trial. Try out Sencha Test with one of your Ext JS apps and use our Sencha Test examples to get started. Register for our upcoming webinar, What’s New in Sencha Test 2.0.

Share your feedback and report bugs in the Sencha Test forum. We look forward to your comments.