We recently issued an update to TestCafe (v13.1.3) - our functional web application testing tool. This update includes a number of enhancements including:
Simplified Install
If you've not yet had the opportunity to try TestCafe, you'll find that's easier than ever to install and get to testing your desktop or mobile web application.
- Step 1 is to visit the TestCafe download page: http://testcafe.devexpress.com/Download
- Step 2 is to select the appropriate distribution - remember, TestCafe support Windows, MacOs and Linux (32 or 64 bit versions).
- Step 3 is to start testing. Once you execute the appropriate file, TestCafe will automatically configure everything for you and display its Control Panel (no more console windows).
ChangeTest Directories on the Fly
With this release, you no longer need to specify a test directory before running TestCafe. When you run TestCafe for the first time, it will use the "my_tests" folder in your TestCafe installation directory.
You can switch the default test directory at any time by hovering over the "tests/" breadcrumb. Once you click it, TestCafe will activate a directory selection dialog. You can then switch your working directory as needed (the same "directory as a project" approach is used by many IDEs including Eclipse, WebStorm and tools like Sublime Text).
JQuerySelectors
TestCafe's Recorder generates jQuery selectors for elements to which actions should be applied. In previous versions, we used heuristics and tried to choose the most appropriate selector possible. But as you can imagine, a heuristics-based algorithm is not 100% accurate. With this update, we now give you the ability to choose from numerous generated selectors with descriptions that will be understandable to users - even those unfamiliar with jQuery or JavaScript syntax.
QuarantineMode
Functional tests can be unstable by nature. There are a lot of factors that can cause issues in test runs (network lags; unexpected async behavior, animations; etc.). We are working hard to address many of these (by waiting for XHR request completion, page transitions, iframe loading)...but we're also focused on solutions that follow QA best practices...
If you've written tests in the past, you know that there are many cases where a developer or QA engineer can write an unstable test (for instance, a test might become unstable due to changes to the tested site). Let's say you wrote a test that performs clicks on a dropdown menu's item. Someone then changes dropdown's behavior and it now loads with an animation (loads with a slight delay). While we can recognize such behavior changes, testing software cannot and in this case the test may become unstable.
To help deal with these scenarios, we created Quarantine Mode...
Quarantine Mode helps us find all unstable tests and fix them. It works like this: Quarantine Mode can be enabled in our continuous integration API. If a test fails, it is marked as such and moved to quarantine. In quarantine, a test run will be repeated 3 times. If results of the test differ during these 3 test runs, this test will be marked as unstable and will be added to the list of unstable tests in the test task report.
Martin Fowler introduced the idea of test Quarantines - http://martinfowler.com/articles/nonDeterminism.html if you'd like to read his thoughts on the subject...
NumerousNetworking and Performance Enhancements
We've refactored a significant portion of the internal networking mechanisms of the framework, which has addressed a number of known performance issues. If you compare page load times for a test run or test recording, you'll find that this release is appreciably faster than previous releases.
With that, let me encourage you to try TestCafe if you are building web applications - a 30 day trial is available on http://testcafe.devexpress.com/Download - Please remember, if you own a copy of the Universal Subscription, TestCafe is included free of charge. If you do not and want to get started with functional testing, you can purchase TestCafe for only $499.