testcafe 1.20.0-rc.1 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +88 -1
  2. package/README.md +38 -30
  3. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,6 +1,91 @@
1
1
  # Changelog
2
2
 
3
- ## TestCafe v1.19.0 released
3
+ ## v1.20.0 (2022-07-14)
4
+
5
+ > :warning:
6
+ > Warning: [Impending breaking change](#coming-in-testcafe-20-typescript-4).
7
+ > TestCafe v1.20 is the final version of the framework to support TypeScript 3.
8
+ > The next update will abandon TypeScript 3 in favor of TypeScript 4.
9
+
10
+ TestCafe v1.20.0 includes two major capabilities: an [API testing toolkit](#api-testing) and the ability to set a [global test page URL](#global-starting-url). Additionally, TestCafe 1.20.0 introduces experimental support for [Chrome User Flow Replays](#experimental-chrome-user-flow-replays), as well as a number of under-the-hood improvements.
11
+
12
+ ### API Testing
13
+
14
+ 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.
15
+
16
+ The new [Request](https://testcafe.io/documentation/403981/reference/test-api/testcontroller/request) test action executes an HTTP request and returns the server's response.
17
+
18
+ ```js
19
+ const responseBody = await t.request(`http://localhost:3000/helloworld`).body;
20
+
21
+ t.expect(responseBody).contains('Hello World') // true
22
+ ```
23
+
24
+ Read the [API Testing Guide](https://testcafe.io/documentation/403971/guides/intermediate-guides/api-testing) for a full overview of the framework's API testing capabilities.
25
+
26
+ ### Global starting URL
27
+
28
+ You can now define a [single starting URL](https://testcafe.io/documentation/402638/reference/configuration-file#baseurl) for all the tests in your test suite.
29
+
30
+ Declare the `baseUrl` in one of the following three ways:
31
+
32
+ * The [configuration file property](https://testcafe.io/documentation/402638/reference/configuration-file#baseurl)
33
+ * The [command line option](https://testcafe.io/documentation/402639/reference/command-line-interface#--base-url)
34
+ * The [Test Runner API option](https://testcafe.io/documentation/402655/reference/testcafe-api/runner/run)
35
+
36
+ Once you define a `baseUrl`, you can omit fixture and test URLs entirely, or define them relative to your `baseUrl`:
37
+
38
+ ```json
39
+ "baseUrl": "https://devexpress.github.io/testcafe"
40
+ ```
41
+
42
+ ```js
43
+ fixture`Test structure`
44
+ .page`./example`; // starts at https://devexpress.github.io/testcafe/example
45
+ ```
46
+
47
+ ### Experimental: Chrome User Flow Replays
48
+
49
+ TestCafe v1.20.0 introduces **experimental, limited** support for [Google Chrome user flow recordings](https://developer.chrome.com/docs/devtools/recorder/).
50
+
51
+ 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
52
+
53
+ Read the [User Flow Recordings](https://testcafe.io/documentation/403998/guides/experimental-capabilities/chrome-replay-support) guide to learn more.
54
+
55
+ ### Coming in TestCafe 2.0: TypeScript 4
56
+
57
+ The next version of TestCafe will adopt TypeScript 4 and lose compatibility with TypeScript 3.X.
58
+
59
+ To [indicate the breaking change](https://semver.org), we will increment the framework's major version number - from 1 to 2.
60
+
61
+ TestCafe 2.0 will be released later this month.
62
+
63
+ ### Improvements
64
+
65
+ * Better Google Chrome video capture
66
+
67
+ TestCafe v1.20.0 uses the [Screen Capture API](https://developer.mozilla.org/en-US/docs/Web/API/Screen_Capture_API/Using_Screen_Capture) to record videos of Google Chrome test runs. This results in a significantly better test recording framerate and image quality.
68
+
69
+ ![Screen capture comparison GIF](https://testcafe.io/images/release-notes/1-20-0-chrome-capture-sample-15fps.gif)
70
+
71
+
72
+ ### Bug Fixes
73
+
74
+ * When the `t.typeText` action raises an error, TestCafe mistakenly awaits the target element for the second time ([#6623](https://github.com/DevExpress/testcafe/issues/6623))
75
+
76
+ * Concurrent test runs do not always generate concurrent test run reports ([#7062](https://github.com/DevExpress/testcafe/issues/7062))
77
+
78
+ * TestCafe doesn't properly handle errors raised inside the `requestMock` function ([#6703](https://github.com/DevExpress/testcafe/issues/6703))
79
+
80
+ * The default terminal viewport width is too low for non-tty terminals (Issue [#5919](https://github.com/DevExpress/testcafe/issues/5919), [PR #6930](https://github.com/DevExpress/testcafe/pull/6930) by @PayBas)
81
+
82
+ * TestCafe cannot switch to an invisible iframe ([#4558](https://github.com/DevExpress/testcafe/issues/4558))
83
+
84
+ * Update incorrect TypeScript definitions ([PR #7069](https://github.com/DevExpress/testcafe/pull/7069) by @karolnowinsky)
85
+
86
+ * Some SVGs don't meet the visibility criteria ([#6998](https://github.com/DevExpress/testcafe/issues/6998))
87
+
88
+ ## v1.19.0 (2022-05-26)
4
89
 
5
90
  TestCafe v1.19.0 introduces three major capabilities: a [Cookie Management API](#cookie-management), suite-wide [test hooks](#global-test-hooks), and suite-wide [request hooks](#global-request-hooks).
6
91
 
@@ -61,7 +146,9 @@ Read the [Request Hooks guide](https://testcafe.io/documentation/402842/guides/a
61
146
  ### Bug Fixes
62
147
 
63
148
  * TestCafe ignores CLI browser arguments when they conflict with the configuration file ([#6618](https://github.com/DevExpress/testcafe/issues/6618))
149
+
64
150
  * The outdated `moment.js` dependency contains a critical vulnerability (PR [#6996](https://github.com/DevExpress/testcafe/pull/6996) by [@vergilfromadyen](https://github.com/vergilfromadyen))
151
+
65
152
  * TestCafe proxy doesn't always serve cookies with the `secure` attribute ([testcafe-hammerhead/#2715](https://github.com/DevExpress/testcafe-hammerhead/issues/2715))
66
153
 
67
154
  ## v1.18.6 (2022-04-18)
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <p align="center">
2
- <a href="https://testcafe.io/403442/resources/blog/2021-10-7-dashboard-alpha-invitation-announce?utm_source=github.com&utm_medium=referral&utm_campaign=tc-gh-banner">
3
- <img src="https://raw.github.com/DevExpress/testcafe/master/media/tda-banner.png" alt="Join TestCafe Dashboard “Alpha Test” Program" />
2
+ <a href="https://testcafe.io/surveys/open-source-feedback-2022">
3
+ <img src="https://raw.github.com/DevExpress/testcafe/master/media/2022-feedback-survey-banner.png" alt="2022 TestCafe Feedback Survey" />
4
4
  </a>
5
5
  </p>
6
6
 
@@ -200,61 +200,69 @@ Thank you to all the people who already contributed to TestCafe!
200
200
  :---: |:---: |:---: |:---: |:---: |:---: |
201
201
  [aha-oretama](https://github.com/aha-oretama) |[ai](https://github.com/ai) |[aleks-pro](https://github.com/aleks-pro) |[Aleksey28](https://github.com/Aleksey28) |[AlexanderMoiseev](https://github.com/AlexanderMoiseev) |[AlexanderMoskovkin](https://github.com/AlexanderMoskovkin) |
202
202
 
203
- [<img alt="alexey-lin" src="https://avatars.githubusercontent.com/u/13483856?v=4&s=117" width="117">](https://github.com/alexey-lin) |[<img alt="AlexKamaev" src="https://avatars.githubusercontent.com/u/1678902?v=4&s=117" width="117">](https://github.com/AlexKamaev) |[<img alt="AlexSkorkin" src="https://avatars.githubusercontent.com/u/995726?v=4&s=117" width="117">](https://github.com/AlexSkorkin) |[<img alt="alexwybraniec" src="https://avatars.githubusercontent.com/u/521536?v=4&s=117" width="117">](https://github.com/alexwybraniec) |[<img alt="andrewbranch" src="https://avatars.githubusercontent.com/u/3277153?v=4&s=117" width="117">](https://github.com/andrewbranch) |[<img alt="AndreyBelym" src="https://avatars.githubusercontent.com/u/4479386?v=4&s=117" width="117">](https://github.com/AndreyBelym) |
203
+ [<img alt="alexey-lin" src="https://avatars.githubusercontent.com/u/13483856?v=4&s=117" width="117">](https://github.com/alexey-lin) |[<img alt="AlexKamaev" src="https://avatars.githubusercontent.com/u/1678902?v=4&s=117" width="117">](https://github.com/AlexKamaev) |[<img alt="alexphilin" src="https://avatars.githubusercontent.com/u/20364443?v=4&s=117" width="117">](https://github.com/alexphilin) |[<img alt="AlexSkorkin" src="https://avatars.githubusercontent.com/u/995726?v=4&s=117" width="117">](https://github.com/AlexSkorkin) |[<img alt="alexwybraniec" src="https://avatars.githubusercontent.com/u/521536?v=4&s=117" width="117">](https://github.com/alexwybraniec) |[<img alt="AnastasiaIvanova8" src="https://avatars.githubusercontent.com/u/31988208?v=4&s=117" width="117">](https://github.com/AnastasiaIvanova8) |
204
204
  :---: |:---: |:---: |:---: |:---: |:---: |
205
- [alexey-lin](https://github.com/alexey-lin) |[AlexKamaev](https://github.com/AlexKamaev) |[AlexSkorkin](https://github.com/AlexSkorkin) |[alexwybraniec](https://github.com/alexwybraniec) |[andrewbranch](https://github.com/andrewbranch) |[AndreyBelym](https://github.com/AndreyBelym) |
205
+ [alexey-lin](https://github.com/alexey-lin) |[AlexKamaev](https://github.com/AlexKamaev) |[alexphilin](https://github.com/alexphilin) |[AlexSkorkin](https://github.com/AlexSkorkin) |[alexwybraniec](https://github.com/alexwybraniec) |[AnastasiaIvanova8](https://github.com/AnastasiaIvanova8) |
206
206
 
207
- [<img alt="AndyWendt" src="https://avatars.githubusercontent.com/u/6130713?v=4&s=117" width="117">](https://github.com/AndyWendt) |[<img alt="AnnaKondratova" src="https://avatars.githubusercontent.com/u/27012218?v=4&s=117" width="117">](https://github.com/AnnaKondratova) |[<img alt="anthophobiac" src="https://avatars.githubusercontent.com/u/16448031?v=4&s=117" width="117">](https://github.com/anthophobiac) |[<img alt="arubtsov" src="https://avatars.githubusercontent.com/u/10169557?v=4&s=117" width="117">](https://github.com/arubtsov) |[<img alt="augustomezencio-hotmart" src="https://avatars.githubusercontent.com/u/25016353?v=4&s=117" width="117">](https://github.com/augustomezencio-hotmart) |[<img alt="bdwain" src="https://avatars.githubusercontent.com/u/3982094?v=4&s=117" width="117">](https://github.com/bdwain) |
207
+ [<img alt="andrewbranch" src="https://avatars.githubusercontent.com/u/3277153?v=4&s=117" width="117">](https://github.com/andrewbranch) |[<img alt="AndreyBelym" src="https://avatars.githubusercontent.com/u/4479386?v=4&s=117" width="117">](https://github.com/AndreyBelym) |[<img alt="AndyWendt" src="https://avatars.githubusercontent.com/u/6130713?v=4&s=117" width="117">](https://github.com/AndyWendt) |[<img alt="AnnaKondratova" src="https://avatars.githubusercontent.com/u/27012218?v=4&s=117" width="117">](https://github.com/AnnaKondratova) |[<img alt="anthophobiac" src="https://avatars.githubusercontent.com/u/16448031?v=4&s=117" width="117">](https://github.com/anthophobiac) |[<img alt="Artem-Babich" src="https://avatars.githubusercontent.com/u/51639399?v=4&s=117" width="117">](https://github.com/Artem-Babich) |
208
208
  :---: |:---: |:---: |:---: |:---: |:---: |
209
- [AndyWendt](https://github.com/AndyWendt) |[AnnaKondratova](https://github.com/AnnaKondratova) |[anthophobiac](https://github.com/anthophobiac) |[arubtsov](https://github.com/arubtsov) |[augustomezencio-hotmart](https://github.com/augustomezencio-hotmart) |[bdwain](https://github.com/bdwain) |
209
+ [andrewbranch](https://github.com/andrewbranch) |[AndreyBelym](https://github.com/AndreyBelym) |[AndyWendt](https://github.com/AndyWendt) |[AnnaKondratova](https://github.com/AnnaKondratova) |[anthophobiac](https://github.com/anthophobiac) |[Artem-Babich](https://github.com/Artem-Babich) |
210
210
 
211
- [<img alt="benmonro" src="https://avatars.githubusercontent.com/u/399236?v=4&s=117" width="117">](https://github.com/benmonro) |[<img alt="beyondcompute" src="https://avatars.githubusercontent.com/u/248055?v=4&s=117" width="117">](https://github.com/beyondcompute) |[<img alt="bill-looby-i" src="https://avatars.githubusercontent.com/u/51128939?v=4&s=117" width="117">](https://github.com/bill-looby-i) |[<img alt="bsmithb2" src="https://avatars.githubusercontent.com/u/1773789?v=4&s=117" width="117">](https://github.com/bsmithb2) |[<img alt="caseyWebb" src="https://avatars.githubusercontent.com/u/5419074?v=4&s=117" width="117">](https://github.com/caseyWebb) |[<img alt="cdrini" src="https://avatars.githubusercontent.com/u/6251786?v=4&s=117" width="117">](https://github.com/cdrini) |
211
+ [<img alt="Arthy000" src="https://avatars.githubusercontent.com/u/1800622?v=4&s=117" width="117">](https://github.com/Arthy000) |[<img alt="augustomezencio-hotmart" src="https://avatars.githubusercontent.com/u/25016353?v=4&s=117" width="117">](https://github.com/augustomezencio-hotmart) |[<img alt="bdwain" src="https://avatars.githubusercontent.com/u/3982094?v=4&s=117" width="117">](https://github.com/bdwain) |[<img alt="benmonro" src="https://avatars.githubusercontent.com/u/399236?v=4&s=117" width="117">](https://github.com/benmonro) |[<img alt="beyondcompute" src="https://avatars.githubusercontent.com/u/248055?v=4&s=117" width="117">](https://github.com/beyondcompute) |[<img alt="bill-looby-i" src="https://avatars.githubusercontent.com/u/51128939?v=4&s=117" width="117">](https://github.com/bill-looby-i) |
212
212
  :---: |:---: |:---: |:---: |:---: |:---: |
213
- [benmonro](https://github.com/benmonro) |[beyondcompute](https://github.com/beyondcompute) |[bill-looby-i](https://github.com/bill-looby-i) |[bsmithb2](https://github.com/bsmithb2) |[caseyWebb](https://github.com/caseyWebb) |[cdrini](https://github.com/cdrini) |
213
+ [Arthy000](https://github.com/Arthy000) |[augustomezencio-hotmart](https://github.com/augustomezencio-hotmart) |[bdwain](https://github.com/bdwain) |[benmonro](https://github.com/benmonro) |[beyondcompute](https://github.com/beyondcompute) |[bill-looby-i](https://github.com/bill-looby-i) |
214
214
 
215
- [<img alt="cgfarmer4" src="https://avatars.githubusercontent.com/u/336449?v=4&s=117" width="117">](https://github.com/cgfarmer4) |[<img alt="Chris-Greaves" src="https://avatars.githubusercontent.com/u/28542943?v=4&s=117" width="117">](https://github.com/Chris-Greaves) |[<img alt="churkin" src="https://avatars.githubusercontent.com/u/5182202?v=4&s=117" width="117">](https://github.com/churkin) |[<img alt="dej611" src="https://avatars.githubusercontent.com/u/924948?v=4&s=117" width="117">](https://github.com/dej611) |[<img alt="DIRECTcut" src="https://avatars.githubusercontent.com/u/49588154?v=4&s=117" width="117">](https://github.com/DIRECTcut) |[<img alt="Dmitry-Ostashev" src="https://avatars.githubusercontent.com/u/24777868?v=4&s=117" width="117">](https://github.com/Dmitry-Ostashev) |
215
+ [<img alt="bsmithb2" src="https://avatars.githubusercontent.com/u/1773789?v=4&s=117" width="117">](https://github.com/bsmithb2) |[<img alt="caseyWebb" src="https://avatars.githubusercontent.com/u/5419074?v=4&s=117" width="117">](https://github.com/caseyWebb) |[<img alt="cdrini" src="https://avatars.githubusercontent.com/u/6251786?v=4&s=117" width="117">](https://github.com/cdrini) |[<img alt="cgfarmer4" src="https://avatars.githubusercontent.com/u/336449?v=4&s=117" width="117">](https://github.com/cgfarmer4) |[<img alt="Chris-Greaves" src="https://avatars.githubusercontent.com/u/28542943?v=4&s=117" width="117">](https://github.com/Chris-Greaves) |[<img alt="churkin" src="https://avatars.githubusercontent.com/u/5182202?v=4&s=117" width="117">](https://github.com/churkin) |
216
216
  :---: |:---: |:---: |:---: |:---: |:---: |
217
- [cgfarmer4](https://github.com/cgfarmer4) |[Chris-Greaves](https://github.com/Chris-Greaves) |[churkin](https://github.com/churkin) |[dej611](https://github.com/dej611) |[DIRECTcut](https://github.com/DIRECTcut) |[Dmitry-Ostashev](https://github.com/Dmitry-Ostashev) |
217
+ [bsmithb2](https://github.com/bsmithb2) |[caseyWebb](https://github.com/caseyWebb) |[cdrini](https://github.com/cdrini) |[cgfarmer4](https://github.com/cgfarmer4) |[Chris-Greaves](https://github.com/Chris-Greaves) |[churkin](https://github.com/churkin) |
218
218
 
219
- [<img alt="eignatyev" src="https://avatars.githubusercontent.com/u/12494773?v=4&s=117" width="117">](https://github.com/eignatyev) |[<img alt="ericyd" src="https://avatars.githubusercontent.com/u/8379268?v=4&s=117" width="117">](https://github.com/ericyd) |[<img alt="Farfurix" src="https://avatars.githubusercontent.com/u/30019338?v=4&s=117" width="117">](https://github.com/Farfurix) |[<img alt="flora8984461" src="https://avatars.githubusercontent.com/u/39588094?v=4&s=117" width="117">](https://github.com/flora8984461) |[<img alt="GeoffreyBooth" src="https://avatars.githubusercontent.com/u/456802?v=4&s=117" width="117">](https://github.com/GeoffreyBooth) |[<img alt="helen-dikareva" src="https://avatars.githubusercontent.com/u/12034551?v=4&s=117" width="117">](https://github.com/helen-dikareva) |
219
+ [<img alt="dej611" src="https://avatars.githubusercontent.com/u/924948?v=4&s=117" width="117">](https://github.com/dej611) |[<img alt="DIRECTcut" src="https://avatars.githubusercontent.com/u/49588154?v=4&s=117" width="117">](https://github.com/DIRECTcut) |[<img alt="Dmitry-Ostashev" src="https://avatars.githubusercontent.com/u/24777868?v=4&s=117" width="117">](https://github.com/Dmitry-Ostashev) |[<img alt="eignatyev" src="https://avatars.githubusercontent.com/u/12494773?v=4&s=117" width="117">](https://github.com/eignatyev) |[<img alt="ericyd" src="https://avatars.githubusercontent.com/u/8379268?v=4&s=117" width="117">](https://github.com/ericyd) |[<img alt="Farfurix" src="https://avatars.githubusercontent.com/u/30019338?v=4&s=117" width="117">](https://github.com/Farfurix) |
220
220
  :---: |:---: |:---: |:---: |:---: |:---: |
221
- [eignatyev](https://github.com/eignatyev) |[ericyd](https://github.com/ericyd) |[Farfurix](https://github.com/Farfurix) |[flora8984461](https://github.com/flora8984461) |[GeoffreyBooth](https://github.com/GeoffreyBooth) |[helen-dikareva](https://github.com/helen-dikareva) |
221
+ [dej611](https://github.com/dej611) |[DIRECTcut](https://github.com/DIRECTcut) |[Dmitry-Ostashev](https://github.com/Dmitry-Ostashev) |[eignatyev](https://github.com/eignatyev) |[ericyd](https://github.com/ericyd) |[Farfurix](https://github.com/Farfurix) |
222
222
 
223
- [<img alt="honsq90" src="https://avatars.githubusercontent.com/u/1791439?v=4&s=117" width="117">](https://github.com/honsq90) |[<img alt="infctr" src="https://avatars.githubusercontent.com/u/15550153?v=4&s=117" width="117">](https://github.com/infctr) |[<img alt="inikulin" src="https://avatars.githubusercontent.com/u/453071?v=4&s=117" width="117">](https://github.com/inikulin) |[<img alt="Ivan-Katovich" src="https://avatars.githubusercontent.com/u/7858279?v=4&s=117" width="117">](https://github.com/Ivan-Katovich) |[<img alt="jamesgeorge007" src="https://avatars.githubusercontent.com/u/25279263?v=4&s=117" width="117">](https://github.com/jamesgeorge007) |[<img alt="jaypea" src="https://avatars.githubusercontent.com/u/367199?v=4&s=117" width="117">](https://github.com/jaypea) |
223
+ [<img alt="flora8984461" src="https://avatars.githubusercontent.com/u/39588094?v=4&s=117" width="117">](https://github.com/flora8984461) |[<img alt="GeoffreyBooth" src="https://avatars.githubusercontent.com/u/456802?v=4&s=117" width="117">](https://github.com/GeoffreyBooth) |[<img alt="helen-dikareva" src="https://avatars.githubusercontent.com/u/12034551?v=4&s=117" width="117">](https://github.com/helen-dikareva) |[<img alt="honsq90" src="https://avatars.githubusercontent.com/u/1791439?v=4&s=117" width="117">](https://github.com/honsq90) |[<img alt="infctr" src="https://avatars.githubusercontent.com/u/15550153?v=4&s=117" width="117">](https://github.com/infctr) |[<img alt="inikulin" src="https://avatars.githubusercontent.com/u/453071?v=4&s=117" width="117">](https://github.com/inikulin) |
224
224
  :---: |:---: |:---: |:---: |:---: |:---: |
225
- [honsq90](https://github.com/honsq90) |[infctr](https://github.com/infctr) |[inikulin](https://github.com/inikulin) |[Ivan-Katovich](https://github.com/Ivan-Katovich) |[jamesgeorge007](https://github.com/jamesgeorge007) |[jaypea](https://github.com/jaypea) |
225
+ [flora8984461](https://github.com/flora8984461) |[GeoffreyBooth](https://github.com/GeoffreyBooth) |[helen-dikareva](https://github.com/helen-dikareva) |[honsq90](https://github.com/honsq90) |[infctr](https://github.com/infctr) |[inikulin](https://github.com/inikulin) |
226
226
 
227
- [<img alt="kanhaiya15" src="https://avatars.githubusercontent.com/u/38152453?v=4&s=117" width="117">](https://github.com/kanhaiya15) |[<img alt="kirovboris" src="https://avatars.githubusercontent.com/u/3633477?v=4&s=117" width="117">](https://github.com/kirovboris) |[<img alt="kisrefod" src="https://avatars.githubusercontent.com/u/27427579?v=4&s=117" width="117">](https://github.com/kisrefod) |[<img alt="kubejm" src="https://avatars.githubusercontent.com/u/8680565?v=4&s=117" width="117">](https://github.com/kubejm) |[<img alt="LavrovArtem" src="https://avatars.githubusercontent.com/u/5373460?v=4&s=117" width="117">](https://github.com/LavrovArtem) |[<img alt="link89" src="https://avatars.githubusercontent.com/u/3314130?v=4&s=117" width="117">](https://github.com/link89) |
227
+ [<img alt="Ivan-Katovich" src="https://avatars.githubusercontent.com/u/7858279?v=4&s=117" width="117">](https://github.com/Ivan-Katovich) |[<img alt="jamesgeorge007" src="https://avatars.githubusercontent.com/u/25279263?v=4&s=117" width="117">](https://github.com/jamesgeorge007) |[<img alt="jaypea" src="https://avatars.githubusercontent.com/u/367199?v=4&s=117" width="117">](https://github.com/jaypea) |[<img alt="josephmalam" src="https://avatars.githubusercontent.com/u/47305920?v=4&s=117" width="117">](https://github.com/josephmalam) |[<img alt="kanhaiya15" src="https://avatars.githubusercontent.com/u/38152453?v=4&s=117" width="117">](https://github.com/kanhaiya15) |[<img alt="karolnowinski" src="https://avatars.githubusercontent.com/u/28826226?v=4&s=117" width="117">](https://github.com/karolnowinski) |
228
228
  :---: |:---: |:---: |:---: |:---: |:---: |
229
- [kanhaiya15](https://github.com/kanhaiya15) |[kirovboris](https://github.com/kirovboris) |[kisrefod](https://github.com/kisrefod) |[kubejm](https://github.com/kubejm) |[LavrovArtem](https://github.com/LavrovArtem) |[link89](https://github.com/link89) |
229
+ [Ivan-Katovich](https://github.com/Ivan-Katovich) |[jamesgeorge007](https://github.com/jamesgeorge007) |[jaypea](https://github.com/jaypea) |[josephmalam](https://github.com/josephmalam) |[kanhaiya15](https://github.com/kanhaiya15) |[karolnowinski](https://github.com/karolnowinski) |
230
230
 
231
- [<img alt="lzxb" src="https://avatars.githubusercontent.com/u/8424643?v=4&s=117" width="117">](https://github.com/lzxb) |[<img alt="macdonaldr93" src="https://avatars.githubusercontent.com/u/5184848?v=4&s=117" width="117">](https://github.com/macdonaldr93) |[<img alt="MargaritaLoseva" src="https://avatars.githubusercontent.com/u/12034505?v=4&s=117" width="117">](https://github.com/MargaritaLoseva) |[<img alt="Marketionist" src="https://avatars.githubusercontent.com/u/534603?v=4&s=117" width="117">](https://github.com/Marketionist) |[<img alt="MatthewNielsen27" src="https://avatars.githubusercontent.com/u/35040439?v=4&s=117" width="117">](https://github.com/MatthewNielsen27) |[<img alt="mattmanske" src="https://avatars.githubusercontent.com/u/2078566?v=4&s=117" width="117">](https://github.com/mattmanske) |
231
+ [<img alt="kirovboris" src="https://avatars.githubusercontent.com/u/3633477?v=4&s=117" width="117">](https://github.com/kirovboris) |[<img alt="kisrefod" src="https://avatars.githubusercontent.com/u/27427579?v=4&s=117" width="117">](https://github.com/kisrefod) |[<img alt="LavrovArtem" src="https://avatars.githubusercontent.com/u/5373460?v=4&s=117" width="117">](https://github.com/LavrovArtem) |[<img alt="link89" src="https://avatars.githubusercontent.com/u/3314130?v=4&s=117" width="117">](https://github.com/link89) |[<img alt="lzxb" src="https://avatars.githubusercontent.com/u/8424643?v=4&s=117" width="117">](https://github.com/lzxb) |[<img alt="macdonaldr93" src="https://avatars.githubusercontent.com/u/5184848?v=4&s=117" width="117">](https://github.com/macdonaldr93) |
232
232
  :---: |:---: |:---: |:---: |:---: |:---: |
233
- [lzxb](https://github.com/lzxb) |[macdonaldr93](https://github.com/macdonaldr93) |[MargaritaLoseva](https://github.com/MargaritaLoseva) |[Marketionist](https://github.com/Marketionist) |[MatthewNielsen27](https://github.com/MatthewNielsen27) |[mattmanske](https://github.com/mattmanske) |
233
+ [kirovboris](https://github.com/kirovboris) |[kisrefod](https://github.com/kisrefod) |[LavrovArtem](https://github.com/LavrovArtem) |[link89](https://github.com/link89) |[lzxb](https://github.com/lzxb) |[macdonaldr93](https://github.com/macdonaldr93) |
234
234
 
235
- [<img alt="mcjim" src="https://avatars.githubusercontent.com/u/485440?v=4&s=117" width="117">](https://github.com/mcjim) |[<img alt="miherlosev" src="https://avatars.githubusercontent.com/u/4133518?v=4&s=117" width="117">](https://github.com/miherlosev) |[<img alt="morfey13" src="https://avatars.githubusercontent.com/u/2048346?v=4&s=117" width="117">](https://github.com/morfey13) |[<img alt="mostlyfabulous" src="https://avatars.githubusercontent.com/u/15062048?v=4&s=117" width="117">](https://github.com/mostlyfabulous) |[<img alt="murajun1978" src="https://avatars.githubusercontent.com/u/911903?v=4&s=117" width="117">](https://github.com/murajun1978) |[<img alt="NickCis" src="https://avatars.githubusercontent.com/u/174561?v=4&s=117" width="117">](https://github.com/NickCis) |
235
+ [<img alt="MargaritaLoseva" src="https://avatars.githubusercontent.com/u/12034505?v=4&s=117" width="117">](https://github.com/MargaritaLoseva) |[<img alt="Marketionist" src="https://avatars.githubusercontent.com/u/534603?v=4&s=117" width="117">](https://github.com/Marketionist) |[<img alt="MatthewNielsen27" src="https://avatars.githubusercontent.com/u/35040439?v=4&s=117" width="117">](https://github.com/MatthewNielsen27) |[<img alt="mattkubej" src="https://avatars.githubusercontent.com/u/86790511?v=4&s=117" width="117">](https://github.com/mattkubej) |[<img alt="mattmanske" src="https://avatars.githubusercontent.com/u/2078566?v=4&s=117" width="117">](https://github.com/mattmanske) |[<img alt="mcjim" src="https://avatars.githubusercontent.com/u/485440?v=4&s=117" width="117">](https://github.com/mcjim) |
236
236
  :---: |:---: |:---: |:---: |:---: |:---: |
237
- [mcjim](https://github.com/mcjim) |[miherlosev](https://github.com/miherlosev) |[morfey13](https://github.com/morfey13) |[mostlyfabulous](https://github.com/mostlyfabulous) |[murajun1978](https://github.com/murajun1978) |[NickCis](https://github.com/NickCis) |
237
+ [MargaritaLoseva](https://github.com/MargaritaLoseva) |[Marketionist](https://github.com/Marketionist) |[MatthewNielsen27](https://github.com/MatthewNielsen27) |[mattkubej](https://github.com/mattkubej) |[mattmanske](https://github.com/mattmanske) |[mcjim](https://github.com/mcjim) |
238
238
 
239
- [<img alt="Nuarat" src="https://avatars.githubusercontent.com/u/11683678?v=4&s=117" width="117">](https://github.com/Nuarat) |[<img alt="Ogurecher" src="https://avatars.githubusercontent.com/u/28919867?v=4&s=117" width="117">](https://github.com/Ogurecher) |[<img alt="pietrovich" src="https://avatars.githubusercontent.com/u/1728613?v=4&s=117" width="117">](https://github.com/pietrovich) |[<img alt="radarhere" src="https://avatars.githubusercontent.com/u/3112309?v=4&s=117" width="117">](https://github.com/radarhere) |[<img alt="raspo" src="https://avatars.githubusercontent.com/u/927264?v=4&s=117" width="117">](https://github.com/raspo) |[<img alt="rbardini" src="https://avatars.githubusercontent.com/u/874370?v=4&s=117" width="117">](https://github.com/rbardini) |
239
+ [<img alt="miherlosev" src="https://avatars.githubusercontent.com/u/4133518?v=4&s=117" width="117">](https://github.com/miherlosev) |[<img alt="morfey13" src="https://avatars.githubusercontent.com/u/2048346?v=4&s=117" width="117">](https://github.com/morfey13) |[<img alt="mostlyfabulous" src="https://avatars.githubusercontent.com/u/15062048?v=4&s=117" width="117">](https://github.com/mostlyfabulous) |[<img alt="murajun1978" src="https://avatars.githubusercontent.com/u/911903?v=4&s=117" width="117">](https://github.com/murajun1978) |[<img alt="NickCis" src="https://avatars.githubusercontent.com/u/174561?v=4&s=117" width="117">](https://github.com/NickCis) |[<img alt="Nuarat" src="https://avatars.githubusercontent.com/u/11683678?v=4&s=117" width="117">](https://github.com/Nuarat) |
240
240
  :---: |:---: |:---: |:---: |:---: |:---: |
241
- [Nuarat](https://github.com/Nuarat) |[Ogurecher](https://github.com/Ogurecher) |[pietrovich](https://github.com/pietrovich) |[radarhere](https://github.com/radarhere) |[raspo](https://github.com/raspo) |[rbardini](https://github.com/rbardini) |
241
+ [miherlosev](https://github.com/miherlosev) |[morfey13](https://github.com/morfey13) |[mostlyfabulous](https://github.com/mostlyfabulous) |[murajun1978](https://github.com/murajun1978) |[NickCis](https://github.com/NickCis) |[Nuarat](https://github.com/Nuarat) |
242
242
 
243
- [<img alt="renancouto" src="https://avatars.githubusercontent.com/u/230893?v=4&s=117" width="117">](https://github.com/renancouto) |[<img alt="rob4629" src="https://avatars.githubusercontent.com/u/37812673?v=4&s=117" width="117">](https://github.com/rob4629) |[<img alt="rueyaa332266" src="https://avatars.githubusercontent.com/u/8298718?v=4&s=117" width="117">](https://github.com/rueyaa332266) |[<img alt="sgrillon14" src="https://avatars.githubusercontent.com/u/5530550?v=4&s=117" width="117">](https://github.com/sgrillon14) |[<img alt="smockle" src="https://avatars.githubusercontent.com/u/3104489?v=4&s=117" width="117">](https://github.com/smockle) |[<img alt="stefanschenk" src="https://avatars.githubusercontent.com/u/12391671?v=4&s=117" width="117">](https://github.com/stefanschenk) |
243
+ [<img alt="Ogurecher" src="https://avatars.githubusercontent.com/u/28919867?v=4&s=117" width="117">](https://github.com/Ogurecher) |[<img alt="PayBas" src="https://avatars.githubusercontent.com/u/3015760?v=4&s=117" width="117">](https://github.com/PayBas) |[<img alt="pgorny" src="https://avatars.githubusercontent.com/u/70758186?v=4&s=117" width="117">](https://github.com/pgorny) |[<img alt="pietrovich" src="https://avatars.githubusercontent.com/u/1728613?v=4&s=117" width="117">](https://github.com/pietrovich) |[<img alt="radarhere" src="https://avatars.githubusercontent.com/u/3112309?v=4&s=117" width="117">](https://github.com/radarhere) |[<img alt="raspo" src="https://avatars.githubusercontent.com/u/927264?v=4&s=117" width="117">](https://github.com/raspo) |
244
244
  :---: |:---: |:---: |:---: |:---: |:---: |
245
- [renancouto](https://github.com/renancouto) |[rob4629](https://github.com/rob4629) |[rueyaa332266](https://github.com/rueyaa332266) |[sgrillon14](https://github.com/sgrillon14) |[smockle](https://github.com/smockle) |[stefanschenk](https://github.com/stefanschenk) |
245
+ [Ogurecher](https://github.com/Ogurecher) |[PayBas](https://github.com/PayBas) |[pgorny](https://github.com/pgorny) |[pietrovich](https://github.com/pietrovich) |[radarhere](https://github.com/radarhere) |[raspo](https://github.com/raspo) |
246
246
 
247
- [<img alt="superroma" src="https://avatars.githubusercontent.com/u/8553464?v=4&s=117" width="117">](https://github.com/superroma) |[<img alt="sylbru" src="https://avatars.githubusercontent.com/u/3757523?v=4&s=117" width="117">](https://github.com/sylbru) |[<img alt="taiki-fw" src="https://avatars.githubusercontent.com/u/43266182?v=4&s=117" width="117">](https://github.com/taiki-fw) |[<img alt="theghostbel" src="https://avatars.githubusercontent.com/u/482899?v=4&s=117" width="117">](https://github.com/theghostbel) |[<img alt="titerman" src="https://avatars.githubusercontent.com/u/43554315?v=4&s=117" width="117">](https://github.com/titerman) |[<img alt="tobiasbueschel" src="https://avatars.githubusercontent.com/u/13087421?v=4&s=117" width="117">](https://github.com/tobiasbueschel) |
247
+ [<img alt="rbardini" src="https://avatars.githubusercontent.com/u/874370?v=4&s=117" width="117">](https://github.com/rbardini) |[<img alt="renancouto" src="https://avatars.githubusercontent.com/u/230893?v=4&s=117" width="117">](https://github.com/renancouto) |[<img alt="rob4629" src="https://avatars.githubusercontent.com/u/37812673?v=4&s=117" width="117">](https://github.com/rob4629) |[<img alt="rueyaa332266" src="https://avatars.githubusercontent.com/u/8298718?v=4&s=117" width="117">](https://github.com/rueyaa332266) |[<img alt="sgrillon14" src="https://avatars.githubusercontent.com/u/5530550?v=4&s=117" width="117">](https://github.com/sgrillon14) |[<img alt="smockle" src="https://avatars.githubusercontent.com/u/3104489?v=4&s=117" width="117">](https://github.com/smockle) |
248
248
  :---: |:---: |:---: |:---: |:---: |:---: |
249
- [superroma](https://github.com/superroma) |[sylbru](https://github.com/sylbru) |[taiki-fw](https://github.com/taiki-fw) |[theghostbel](https://github.com/theghostbel) |[titerman](https://github.com/titerman) |[tobiasbueschel](https://github.com/tobiasbueschel) |
249
+ [rbardini](https://github.com/rbardini) |[renancouto](https://github.com/renancouto) |[rob4629](https://github.com/rob4629) |[rueyaa332266](https://github.com/rueyaa332266) |[sgrillon14](https://github.com/sgrillon14) |[smockle](https://github.com/smockle) |
250
250
 
251
- [<img alt="intermike" src="https://avatars0.githubusercontent.com/u/10540148?v=4&s=117" width="117">](https://github.com/intermike) |[<img alt="DevSide" src="https://avatars2.githubusercontent.com/u/6873926?v=4&s=117" width="117">](https://github.com/DevSide) |[<img alt="b12031106" src="https://avatars1.githubusercontent.com/u/2063566?v=4&s=117" width="117">](https://github.com/b12031106) |[<img alt="tomashanacek" src="https://avatars2.githubusercontent.com/u/1244486?v=4&s=117" width="117">](https://github.com/tomashanacek) |[<img alt="danielroe" src="https://avatars1.githubusercontent.com/u/28706372?v=4&s=117" width="117">](https://github.com/danielroe) |[<img alt="michaelficarra" src="https://avatars.githubusercontent.com/u/218840?v=4&s=117" width="117">](https://github.com/michaelficarra)
251
+ [<img alt="stefanschenk" src="https://avatars.githubusercontent.com/u/12391671?v=4&s=117" width="117">](https://github.com/stefanschenk) |[<img alt="superroma" src="https://avatars.githubusercontent.com/u/8553464?v=4&s=117" width="117">](https://github.com/superroma) |[<img alt="sylbru" src="https://avatars.githubusercontent.com/u/3757523?v=4&s=117" width="117">](https://github.com/sylbru) |[<img alt="taiki-fw" src="https://avatars.githubusercontent.com/u/43266182?v=4&s=117" width="117">](https://github.com/taiki-fw) |[<img alt="testcafe-build-bot" src="https://avatars.githubusercontent.com/u/13555664?v=4&s=117" width="117">](https://github.com/testcafe-build-bot) |[<img alt="theghostbel" src="https://avatars.githubusercontent.com/u/482899?v=4&s=117" width="117">](https://github.com/theghostbel) |
252
252
  :---: |:---: |:---: |:---: |:---: |:---: |
253
- [intermike](https://github.com/intermike) |[DevSide](https://github.com/DevSide) |[b12031106](https://github.com/b12031106) |[tomashanacek](https://github.com/tomashanacek) |[danielroe](https://github.com/danielroe) |[michaelficarra](https://github.com/michaelficarra)
253
+ [stefanschenk](https://github.com/stefanschenk) |[superroma](https://github.com/superroma) |[sylbru](https://github.com/sylbru) |[taiki-fw](https://github.com/taiki-fw) |[testcafe-build-bot](https://github.com/testcafe-build-bot) |[theghostbel](https://github.com/theghostbel) |
254
254
 
255
- [<img alt="varunkumar" src="https://avatars.githubusercontent.com/u/509433?v=4&s=117" width="117">](https://github.com/varunkumar) |[<img alt="VasilyStrelyaev" src="https://avatars.githubusercontent.com/u/11459924?v=4&s=117" width="117">](https://github.com/VasilyStrelyaev) |[<img alt="vitalics" src="https://avatars.githubusercontent.com/u/8816260?v=4&s=117" width="117">](https://github.com/vitalics) |[<img alt="Vla8islav" src="https://avatars.githubusercontent.com/u/1637557?v=4&s=117" width="117">](https://github.com/Vla8islav) |[<img alt="wentwrong" src="https://avatars.githubusercontent.com/u/26363017?v=4&s=117" width="117">](https://github.com/wentwrong) |
255
+ [<img alt="titerman" src="https://avatars.githubusercontent.com/u/43554315?v=4&s=117" width="117">](https://github.com/titerman) |[<img alt="tobiasbueschel" src="https://avatars.githubusercontent.com/u/13087421?v=4&s=117" width="117">](https://github.com/tobiasbueschel) |[<img alt="varunkumar" src="https://avatars.githubusercontent.com/u/509433?v=4&s=117" width="117">](https://github.com/varunkumar) |[<img alt="VasilyStrelyaev" src="https://avatars.githubusercontent.com/u/11459924?v=4&s=117" width="117">](https://github.com/VasilyStrelyaev) |[<img alt="vitalics" src="https://avatars.githubusercontent.com/u/8816260?v=4&s=117" width="117">](https://github.com/vitalics) |[<img alt="Vla8islav" src="https://avatars.githubusercontent.com/u/1637557?v=4&s=117" width="117">](https://github.com/Vla8islav) |
256
+ :---: |:---: |:---: |:---: |:---: |:---: |
257
+ [titerman](https://github.com/titerman) |[tobiasbueschel](https://github.com/tobiasbueschel) |[varunkumar](https://github.com/varunkumar) |[VasilyStrelyaev](https://github.com/VasilyStrelyaev) |[vitalics](https://github.com/vitalics) |[Vla8islav](https://github.com/Vla8islav) |
258
+
259
+ [<img alt="wentwrong" src="https://avatars.githubusercontent.com/u/26363017?v=4&s=117" width="117">](https://github.com/wentwrong) |[<img alt="b12031106" src="https://avatars.githubusercontent.com/u/2063566?v=4&s=117" width="117">](https://github.com/b12031106) |[<img alt="danielroe" src="https://avatars.githubusercontent.com/u/28706372?v=4&s=117" width="117">](https://github.com/danielroe) |[<img alt="danieltroger" src="https://avatars.githubusercontent.com/u/4047180?v=4&s=117" width="117">](https://github.com/danieltroger) |[<img alt="DevSide" src="https://avatars.githubusercontent.com/u/6873926?v=4&s=117" width="117">](https://github.com/DevSide) |[<img alt="intermike" src="https://avatars.githubusercontent.com/u/10540148?v=4&s=117" width="117">](https://github.com/intermike) |
260
+ :---: |:---: |:---: |:---: |:---: |:---: |
261
+ [wentwrong](https://github.com/wentwrong) |[b12031106](https://github.com/b12031106) |[danielroe](https://github.com/danielroe) |[danieltroger](https://github.com/danieltroger) |[DevSide](https://github.com/DevSide) |[intermike](https://github.com/intermike) |
262
+
263
+ [<img alt="kirillsalikhov" src="https://avatars.githubusercontent.com/u/1948153?v=4&s=117" width="117">](https://github.com/kirillsalikhov) |[<img alt="michaelficarra" src="https://avatars.githubusercontent.com/u/218840?v=4&s=117" width="117">](https://github.com/michaelficarra) |[<img alt="rr13k" src="https://avatars.githubusercontent.com/u/45162461?v=4&s=117" width="117">](https://github.com/rr13k) |[<img alt="tomashanacek" src="https://avatars.githubusercontent.com/u/1244486?v=4&s=117" width="117">](https://github.com/tomashanacek) |[<img alt="TrevorKarjanis" src="https://avatars.githubusercontent.com/u/2351292?v=4&s=117" width="117">](https://github.com/TrevorKarjanis) |
256
264
  :---: |:---: |:---: |:---: |:---: |
257
- [varunkumar](https://github.com/varunkumar) |[VasilyStrelyaev](https://github.com/VasilyStrelyaev) |[vitalics](https://github.com/vitalics) |[Vla8islav](https://github.com/Vla8islav) |[wentwrong](https://github.com/wentwrong) |
265
+ [kirillsalikhov](https://github.com/kirillsalikhov) |[michaelficarra](https://github.com/michaelficarra) |[rr13k](https://github.com/rr13k) |[tomashanacek](https://github.com/tomashanacek) |[TrevorKarjanis](https://github.com/TrevorKarjanis) |
258
266
 
259
267
  ## Plugins
260
268
 
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "testcafe",
3
3
  "description": "Automated browser testing for the modern web development stack.",
4
4
  "license": "MIT",
5
- "version": "1.20.0-rc.1",
5
+ "version": "1.20.0",
6
6
  "author": {
7
7
  "name": "Developer Express Inc.",
8
8
  "url": "https://www.devexpress.com/"