TestCafe v1.20.0 Release Notes

Release Date: 2022-07-14 // almost 2 years ago
  • ⚠ > :warning: ✅ > Warning: Impending breaking change. ✅ > TestCafe v1.20 is the final version of the framework to support TypeScript 3. ⚡️ > The next update will abandon TypeScript 3 in favor of TypeScript 4.

    ✅ TestCafe v1.20.0 includes two major capabilities: an API testing toolkit and the ability to set a global test page URL. Additionally, TestCafe 1.20.0 introduces experimental support for Chrome User Flow Replays, as well as a number of under-the-hood improvements.

    ✅ API Testing

    ✅ TestCafe v1.20.0 includes a comprehensive set of server-side API testing tools. You can add dedicated API tests to your test suite, or include API testing methods in existing functional tests.

    📚 The new Request test action executes an HTTP request and returns the server's response.

    const responseBody = await t.request(`http://localhost:3000/helloworld`).body;
    
    t.expect(responseBody).contains('Hello World') // true
    

    📚 Read the API Testing Guide for a full overview of the framework's API testing capabilities.

    Global starting URL

    📚 You can now define a single starting URL for all the tests in your test suite.

    Declare the baseUrl in one of the following three ways:

    ✅ Once you define a baseUrl, you can omit fixture and test URLs entirely, or define them relative to your baseUrl:

        "baseUrl": "https://devexpress.github.io/testcafe"
    
    fixture`Test structure`
        .page`./example`; // starts at https://devexpress.github.io/testcafe/example
    

    Experimental: Chrome User Flow Replays

    TestCafe v1.20.0 introduces experimental, limited support for Google Chrome user flow recordings.

    ✅ Record page actions in Google Chrome and export the recording as a JSON file. TestCafe will play the recording back just like it would a generate a test report

    📚 Read the User Flow Recordings guide to learn more.

    ✅ Coming in TestCafe 2.0: TypeScript 4

    ✅ The next version of TestCafe will adopt TypeScript 4 and lose compatibility with TypeScript 3.X.

    To indicate the breaking change, we will increment the framework's major version number - from 1 to 2.

    🚀 TestCafe 2.0 will be released later this month.

    👌 Improvements

    • 👍 Better Google Chrome video capture

      TestCafe v1.20.0 uses the Screen Capture API to record videos of Google Chrome test runs. This results in a significantly better test recording framerate and image quality.

      Screen capture comparison GIF

    🐛 Bug Fixes

    • ✅ When the t.typeText action raises an error, TestCafe mistakenly awaits the target element for the second time (#6623)

    • ✅ Concurrent test runs do not always generate concurrent test run reports (#7062)

    • ✅ TestCafe doesn't properly handle errors raised inside the requestMock function (#6703)

    • ✅ The default terminal viewport width is too low for non-tty terminals (Issue #5919, PR #6930 by @PayBas)

    • ✅ TestCafe cannot switch to an invisible iframe (#4558)

    • ⚡️ Update incorrect TypeScript definitions (PR #7069 by @karolnowinsky)

    • ✅ Some SVGs don't meet the visibility criteria (#6998)