Changelog History
Page 5
-
v1.9.3 Changes
September 17, 2020v1.9.3 (2020-9-17)
π Bug Fixes
- π Fixed the
RequestMock
type definitions to accept any type for the headers (#5529) - β
TestCafe no longer displays a warning about missing
await
when you save a snapshot property to a variable but do not use it later in the test (#5534) - β
Consecutive
document.getElementsByTagName('body')
calls now produce the correct results even if the first call was made before a document body was parsed entirely (#5322)
- π Fixed the
-
v1.9.3-rc.1 Changes
September 16, 2020Whatβs Changed
- β¬οΈ Bump version (v1.9.3-rc.1) (#5540) @AndreyBelym
- β Set unique title for browser tabs (#5542) @miherlosev
- π Fix excessive "missing await" warnings (closes #5534) (#5537) @AndreyBelym
- π Fixes header types for request and response mocks (#5529) (#5530) @bdwain
- β [docs] Mention Edge Legacy in the concurrency note (#5514) @AndreyBelym
- β Add 'object-curly-newline' eslint rule. (#5523) @miherlosev
- β Rewrite request hooks to TypeScript (#5506) @miherlosev
- β [docs] Add new contributors (#5505) @AlexSkorkin
-
v1.9.2 Changes
September 03, 2020v1.9.2 (2020-9-3)
π Bug Fixes
- β
TestCafe's TypeScript definitions now allow
null
as an expected value in assertions (PR #5456) - β Added warnings displayed when a user tries to get a snapshot property value and misses
await
(PR #5383, part of #5087) - β Tested app's standard output and error streams are forwarded to the TestCafe's debug log now (#5423)
- β Tested apps no longer cause buffer overflow errors when they output too much data to standard streams (#2857)
- β TestCafe now correctly waits for elements on tested pages that mock date functions (#5447)
- β HTTP header overflow errors now occur less frequently due to the increased maximum header size. Enhanced the error message with troubleshooting instructions (testcafe-hammerhead/#2356)
- β Added a descriptive message with troubleshooting instructions for the error thrown when the tested web server sends malformed or non-standard headers (testcafe-hammerhead/#2188)
- π Fixed a CSRF error on tested pages that use the
Request
class (testcafe-hammerhead/#2140) - π
t.hover
now works correctly for tested pages built with the Styled Components framework (#3830) - π Fixed script processing that could cause unhandled exceptions on some pages (testcafe-hammerhead/#2417)
- π Fixed the 'TypeError: r is not a function' uncaught exception on some pages with an
<iframe>
(testcafe-hammerhead/#2392)
- β
TestCafe's TypeScript definitions now allow
-
v1.9.2-rc.2 Changes
September 02, 2020Whatβs Changed
- β¬οΈ Bump version (v1.9.2-rc.2); Bump hammerhead (v17.1.15) (#5491) @AndreyBelym
- π Fix missing semicolons in d.ts (#5486) @Himura2la
-
v1.9.2-rc.1 Changes
September 01, 2020Whatβs Changed
- β Rewrite role to typescript (#5462) @miherlosev
- β‘οΈ Update eslint-plugin-hammerhead plugin (#5469) @miherlosev
- β [docs] Gh #5196 describe current limitations (#5428) @DIRECTcut
- β [Docs] Describe how action works and depends on each other (#5386) @DIRECTcut
- β Add type definition tests for typeOf and notTypeOf assertions (#5458) @Ogurecher
- β [docs] Add a multi-window support blog post (#5464) @VasilyStrelyaev
- β Use the native date methods in the client code (close #5447) (#5450) @miherlosev
- β #5446 Added null to the list of types avaliable for the checking (#5456) @Vla8islav
- β Rewrite files to TypeScript (#5433) @miherlosev
- β [docs] Add a post with September webinar announcement (#5444) @VasilyStrelyaev
- β [docs] Added a post with webinar QAs (#5436) @VasilyStrelyaev
- π [docs] Fix website building (#5435) @AndreyBelym
- β ability to log stdout and stderr of tested-app (closes #5423) (#5431) @kubejm
- β Add warnings for missing await when trying to get a snapshot property value (#5383) @Ogurecher
- β Add exception handling in Reporter (#5377) @wentwrong
-
v1.9.1 Changes
August 12, 2020Whatβs Changed
- π [docs] Add release notes for v1.9.1 (#5417) @VasilyStrelyaev
- β [docs] Edits to the multi-window mode docs requested by @miherlosev (#5406) @titerman
- β Add the testingbot provider to the plugin list (#5408) @Ogurecher
-
v1.9.1-rc.1 Changes
August 11, 2020Whatβs Changed
- β Added a check to error formatter. Bump version (v1.9.1-rc.1). Bump hammerhead (v17.1.13) (#5409) @Ogurecher
- β [docs] Describe TestCafe current limitations (#5357) @DIRECTcut
- β [docs] Add a changelog for v1.9.0 (#5399) @VasilyStrelyaev
- β [docs] Address remarks re 1.9.0 announcement (#5402) @VasilyStrelyaev
- β attempt to test typescript definitions for testController (#5384) @AlexKamaev
- β Rewrite assertion.js to typescript (#5387) @miherlosev
- π Change multi-window tests structure (#5390) @miherlosev
- π [docs] Update the documentation to include a description of the framework's window management capabilities (#5363) @titerman
-
v1.9.0 Changes
August 06, 2020β¨ Enhancements
π π Multi Window Support (Beta)
π TestCafe can now automate user actions in multiple windows. You can switch between open windows during the test. Make edits in one window and check that the other window's content changes dynamically to reflect these modifications.
π [Testing in multiple windows](docs/articles/images/blog/2020-07-23-multi-window.gif)
β When the main window opens a child window, TestCafe automatically switches to this new window and continues test actions there:
import { Selector } from 'testcafe'; fixture `Login page` .page('https://login.wrike.com/login/'); const googleButton = Selector('div.login-panel-footer__login-with > button'); test('Login via Google', async t => { await t .click(googleButton) .typeText('input[type=email]', 'This text will be entered inside the pop-up'); });
π You can use the t.openWindow method to open a child window in test code:
import { Selector, ClientFunction } from 'testcafe'; fixture `Test page` .page('https://devexpress.github.io/testcafe/example/'); test('Open a new window', async t => { await t.openWindow('http://example.com'); const url = await t.eval(() => document.documentURI); await t.expect(url).eql('http://example.com'); });
π The t.switchToWindow method enables you to switch between open windows. You can use a window descriptor or a predicate to specify the window that should be activated:
fixture `Example page` .page('https://example.com'); test('Switch to a specific window', async t => { const initialWindow = await t.getCurrentWindow(); const popUp1 = await t.openWindow('https://devexpress.com'); const popUp2 = await t.openWindow('https://github.com'); await t.switchToWindow(initialWindow); const url = t.eval(() => document.documentURI); await t.expect(url).eql('https://example.com/'); await t .switchToWindow(w => w.url.host === 'github.com') .expect(url).eql('https://github.com'); });
π The t.switchToParentWindow and t.switchToPreviousWindow methods allow you to switch back to the parent window or the previously active window.
π The t.closeWindow method closes the current window when called without arguments, or the specified window if you pass a descriptor or predicate:
fixture `Example page` .page('http://www.example.com'); test('Close the current window', async t => { const window1 = await t.openWindow('http://devexpress.com'); await t.closeWindow(); const url = await t.eval(() => document.documentURI); await t.expect(url).eql('http://www.example.com/'); }); test('Close a specific window', async t => { const window1 = await t.openWindow('http://devexpress.com'); await t.closeWindow(window1); });
Detailed Diffs in Failed Assertions
β Test run reports now show the differences between an assertion's actual and expected values:
π [A report showing differences between asserted values](docs/articles/images/blog/2020-07-23-rich-diffs.png)
β TestCafe can display difference between values, arrays, objects, and even functions.
π Bug Fixes
- π§ TestCafe now throws a descriptive error when it attempts to start the browser UI on Linux without the X11 server (4461)
- π§ Exception no longer thrown when you use remote browsers on Linux without X11 or run Windows browsers from WSL2 (#4742)
- π Fixed a syntax error on pages whose code destructures empty function parameters (testcafe-hammerhead/#2391)
- π Fixed a bug when page titles were displayed incorrectly (testcafe-hammerhead/#2374)
-
v1.9.0-rc.2 Changes
August 05, 2020Whatβs Changed
- β Rephrase the assertion warning for ClientFunction; Bump version (v1.9.0-rc.2) (#5396) @AndreyBelym
- π Fix docker tests (#5392) @AndreyBelym
- β‘οΈ [docs] Update HTTPS guide (#5366) @DIRECTcut
- β [docs] Added GitHub actions+browserstack guide (#5344) @DIRECTcut
-
v1.9.0-rc.1 Changes
August 03, 2020Whatβs Changed
- β Rewrite test.js and fixture.js to typescript (#5311) @miherlosev
- β Add TS defs for the window management API (#5381) @AndreyBelym
- β Raise warnings when snapshot properties are passed to assertions (#5250) @Ogurecher
- β throw error on attempt to close last opened window (closes #5348) (#5359) @AlexKamaev
- β Enable multiwindow only for Chromium-based and Firefox (#5375) @AndreyBelym
- π '--allow-multiple-windows' to
--disable-multiple-windows
(#5346) @AlexKamaev - β [docs] Fix misprint in the setNativeDailogHandler reference (#5353) @AndreyBelym
- β [docs] Publish the Jenkins Plugin blog post (#5329) @titerman
- π§ Emit an error when runned on Linux without GUI (#5340) @wentwrong
- β [docs] Select timeout example (#5336) @DIRECTcut
- π move predicate to server side (#5316) @AlexKamaev
- β Adding detailed diffs (#5255) @Ogurecher
- β‘οΈ [docs] Update Travis docs to use headless browsers instead of xvfb (#5331) @DIRECTcut