DevExpress/testcafe (testcafe)
Compare Source
TestCafe v2.6.2 introduces a number of bug fixes.
Bug fixes
- Internet Explorer 11 hangs because it cannot process client-side scripts that ship with TestCafe v2.6.1 (#7741).
- The
pressKey('space') action doesn't affect checkbox status in Firefox (#6969).
Compare Source
TestCafe v2.6.2 introduces a number of bug fixes.
Bug fixes
- Internet Explorer 11 hangs because it cannot process client-side scripts that ship with TestCafe v2.6.1 (#7741).
- The
pressKey('space') action doesn't affect checkbox status in Firefox (#6969).
Compare Source
TestCafe v2.6.0 introduces two enhancements: a new hook that allows users to modify reporter output, and support for JavaScript configuration files with the .cjs extension.
New reporter hook
The onBeforeWrite hook allows you to modify the output of a reporter.
If you want your test reports to include custom content, you can create a custom reporter from scratch. However, this approach takes time and effort. Use the onBeforeWrite hook if you want to make minor changes to the output of an existing reporter.
Define an onBeforeWrite hook in a JavaScript configuration file. The following hook adds the duration in milliseconds to every test entry in the report:
//.testcaferc.js or .testcaferc.cjs
function onBeforeWriteHook(writeInfo) { // This function will fire every time the reporter calls the "write" method.
if (writeInfo.initiator === 'reportTestDone') { // The "initiator" property contains the name of the reporter event that triggered the hook.
const {
name,
testRunInfo,
meta
} = writeInfo.data || {}; // If you attached this hook to a compatible reporter (such as "spec" or "list"), the hook can process data related to the event.
const testDuration = testRunInfo.durationMs; // Save the duration of the test.
writeInfo.formattedText = writeInfo.formattedText + ' (' + testDuration + 'ms)'; // Add test duration to the reporter output.
};
}
module.exports = { // Attach the hook
hooks: {
reporter: {
onBeforeWrite: {
'spec': onBeforeWriteHook, // This hook will fire when you use the default "spec" reporter.
},
},
},
};
Reporter hook demonstration
CJS support
If you run TestCafe v2.6.0 and higher, you can now use a configuration file with the .cjs file extension. TestCafe detects the .testcaferc.cjs file on startup, alongside its .js and .json counterparts.
TestCafe configuration files only support CommonJS syntax. Meanwhile, modern JavaScript tools often default to ESM syntax. If a JavaScript project is of type module, Node.js expects the project's .js files to contain ESM syntax.
Use the .cjs configuration file extension to let Node.js know that the file contains CommonJS syntax.
Many thanks to the TestCafe contributor Damien Guérin (@gigaga) for the implementation of this capability.
Bug fixes
- If you call the
t.skipJsErrors method without arguments, TestCafe passes a false value to the method. This behavior is inconsistent with similar methods of a greater scope --- test.skipJsErrors and fixture.skipJsErrors (#7648).
- Users cannot disable the "quarantine mode" or "skipJsErrors" settings from the command line (#7077).
- TestCafe incorrectly processes exceptions of types other than
Error (#7627).
- TestCafe does not consistently execute the
t.pressKey action in Mozilla Firefox. Attempts to press the "backspace" key and the "tab" key, among others, may fail. (#7623)
- When TestCafe runs in Native Automation mode, it incorrectly executes some instances of the
t.request method. (#7609)
- The TestCafe proxy incorrectly processes private class properties in client-side scripts, which leads to page load failure (#7632, PR by @sorin-davidoi).
Compare Source
TestCafe v2.5.0 introduces three major enhancements:
- The new
t.report method passes custom data to the test reporter.
- The new
--native-automation flag enables TestCafe to automate all Chromium-based browsers with the native CDP protocol.
- The new
--esm flag allows users to import ESM modules in test files.
t.report
Include the t.report() method in your test to pass custom data to the reporter.
Specify arguments of any type (string, array, Object, etc). Separate arguments with a comma:
await
t.report(
'text',
{'key': 'value'},
['arrayItem1', 'arrayItem2']
);
The default spec reporter displays custom data after test completion, once for each browser that runs the test.
Report with custom data
CDP Automation: Now Stable
TestCafe v2.2.0 introduced an experimental proxyless mode that automated Google Chrome with the native CDP protocol.
For the v2.5.0 release, the TestCafe team addressed most issues that our users discovered when the capability was "experimental", and gave it a new name --- Native Automation mode.
Unlike its predecessor, the Native Automation mode supports all Chromium-based browsers, including Microsoft Edge. Enable the nativeAutomation option in the command line interface, the configuration file, or the runner.run() function to try this capability.
[!IMPORTANT]
TestCafe v2.5.0 removed the experimentalProxyless option from the createTestCafe function. Use the runner.run() function to enable Native Automation mode from the TestCafe Test Runner API.
ESM Module Support: Now Stable
TestCafe v2.5.0 drops the experimental prefix from the --esm CLI flag. Enable the --esm flag to import modules that do not support CommonJS.
testcafe chrome test.js --esm
Compare Source
TestCafe v2.6.1 retires Experimental Debug mode, and introduces a number of important bug fixes.
Removed: Experimental debug mode
TestCafe v1.18.0 introduced Experimental Debug mode --- a way to debug Selectors and Client Functions in the text editor. TestCafe v2.4.0 shipped with the Visual Selector Debugger, which allows users to troubleshoot Selector queries directly in the browser.
The two capabilities serve the same purpose, but the Visual Selector Debugger is more user-friendly. As such, beginning with TestCafe v2.6.1, the framework no longer includes Experimental Debug mode. Thank you to all the TestCafe users who tried out the capability.
Bug fixes
- When TestCafe runs in Native Automation mode, Request Hooks yield an error (#7683).
- When TestCafe runs in Native Automation mode, the framework incorrectly processes pages with the pound sign ("#") in the URL (#7652).
- TestCafe incorrectly handles XHR headers in Native Automation mode (#7664, #7686, #7645).
- TestCafe reports an incorrect browser alias when it runs tests in Microsoft Edge (#7647).
- TestCafe fails to intercept all HTTP requests when it runs in Native Automation mode. (#7640).
- TestCafe cannot resize browser windows in the latest version of Chrome for macOS (#7684).
- TestCafe incorrectly processes client-side styles, causing slowdowns and errors (#6726, #6747).
- TestCafe crashes when you use the TestCafe Test Runner API to launch multiple tests simultaneously (#7711).
Compare Source
TestCafe v2.3.1 introduces a number of bug fixes.
Bug Fixes
- Client-side code with optional chaining may trigger a TestCafe error (#7387).
- TestCafe cannot interact with images from the Shadow DOM (#7454).
- TestCafe v2.3.0 fails to launch when the
test.meta method precedes test code (#7482).
- When TestCafe launches a headless instance of Google Chrome in proxyless mode, it cannot interact with elements that are overlapped by the status bar (#7483).
Compare Source
TestCafe v2.3.1 introduces a number of bug fixes.
Bug Fixes
- Client-side code with optional chaining may trigger a TestCafe error (#7387).
- TestCafe cannot interact with images from the Shadow DOM (#7454).
- TestCafe v2.3.0 fails to launch when the
test.meta method precedes test code (#7482).
- When TestCafe launches a headless instance of Google Chrome in proxyless mode, it cannot interact with elements that are overlapped by the status bar (#7483).
Uh oh!
There was an error while loading. Please reload this page.
This PR contains the following updates:
2.2.0→2.6.2Release Notes
DevExpress/testcafe (testcafe)
v2.6.2Compare Source
TestCafe v2.6.2 introduces a number of bug fixes.
Bug fixes
pressKey('space')action doesn't affect checkbox status in Firefox (#6969).v2.6.1Compare Source
TestCafe v2.6.2 introduces a number of bug fixes.
Bug fixes
pressKey('space')action doesn't affect checkbox status in Firefox (#6969).v2.6.0Compare Source
TestCafe v2.6.0 introduces two enhancements: a new hook that allows users to modify reporter output, and support for JavaScript configuration files with the
.cjsextension.New reporter hook
The onBeforeWrite hook allows you to modify the output of a reporter.
If you want your test reports to include custom content, you can create a custom reporter from scratch. However, this approach takes time and effort. Use the
onBeforeWritehook if you want to make minor changes to the output of an existing reporter.Define an
onBeforeWritehook in a JavaScript configuration file. The following hook adds the duration in milliseconds to every test entry in the report:Reporter hook demonstration
CJS support
If you run TestCafe v2.6.0 and higher, you can now use a configuration file with the
.cjsfile extension. TestCafe detects the.testcaferc.cjsfile on startup, alongside its.jsand.jsoncounterparts.TestCafe configuration files only support CommonJS syntax. Meanwhile, modern JavaScript tools often default to ESM syntax. If a JavaScript project is of type
module, Node.js expects the project's.jsfiles to contain ESM syntax.Use the
.cjsconfiguration file extension to let Node.js know that the file contains CommonJS syntax.Many thanks to the TestCafe contributor Damien Guérin (@gigaga) for the implementation of this capability.
Bug fixes
t.skipJsErrorsmethod without arguments, TestCafe passes afalsevalue to the method. This behavior is inconsistent with similar methods of a greater scope ---test.skipJsErrorsandfixture.skipJsErrors(#7648).Error(#7627).t.pressKeyaction in Mozilla Firefox. Attempts to press the "backspace" key and the "tab" key, among others, may fail. (#7623)t.requestmethod. (#7609)v2.5.0Compare Source
TestCafe v2.5.0 introduces three major enhancements:
t.reportmethod passes custom data to the test reporter.--native-automationflag enables TestCafe to automate all Chromium-based browsers with the native CDP protocol.--esmflag allows users to import ESM modules in test files.t.report
Include the t.report() method in your test to pass custom data to the reporter.
Specify arguments of any type (string, array, Object, etc). Separate arguments with a comma:
The default
specreporter displays custom data after test completion, once for each browser that runs the test.Report with custom data
CDP Automation: Now Stable
TestCafe v2.2.0 introduced an experimental proxyless mode that automated Google Chrome with the native CDP protocol.
For the v2.5.0 release, the TestCafe team addressed most issues that our users discovered when the capability was "experimental", and gave it a new name --- Native Automation mode.
Unlike its predecessor, the Native Automation mode supports all Chromium-based browsers, including Microsoft Edge. Enable the
nativeAutomationoption in the command line interface, the configuration file, or the runner.run() function to try this capability.ESM Module Support: Now Stable
TestCafe v2.5.0 drops the
experimentalprefix from the--esmCLI flag. Enable the--esmflag to import modules that do not support CommonJS.v2.4.0Compare Source
TestCafe v2.6.1 retires Experimental Debug mode, and introduces a number of important bug fixes.
Removed: Experimental debug mode
TestCafe v1.18.0 introduced Experimental Debug mode --- a way to debug Selectors and Client Functions in the text editor. TestCafe v2.4.0 shipped with the Visual Selector Debugger, which allows users to troubleshoot Selector queries directly in the browser.
The two capabilities serve the same purpose, but the Visual Selector Debugger is more user-friendly. As such, beginning with TestCafe v2.6.1, the framework no longer includes Experimental Debug mode. Thank you to all the TestCafe users who tried out the capability.
Bug fixes
v2.3.1Compare Source
TestCafe v2.3.1 introduces a number of bug fixes.
Bug Fixes
test.metamethod precedes test code (#7482).v2.3.0Compare Source
TestCafe v2.3.1 introduces a number of bug fixes.
Bug Fixes
test.metamethod precedes test code (#7482).Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.