Changelog History
Page 2
-
v1.18.3 Changes
January 25, 2022 -
v1.18.2 Changes
January 18, 2022๐ Bug Fixes
- โ Tests with client scripts yield the "Cannot read property 'tests' of null" error (#6305)
- โ TestCafe hangs after failing to initialize a Role (#5278)
- ๐ง Testcafe falsely detects filter directives in the configuration file (#6620)
- โ Concurrent Chrome instances cannot reconnect to TestCafe after a restart (#4554)
- โ TestCafe hangs if a user enters an iframe and then switches to a different browser window (#6085)
- โ TestCafe opens incorrect URLs when you concurrently run multiple fixtures from the same test file (#6041)
- โ
TestCafe expands disabled
<select>
elements (#5616) - โ TestCafe does not load some cross-domain iframes (#6633)
- โ TestCafe incorrectly sets the Document.referrer property in Chrome 89 (#6144)
- โ Tests hang when the test page initiates a file download (#5796)
- ๐ Requests fail because TestCafe incorrectly handles dynamic content security policy (#6057)
- โ TestCafe triggers pointerdown event handlers twice (#5891)
- โ TestCafe cannot trigger click event handlers for Angular buttons with the "disabled" attribute (#5240)
-
v1.18.1 Changes
December 23, 2021๐ macOS Bug Fix
โก๏ธ TestCafe fails to launch Safari after the v1.18.0 update.
-
v1.18.0 Changes
December 22, 2021๐ TestCafe v1.18.0 includes a new experimental Selector debugging capability, important improvements for macOS users and a number of routine bug fixes.
๐ If you run TestCafe on macOS, follow the Upgrade Guide to make sure your upgrade goes smoothly.
๐ New Debugging Capabilities (Experimental)
โ If you launch TestCafe with the
--experimental-debug
flag, you can debug Selectors and Client Functions in the Watch panel of a Node.js debugger.๐ macOS improvements
โ TestCafe Browser Tools on Apple Silicon
๐ฆ The TestCafe Browser Tools package is a communication layer that automates browsers on behalf of TestCafe. Both the TestCafe framework and TestCafe Studio include the TestCafe Browser Tools binary.
๐ Earlier versions of TestCafe Browser Tools were optimized for the x86-64 architecture. Apple Silicon Macs ran those binaries through the Rosetta 2 translation layer. Rosetta 2 took up additional space and prevented TestCafe from taking full advantage of the processor.
TestCafe v1.18.0 includes a Universal TestCafe Browser Tools binary that runs natively on both x64 Macs and Apple Silicon Macs.
๐ Follow the Upgrade Instructions to make sure your version of TestCafe Browser Tools is up to date.
๐ TestCafe Browser Tools macOS Permission Fix
๐ The TestCafe Browser Tools binary requires special privileges to automate browsers and take screenshots. Security improvements in recent versions of macOS made these privileges harder to obtain.
๐ Prior to TestCafe v1.18.0, each installation of TestCafe and TestCafe Studio included a TestCafe Browser Tools binary. macOS users with multiple sets of TestCafe Browser Tools had to go through a lengthy process to obtain the necessary permissions.
โ TestCafe v1.18.0 and TestCafe Studio v1.7 address this issue. Beginning with this version, all TestCafe installations share a single TestCafe Browser Tools binary. TestCafe stores this binary in the user's Home directory, inside the hidden
~/.testcafe-browser-tools
folder.๐ Follow the Upgrade Instructions to reset TestCafe Browser Tools' permissions and enable the new binary.
๐ Bug Fixes
- ๐ TestCafe immediately closes new windows (#6680)
- โ
Tests fail with the
TypeError: Invalid value used as weak map key.
error (#6563) - ๐ณ The latest version of the TestCafe Docker image cannot connect to Chrome and Chromium (#6436)
- โ
TestCafe loses test error call stack and outputs the following message instead:
"Uncaught object "[object Object]"
(Issue #6624. Discovered by @danieltroger, PR by @rob4629.) - โ Lack of definitions for two new timeout options results in TypeScript compilation errors (#6713)
- โ TypeScript filter functions erroneously require a Promise return value (#6705)
-
v1.17.1 Changes
November 11, 2021๐ Bug Fixes
- ๐ง TestCafe incorrectly reads the 'reporter' configuration file option (#6665, #6594).
- โ An error report displays multiple warnings when you debug a test in headless mode (#6605).
- โ The testcafe-hammerhead proxy fails to load a web page (testcafe-hammerhead/#2708).
-
v1.17.0 Changes
November 02, 2021โจ Enhancements
โ Global Test and Fixture Hooks
๐ You can now specify global test and fixture hooks. TestCafe attaches these hooks to every test / fixture in the test suite.
module.exports = { hooks: { fixture: { before: async (ctx) => { // your code }, after: async (ctx) => { // your code } }, test: { before: async (t) => { // your code }, after: async (t) => { // your code } } } };
Execution Timeouts
๐ You can now specify custom timeouts for tests and test runs. If a test/test run is idle or unresponsive for the specified length of time, TestCafe terminates it. Specify these timeouts in the configuration file or from the command line.
๐ป Command line interface
testcafe chrome my-tests --test-execution-timeout 180000 testcafe chrome my-tests --run-execution-timeout 180000
๐ง Configuration file
{ "runExecutionTimeout": 180000, "testExecutionTimeout": 180000 }
๐ Bug Fixes
- โ TestCafe fails to continue the test after the user downloads a file. (#6242).
- โ The TestCafe proxy does not fire the "unpipe" event when necessary. This omission leads to the "This socket has been ended by the other party" error (#6558).
- โ TestCafe incorrectly handles rewritten uninitialized iframes (testcafe-hammerhead/#2694, testcafe-hammerhead/#2693).
-
v1.16.1 Changes
October 05, 2021 -
v1.16.0 Changes
September 08, 2021โจ Enhancements
๐ Support for JavaScript configuration files
๐ง You can now store TestCafe settings in a
js
file. Configuration properties in JavaScript files can reference JavaScript methods, functions and variables, which makes it easy to create dynamic configuration files.Just
export
the JSON name/value pairs in the file:module.exports = { skipJsErrors: true, hostname: "localhost", // other settings }
๐ Support for custom user variables in the configuration file
๐ง TestCafe v1.16.0 and later supports configuration files with variable declarations. Users can reference variables from a configuration file in the tests that utilize that configuration file. To enable access to configuration file variables, import the
userVariables
object from thetestcafe
module at the beginning of the test script.๐ This capability can come in handy if there's a single piece of data you want to use in multiple tests โ for example, the website's URL. That way, if your website moves to a new domain name, you don't have to change your tests one by one.
If you previously used environment variables to achieve the same goal, you might prefer the new method โ it significantly simplifies the setup process, and allows you to commit the data to a version control system.
Define your custom variables with the
userVariables
JSON object:{ "userVariables": { "url": "http://devexpress.github.io/testcafe/example", } }
โ Reference this variable in your test:
import { userVariables } from 'testcafe'; fixture `Test user variables` .page(userVariables.url); test('Type text', async t => { await t .typeText('#developer-name', 'John Smith') .click('#submit-button'); });
Other enhancements
- ๐ New option that disables thumbnail generation for test screenshots (PR by @taki-fw).
- ๐ New
embedding-utils
API method that retrieves information about skipped tests (PR by @flora8984461). - โ
The
Runner.filter
function supports asynchronous arguments (PR by @eignatyev). - โ
You can import the
test
andfixture
objects directly from thetestcafe
module (PR #6338).
๐ Bug Fixes
- โ TestCafe does not keep track of file changes in live mode (#6481).
-
v1.15.3 Changes
August 19, 2021๐ Bug Fixes
- โ TestCafe throws an error if you use the 'all' alias in the command line to run tests in all installed browsers (#6456).
- ๐ง TestCafe does not check if the configuration file exists (#6337).
- โ TestCafe cannot disable HTTP/2 to avoid compatibility issues (testcafe-hammerhead/#2681).
- โ TestCafe works incorrectly if you use extended Function objects (testcafe-hammerhead/#2439).
- โ TestCafe processes a test application incorrectly if it uses the Immutable.js library (testcafe-hammerhead/#2669).
- โ TestCafe adds an element incorrectly into a nested body element (PR testcafe-hammerhead/#2682).
-
v1.15.2 Changes
August 11, 2021๐ Bug Fixes
- โ
TestCafe fails to emulate the
tab
action if a page contains a cross-domain iframe (#6405). - ๐ง TestCafe ignores the quarantine mode options if you specify the configuration file (#6420).
- โ TestCafe test fails if you specify a custom option as a command line argument (#6426)
- The ERR_HTTP2_GOAWAY_SESSION error occurs randomly when you use HTTP/2 protocol (testcafe-hammerhead/#2653).
- โ TestCafe fails if a page contains overridden getters for target elements (testcafe-hammerhead/#2662).
- โ TestCafe incorrectly processes scripts that destruct empty elements (testcafe-hammerhead/#2670).
- โ
TestCafe fails to emulate the