Releases: DevExpress/testcafe
v3.7.0
TestCafe v3.7.0 Released
The TestCafe v3.7.0 update includes the capability to use Metadata
as an interface, esm
configuration file option, and a number of bug fixes.
meta-readmore
Declare Metadata Interface
Earlier versions of TestCafe supported Metadata
as a type. In TestCafe v3.7.0 and higher, you should declare Metadata
as an interface.
// testcafe.global.d.ts
declare module "testcafe" {
global {
interface Metadata {
manual?: boolean,
}
}
}
New Configuration File Option: esm
Earlier versions of TestCafe supported the ESM Module from the CLI only. In TestCafe v3.7.0 and higher, you can use the esm configuration file option. Note that this option only works with Node.js 18.19-18.xx, and 20.8.0 and up.
Bug Fixes
- CDP client tab creation causes a
WebSocket connection closed
error in Chrome v130 (#8286). - An unhandled promise rejection occurs while launching sub-windows (#8258).
- Assertions that perform visibility checks fail despite elements being visible on the page (#8237).
- The t.getCurrentCDPSession method returns
unknown
(#8228). - [Native Automation] Request hooks are applied to skipped tests (#8229).
- A
WebSocket connection closed
error occurs while running TestCafe in Chrome v127. The updated version includes the--disable-search-engine-choice-screen
flag (#8240). - A
leaveElement
method call causes an error when theprevElement
object is removed from the DOM (#8264).
v3.7.0-rc.4
What's Changed
Full Changelog: v3.7.0-rc.3...v3.7.0-rc.4
v3.7.0-rc.3
What's Changed
- update: publish jobs update by @Bayheck in #8317
- fix: devtools package moved from dev to prod packages by @Bayheck in #8327
Full Changelog: v3.7.0-rc.2...v3.7.0-rc.3
v3.7.0-rc.2
What's Changed
- fix: add --disable-component-extensions-with-background-pages flag to default arguments by @PavelMor25 in #8315
- release: 3.7.0-rc.2 by @Bayheck in #8316
Full Changelog: v3.7.0-rc.1...v3.7.0-rc.2
v3.7.0-rc.1
What's Changed
- add: option to run esm from runner and config file by @Bayheck in #8230
- update: change Metadata from type to interface by @Bayheck in #8238
- fix: add --disable-search-engine-choice-screen to default arguments by @PavelMor25 in #8248
- build(deps-dev): bump axios from 1.6.8 to 1.7.4 by @dependabot in #8255
- build: bump packages by @PavelMor25 in #8257
- fix: skip request hooks initialization for skiped tests by @Bayheck in #8260
- feat: change ts-defs by @PavelMor25 in #8265
- fix: hammerhead package updated by @Bayheck in #8261
- fix:static class blocks are not enabled babel error by @Bayheck in #8267
- upd package-lock by @PavelMor25 in #8288
- testing: fix promise rejection error by @Bayheck in #8283
- fix: updated babel packages by @Bayheck in #8281
- fix: add check prev element by @PavelMor25 in #8289
- build(deps-dev): bump rollup from 2.16.1 to 2.79.2 by @dependabot in #8291
- fix: The 'WebSocket connection closed' error on Chrome 130 by @PavelMor25 in #8297
- release: 3.7.0-rc.1 by @PavelMor25 in #8301
- release: upd package-lock by @PavelMor25 in #8302
Full Changelog: v3.6.2...v3.7.0-rc.1
v3.6.2
v3.6.2-rc.1
What’s Changed
- fix: license checker fixed for publishing (#8222) @Bayheck
- release: version updated to 3.6.2-rc.1 (#8220) @Bayheck
- Upload file fixed (#8211) @Bayheck
- remove endpoint-utils package (#8217) @Bayheck
- build(deps): bump ws from 7.5.9 to 7.5.10 (#8218) @dependabot
- license check workflow added (#8206) @Bayheck
v3.6.1
v3.6.1-rc.1
v3.6.0
TestCafe v3.6.0 Released
The TestCafe v3.6.0 update includes two minor changes and a number of bug fixes.
New method: t.getCurrentCDPSession
The t.getCurrentCDPSession method allows native automation users to examine and control the CDP connection between TestCafe and the browser.
Use the method to obtain the Chrome DevTools Protocol object for the current session. The CDP object exposes properties and methods that pertain to the CDP connection between TestCafe and the active browser window.
fixture `Get current CDP session`
.page('https://devexpress.github.io/testcafe/example');
test(`Get current CDP session`, async t => {
const mainWindowId = await t.testRun.activeWindowId;
let clientCDP = await t.getCurrentCDPSession();
await t.expect(clientCDP.webSocketUrl).contains(mainWindowId);
}
Headless browser connection
TestCafe v3.6.0 takes advantage of the recent Chromium headless mode upgrade. The new headless mode offers better reliability and higher emulation accuracy.
The headless mode upgrade may cause unexpected changes to your tests' behavior. Take note of the following changes:
- Headless Chromium now automatically upgrades insecure HTTP requests to HTTPS.
- Headless Chromium does not always honor the
--window-size
flag. This behavior is a known Chromium bug.
Bug Fixes
- [Native automation] TestCafe does not execute the
maximizeWindow()
method in beforeEach hooks (#8117) - If TestCafe launch options include
--esm
, the framework crashes on launch in environments with Node.JS v20 and up (#8132) - The Linux-based Docker image of TestCafe cannot run tests in headless Chromium (#8145)
- TestCafe incorrectly crops Safari screenshots (#8154)