Skip to content

Releases: DevExpress/testcafe

v3.7.0

04 Nov 13:50
716aa91
Compare
Choose a tag to compare

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 the prevElement object is removed from the DOM (#8264).

v3.7.0-rc.4

31 Oct 13:11
d218487
Compare
Choose a tag to compare
v3.7.0-rc.4 Pre-release
Pre-release

What's Changed

Full Changelog: v3.7.0-rc.3...v3.7.0-rc.4

v3.7.0-rc.3

30 Oct 12:52
2efbfda
Compare
Choose a tag to compare
v3.7.0-rc.3 Pre-release
Pre-release

What's Changed

Full Changelog: v3.7.0-rc.2...v3.7.0-rc.3

v3.7.0-rc.2

24 Oct 13:13
f3fe938
Compare
Choose a tag to compare
v3.7.0-rc.2 Pre-release
Pre-release

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

18 Oct 11:38
d5cb4db
Compare
Choose a tag to compare
v3.7.0-rc.1 Pre-release
Pre-release

What's Changed

Full Changelog: v3.6.2...v3.7.0-rc.1

v3.6.2

03 Jul 07:49
89895be
Compare
Choose a tag to compare

v3.6.2 (2024-07-02)

Bug Fixes

  • [Native Automation] TestCafe incorrectly uploads files in Chrome v125 and up. (#8198)
  • TestCafe dependencies include the vulnerable endpoint-utils package (#8207). The updated version includes the address package instead.

v3.6.2-rc.1

01 Jul 14:22
f80bef3
Compare
Choose a tag to compare
v3.6.2-rc.1 Pre-release
Pre-release

What’s Changed

v3.6.1

10 Jun 11:51
f428928
Compare
Choose a tag to compare

v3.6.1 (2024-06-10)

Bug Fixes

  • TestCafe incorrectly calculates the dimensions of multi-line elements. (#8179)
  • TestCafe incorrectly executes the resizeWindow method if you maximize the target window first. (#8157)

v3.6.1-rc.1

04 Jun 11:03
5e04aa6
Compare
Choose a tag to compare
v3.6.1-rc.1 Pre-release
Pre-release

What’s Changed

v3.6.0

25 Apr 11:46
886a267
Compare
Choose a tag to compare

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

  1. [Native automation] TestCafe does not execute the maximizeWindow() method in beforeEach hooks (#8117)
  2. If TestCafe launch options include --esm, the framework crashes on launch in environments with Node.JS v20 and up (#8132)
  3. The Linux-based Docker image of TestCafe cannot run tests in headless Chromium (#8145)
  4. TestCafe incorrectly crops Safari screenshots (#8154)