Releases: DevExpress/testcafe
v2.3.0-rc.2
What’s Changed
- release: publish v2.3.0-rc.2, updated HH (#7472) @Aleksey28
v2.3.0-rc.1
2.3.0 (2023-01-19)
Create TestCafe
Experimental: ECMAScript module support
Bug Fixes
- TestCafe doesn’t delete expired cookies (#7432).
- TestCafe mishandles windows that appear when the user clicks a link with a _blank target (#6926).
- TestCafe tests fail to start because the framework triggers the dns.setDefaultResultOrder method in older Node.js environments (#7447).
- TestCafe dependencies include a vulnerable, outdated version of the babel-plugin-module-resolver package (#7456)
v2.2.0
v2.2.0 (2022-12-29)
TestCafe v2.2.0 introduces user-defined custom actions and an important experimental capability. Google Chrome users can now enable "proxyless mode" to speed up their test suite.
Custom Action Support
TestCafe users can now define custom test actions. Place the definition function in a JavaScript configuration file:
module.exports = {
customActions: {
async makeCoffee (args) {
await this.click(args);
},
}
};
Include custom methods in your tests alongside other TestController methods.
Add the customActions
prefix when you call the action:
test('Test with a custom action', async t => {
await t.click()
.customActions.makeCoffee()
.click();
})
Experimental: Proxyless mode
TestCafe runs an under-the-hood reverse proxy to automate tests across different browsers. But this technique complicates the framework. Native automation protocols offer superior automation speeds and greater stability. That's why the TestCafe team decided to gradually phase the reverse proxy out in favor of native support for these automation protocols.
TestCafe v2.2.0 includes an experimental option that disables the proxy for Google Chrome.
testcafe chrome tests --experimental-proxyless
You can enable this option in the command line interface, the Test Runner API, and the configuration file. Read the Proxyless mode guide for more information.
Bug Fixes
- TestCafe doesn't hide the live mode status bar when the bar obstructs the action target (#7384)
- The 'Target element is overlapped' message does not reference the Selector that caused the warning (#7386)
- The TestCafe Dashboard reporter includes an outdated
uuid
dependency (testcafe-reporter-dashboard#111) - TestCafe doesn't display the correct error message when the framework throws an exception (#6936)
- TestCafe retains some cookies after the user requests their deletion (PR testcafe-hammerhead#2818)
- TestCafe cannot load test pages with the
localhost
URL on Node.js v17 and up (#7396) - TestCafe cannot take screenshots in headless Chrome on Node.js v17 and up (#7408)
- Web workers that originate from Blob URLs throw an error when they call the
importScript
function (#7378) - TestCafe doesn't set the correct
Request
header when aniframe
points the user to a new URL (#7376, PR testcafe-hammerhead#2813 by @naggingant) - TestCafe cannot interact with options that belong to a
<select>
element with themultiple
attribute (PR testcafe-hammerhead#2815)
v2.2.0-rc.2
What’s Changed
- release: update the TestCafe Dashboard reporter, publish v2.2.0-rc.2 (#7427) @VasilyStrelyaev
v2.2.0-rc.1
2.2.0 (2022-12-22)
Improvement: Custom Test Actions support
Improvement: Experimental "No Proxy" mode
Bug Fixes
- The status bar does not disappear (#7384)
- Add callsite and selector expression to the overlapped warning message (#7386)
- Update uuid dependency (testcafe-reporter-dashboard#111)
- Render correct error text for internal uncaught errors (#6936)
- fix: fixed cookie synchronization (PR testcafe-hammerhead#2818)
- TestCafe crashes on Node 18 (#7396)
- Screenshots fail in Headless Chrome in Node >= 17 (at least on a Mac) (#7408)
- A JavaScript error occurs on testing a Blazor app page containing Monaco Editor (#7378)
- Ajax request referrer header altered after iframe loads (#7376)
- fix: fixed getSelectElementSize (PR testcafe-hammerhead#2815)
v2.1.1-alpha.3
What’s Changed
- release: publish 2.1.1-alpha.3 (#7420) @miherlosev
- Introduce CustomActions feature (closes #1535) (#7393) @Artem-Babich
- proxyless: fix 'window.postMessage' function (#7414) @miherlosev
- fix: calculate the status bar reactively (closes #7384) (#7407) @AndreyBelym
v2.1.1-alpha.2
What’s Changed
- release: publish 2.1.1-alpha.2 (#7406) @miherlosev
- proxyless: updated script header processing stuff (#7403) @miherlosev
- proxyless: fixed hang (#7405) @miherlosev
- feat: added
callsite
to the warning with the overlapping element (#7399) @Aleksey28 - proxyless: add custom status text (#7404) @miherlosev
- Configuration: proxyless + hostname (#7400) @AlexKamaev
- deps: update testcafe-reporter-dashboard v0.2.7 (#7392) @aleks-pro
- proxyless: refactor redirects and csp (#7398) @miherlosev
v2.1.1-alpha.1
What’s Changed
- release: publish 2.1.1-alpha.1 (#7397) @miherlosev
- rename '--proxyless' to '--experimental-proxyless' (#7394) @AlexKamaev
- proxyless: more fixes (#7366) @miherlosev
- proxyless roles (#7368) @AlexKamaev
- feat: rendered correct error text for internal uncaught errors (#7364) @Aleksey28
- fix for HH tests (#7369) @AlexKamaev
v2.1.0
v2.1.0 (2022-11-10)
Improvements
Improved handling of invisible elements
- Visibility criteria update: TestCafe no longer interacts with elements that have the
visibility: collapse
attribute. - If the action target does not fit the visibility criteria, TestCafe outputs an error message that references the exact reason. (#7310).
Improved handling of overlapped elements
- When another element overlaps the center of the action target, TestCafe scans the target element for available points of contact. If the selector timeout ends before TestCafe finds an unobstructed point, TestCafe outputs a warning message and interacts with the topmost element at the center of the original target (#7309).
- TestCafe v2.1.0 contains an improved algorithm that detects whether extra scrolling can resolve an element obstruction issue. (#6208)
Bug Fixes
- In some environments, TestCafe cannot take screenshots when the test runs in a headless Chromium-based browser (#7224).
- Full-page screenshots in headless Chrome do not include the edges of the page (#5961).
- TestCafe throws the "TypeError: Illegal invocation" error when the front-end code passes a number value to the
Element.insertAdjacentText
method (#7352).
v2.1.0-rc.1
What’s Changed
- deps: update testcafe-reporter-dashboard v0.2.7 (#7346) @aleks-pro
- proxyless: fix sporadic 'Invalid InterceptionId' error. (#7359) @miherlosev
- feat: added the possibility to disable a cross-domain emulation (#7350) @Aleksey28
- Fix: Incorrect page size on screenshot in full-page mode in Chrome headless(closes #5961) (#7054) @Artem-Babich
- feat: upgraded click mechanism on element if offset options isn't set and center isn't available (#7330) @Aleksey28
- feat: upgraded visibility errors (#7319) @Aleksey28
- proxyless: small fixes (#7357) @miherlosev
- proxyless: initial same-domain iframe support (#7349) @miherlosev