We are extremely excited to announce the availability of Sencha Test Early Access. This Early Access release enables you, our Sencha community, to evaluate our new product – Sencha Test.
Sencha Test is a new addition to the Sencha platform that will help you create unit and end-to-end functional tests quickly, and execute them on multiple browsers simultaneously. Under the hood, Sencha Test leverages the powerful Jasmine framework that lets you write tests in JavaScript. The many assertions and matchers along with spies, stubs, and mocks can be used to create robust tests that will help you deliver quality apps. Sencha Test was created with two clear goals in mind:
- Improve the quality of Ext JS apps through end-to-end testing
- Boost developer productivity through unit and functional testing
Table of Contents
Try It Now
Download Sencha Test Early Access
See the Guides and Documentation
Watch the Sencha Test webinar recording
Product Components
Sencha Test comes with 4 core components that help you to create unit and functional testing rapidly in an integrated test environment. Sencha Test components are:
- Test Studio
- Test Runner
- Test CLI (Command Line Interface)
- Test Archiver
Test Studio is a graphical user interface that allows developers and test engineers to write Jasmine tests in a built-in Sencha Test editor. Tests are written using JavaScript and should be stored in your team’s preferred source control mechanism. Test Studio allows you to code in a separate IDE or create tests directly in Sencha Test and execute the test immediately. This iterative process helps you to create more robust code by constantly testing it along the way.
Test Runner is the centerpiece of Sencha Test. Using Test Runner, you can run selected unit and functional tests on any or all of the browsers on your local machine, a locally connected mobile device, or on a browser farm. The configurations used by the local Test Runner are also used by the Sencha Test CLI (see below) to run the same tests on a Continuous Integration (CI) system. This way you will be able to schedule automated test runs nightly with very minimal additional configuration.
Sencha Test CLI (Command Line Interface) helps you achieve the full power of automated test runs. Once tests are authored and checked into the source control repository, you will be able to kick them off with the CI system. The CI system can invoke the CLI automatically, once it senses a change to your application code or your test files in the source control repository.
Test Archiver is a file server used to store results of test runs produced in the CI system. The archive server is also where image-based (or “screenshot”) tests find their baseline images. When a screenshot test does not match the corresponding baseline image, a test failure is reported. These results are reviewed and managed through Sencha Test.
All of the above components work together seamlessly to provide a comprehensive and integrated test environment designed to test Ext JS applications.
Product Features
Event Recorder
Event recorder allows you to quickly grab events, as you go about performing various actions on the application under test (AUT). The event recorder leverages many methods to arrive at the right property to create stable tests. The default methodology adopted by the event recorder is to use a combination of Component Query and DOM selector to find the stable property for a particular component such as a “check box” or “combo box”. It also allows you to choose from XPATH or ID based on your preference.
Tests can be executed manually on a developer’s machine at the stage of application development as well as integrated with a CI process for regression tests. The CI system invokes the build agent and runs the tests against the AUT and posts results back to the Sencha Test Archiver. Unlike the results in a CI environment that are in plain HTML or text file format, the test results in Sencha Test are provided in a rich, matrix format. You can view the results in Sencha Test and drill down into failed tests for additional information.
Browser Farm Integration
We understand that maintaining a vast number of browser combinations is not possible, so you can integrate Sencha Test out of the box with browser farms like Sauce Labs or BrowserStack. This can help you drastically reduce the test execution time, as tests can be run simultaneously on multiple browsers.
Visual Screen Comparison
Image comparison testing is critical especially for external facing applications. Ext JS provides rich UI components that allow you to have high resolutions charts and images. The Visual Screen Comparison feature in Sencha Test allows you to baseline images when you perform the first automated run of the tests, and subsequently compare images with the baseline version for every run. This greatly minimizes the time you spend on verifying images on hundreds of screens.
Code Coverage
Sencha Test is integrated with Istanbul, a powerful JavaScript code coverage tool, with which you can identify the gap in the amount of code that you have covered and not covered with your tests. It provides a detailed breakdown to the level of Statements, Branches, Functions, and Lines in a readable format with percentage analysis. This information helps you to identify the areas that need more testing.
Results
Yet another great aspect of Sencha Test is the results reporting and analysis. Results are neatly presented in a matrix format allowing you to quickly look at the tests that have failed. The cross-browser presentation will give you a chance to compare results across all of the browsers at the same time. By reducing the time you spend on analyzing results, Sencha Test helps you to be more productive with your application development.
We Want Your Feedback
Sencha Test Early Access is available for download immediately. We’re working hard to release Sencha Test GA as soon as possible. We need your help to make that happen. Try out Sencha Test by testing one of your Ext JS apps, use our examples to get started, share your feedback, and report bugs in the Sencha Test forum. We look forward to your feedback.
Hi Subu,
This is something the extjs community will really cherish. Testing ExtJS apps have been never that easy especially the functional testing. I am all excited to put my hands on Sencha Test.
Cheers
Shreeraj
Glad to hear you are excited! We are extremely excited to finally have this solution aswell!
What is the expected cost of this tool when it is out of beta?
Hi,
Thanks for stopping by. We will release pricing and other details closer to General Availability.
Copy of Bryntum’s Siesta.
Hooray Sencha You finally created something new and innovative ….
Hi Misiu,
If you take the time to look at Sencha Test you’ll see that it is significantly different than Siesta from the bottom up.
Maybe you could create some comparison with Bryntum Siesta. We now use Siesta and see no advantage from using Sencha Test, especially if it will require additional expenditures.
Hi Nikolay,
There will be a detailed feature comparison by the GA release if not before. As for converting I certainly understand it would only make sense if the advantages were compelling and the cost was in line with those advantages. I hope you have an opportunity to take a look at the different approach we’ve taken and see how that might benefit your testing efforts.
Thanks for the inquiry and I hope you can stay tuned for those details!
At first Sencha Test looks just like SIesta, but I can’t say it is better/worst until I try it and until I’ll know price (remember there is lite version of Siesta that is free!)
Looking forward for detailed comparison between Siesta and Sencha Test!
Which license will this application require, “Premium” or “Pro”? I really don’t want to test out something I am not licensed to use.
Hi Gary,
This is a standalone product and can be used irrespective of the type of EXT JS license. Refer to the documentation (links above) for further information.
Again no Linux support?!
We are working on it. Just didn’t make the EA cut off.
I am glad to see this kind of tool to help improve quality of the product we produce. We are currently using Ext JS 5. Does this support testing of Ext JS 5?
Yes, we are aiming to support Ext JS 4+ and Sencha Touch 2+. For more (and supported browsers), please see: http://docs.sencha.com/sencha_test/sencha_test_installation.html#Supported_Browsers__amp__Platforms
Will it be for “Pro” & “Premium” customers only?
Hi Tomas,
This is a standalone product. So the pro, premium levels are not relevant for this product.
Subu
Do you know what might be the price point for this product? If you don’t have exact price yet, do you know if the pricing will be competitive compared to Siesta or will it be much more expensive?
I am curious about that too. But I expect that you will have to wait till release time. And possibly hold on to your chair. It’s Sencha not Santa…
Mmmm, another additional tool we have to pay for ? Or will it included in which license ?
I guess when you see Sencha you are supposed to pay, pay and pay :)
Idk, I’m ok with the tools costing money. More they make from tools, the hope of better quality and you never know, the less extjs would cost.
Well that would be the case in the normal world. Not in the Sencha world.
Is this the tool that was planned for Sencha Fiddle v2? And what will it cost? I’m excited about this test suite, but don’t want to test products (again) I can’t use later on.
No, Sencha Fiddle is a separate tool and will live on outside of Sencha Test.
ditto
Well done
i have this questions:
a) can you point out some differences between sencha test and selenium?
b) is there a JAVA version planned for the GXT users to fit the java toolchain?
Hi Arno,
Those are some great questions.
1. Sencha Test supplements Selenium. In fact, Sencha Test uses Selenium WebDriver to integrate with Sauce Labs and BrowserStack or your own Hub. Sencha Test builds on that foundation to help you organize and run your tests both locally and in a browser farm.
2. Currently, the focus is on EXT JS applications.
For GXT testing you can use JUnit coupled with cobertura or Jacoco.
If you want a nice dashboard to analyse your tests you can use Sonarqube.
‘On the paper’ this can be enough, because GWT is designed to make ‘the same result for each navigator’.
and
c:) the CLI version can run headless on different CI configurations (jenkins/hudson etc) without a GUI? the browsers need to be installed?
Yes, the CLI runs without the GUI and targets CI systems. In those contexts, we rely on WebDriver to launch browsers and run tests. You can run tests on browsers installed on your local machine or on browser farms.
Awesome! I could never produce stable tests with Siesta, so I will try this in the exact same scenarios and will report back!
Hey Ivan,
Thanks for taking a look and look forward to your feedback on the forums!
I am not going to test this. After the Sencha Inspector deception I am fed up spending time and giving feedback without getting anything else in return then Sencha trying to sell me the premium version. I think it is fair to give at least a clue what the price level is, otherwise it is just stealing people’s time and knowledge if it is far over its reasonanility. After being 7 years customer with Sencha I have learned my lesson. Roundup: give me a price, then I will see if I am interested or not.
Awesome Product from Sencha and I have already started using it :)
How do I change Event Recorder preferences from ID to XPATH or CSS Selectors?
Hi Sanket –
Thanks for checking out Sencha Test! The documentation for target locators can be found at http://docs.sencha.com/sencha_test/apidocs/#!/api/Orion.Locator and you can add your own that fit your application using http://docs.sencha.com/sencha_test/apidocs/#!/api/Orion.event.Recorder-method-setLocatorStrategies
At present we have only provided the ID-based “at path” locator strategy but we will provide more options soon.
Very nice tool, i was waiting for this for a long time, Any plan for report to Sonarqube through Maven ?
Any hope for GPL community ?
Hi Chaya –
No plans at present for Sonarqube but Sencha Test will support Ext JS applications created using the GPL versions of the framework.
Hooray Sencha You finally created something new and innovative ….
I think it is fair to give at least a clue what the price level is, otherwise it is just stealing people’s time and knowledge if it is far over its reasonanility.