codeceptjs 3.5.9-beta.2 → 3.5.10
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.
- package/README.md +14 -16
- package/docs/build/Appium.js +7 -7
- package/docs/build/Playwright.js +53 -13
- package/docs/build/Puppeteer.js +36 -20
- package/docs/build/WebDriver.js +23 -2
- package/docs/helpers/Appium.md +1 -1
- package/docs/helpers/Playwright.md +30 -0
- package/docs/helpers/Puppeteer.md +15 -0
- package/docs/helpers/WebDriver.md +15 -0
- package/docs/internal-api.md +0 -110
- package/docs/parallel.md +114 -2
- package/docs/webapi/grabWebElement.mustache +9 -0
- package/docs/webapi/grabWebElements.mustache +9 -0
- package/lib/ai.js +12 -3
- package/lib/colorUtils.js +10 -0
- package/lib/helper/Appium.js +3 -3
- package/lib/helper/Playwright.js +25 -12
- package/lib/helper/Puppeteer.js +25 -22
- package/lib/helper/WebDriver.js +8 -0
- package/lib/html.js +3 -3
- package/lib/pause.js +6 -3
- package/lib/plugin/heal.js +40 -7
- package/lib/recorder.js +12 -5
- package/package.json +14 -11
- package/typings/promiseBasedTypes.d.ts +45 -1
- package/typings/types.d.ts +46 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeceptjs",
|
|
3
|
-
"version": "3.5.
|
|
3
|
+
"version": "3.5.10",
|
|
4
4
|
"description": "Supercharged End 2 End Testing Framework for NodeJS",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"acceptance",
|
|
@@ -59,7 +59,8 @@
|
|
|
59
59
|
"publish:site": "./runok.js publish:site",
|
|
60
60
|
"update-contributor-faces": "./runok.js contributor:faces",
|
|
61
61
|
"dtslint": "dtslint typings --localTs './node_modules/typescript/lib'",
|
|
62
|
-
"prepare": "husky install"
|
|
62
|
+
"prepare": "husky install",
|
|
63
|
+
"prepare-release": "./runok.js versioning && ./runok.js get:commit-log"
|
|
63
64
|
},
|
|
64
65
|
"dependencies": {
|
|
65
66
|
"@codeceptjs/configure": "0.10.0",
|
|
@@ -68,9 +69,9 @@
|
|
|
68
69
|
"@cucumber/gherkin": "26",
|
|
69
70
|
"@cucumber/messages": "22.0.0",
|
|
70
71
|
"@xmldom/xmldom": "0.8.10",
|
|
71
|
-
"acorn": "8.
|
|
72
|
+
"acorn": "8.11.2",
|
|
72
73
|
"arrify": "2.0.1",
|
|
73
|
-
"axios": "1.
|
|
74
|
+
"axios": "1.6.2",
|
|
74
75
|
"chai": "4.3.8",
|
|
75
76
|
"chai-deep-match": "1.2.1",
|
|
76
77
|
"chai-exclude": "^2.1.0",
|
|
@@ -79,16 +80,16 @@
|
|
|
79
80
|
"chai-match-pattern": "^1.3.0",
|
|
80
81
|
"chai-string": "^1.5.0",
|
|
81
82
|
"chalk": "4.1.2",
|
|
82
|
-
"commander": "11.
|
|
83
|
+
"commander": "11.1.0",
|
|
83
84
|
"convert-cssxpath": "1.0.2",
|
|
84
85
|
"cross-spawn": "7.0.3",
|
|
85
86
|
"envinfo": "7.11.0",
|
|
86
87
|
"escape-string-regexp": "4.0.0",
|
|
87
88
|
"figures": "3.2.0",
|
|
88
89
|
"fn-args": "4.0.0",
|
|
89
|
-
"fs-extra": "
|
|
90
|
+
"fs-extra": "11.2.0",
|
|
90
91
|
"glob": "6.0.1",
|
|
91
|
-
"html-minifier": "
|
|
92
|
+
"html-minifier-terser": "^7.2.0",
|
|
92
93
|
"inquirer": "6.5.2",
|
|
93
94
|
"joi": "17.11.0",
|
|
94
95
|
"js-beautify": "1.14.11",
|
|
@@ -106,8 +107,10 @@
|
|
|
106
107
|
"sprintf-js": "1.1.1",
|
|
107
108
|
"uuid": "9.0"
|
|
108
109
|
},
|
|
110
|
+
"optionalDependencies": {
|
|
111
|
+
"@codeceptjs/detox-helper": "1.0.2"
|
|
112
|
+
},
|
|
109
113
|
"devDependencies": {
|
|
110
|
-
"@codeceptjs/detox-helper": "1.0.2",
|
|
111
114
|
"@codeceptjs/mock-request": "0.3.1",
|
|
112
115
|
"@faker-js/faker": "7.6.0",
|
|
113
116
|
"@pollyjs/adapter-puppeteer": "6.0.6",
|
|
@@ -125,7 +128,7 @@
|
|
|
125
128
|
"documentation": "12.3.0",
|
|
126
129
|
"dtslint": "4.2.1",
|
|
127
130
|
"electron": "27.0.4",
|
|
128
|
-
"eslint": "8.
|
|
131
|
+
"eslint": "8.55.0",
|
|
129
132
|
"eslint-config-airbnb-base": "15.0.0",
|
|
130
133
|
"eslint-plugin-import": "2.29.0",
|
|
131
134
|
"eslint-plugin-mocha": "6.3.0",
|
|
@@ -137,7 +140,7 @@
|
|
|
137
140
|
"jsdoc": "3.6.11",
|
|
138
141
|
"jsdoc-typeof-plugin": "1.0.0",
|
|
139
142
|
"json-server": "0.10.1",
|
|
140
|
-
"playwright": "1.
|
|
143
|
+
"playwright": "1.40.1",
|
|
141
144
|
"puppeteer": "21.1.1",
|
|
142
145
|
"qrcode-terminal": "0.12.0",
|
|
143
146
|
"rosie": "2.1.0",
|
|
@@ -154,7 +157,7 @@
|
|
|
154
157
|
"wdio-docker-service": "1.5.0",
|
|
155
158
|
"webdriverio": "8.3.8",
|
|
156
159
|
"xml2js": "0.6.2",
|
|
157
|
-
"xmldom": "0.
|
|
160
|
+
"@xmldom/xmldom": "0.7.7",
|
|
158
161
|
"xpath": "0.0.33"
|
|
159
162
|
},
|
|
160
163
|
"engines": {
|
|
@@ -749,7 +749,7 @@ declare namespace CodeceptJS {
|
|
|
749
749
|
* ```js
|
|
750
750
|
* I.closeApp();
|
|
751
751
|
* ```
|
|
752
|
-
* @returns Appium: support
|
|
752
|
+
* @returns Appium: support both Android and iOS
|
|
753
753
|
*/
|
|
754
754
|
closeApp(): Promise<void>;
|
|
755
755
|
/**
|
|
@@ -3284,6 +3284,28 @@ declare namespace CodeceptJS {
|
|
|
3284
3284
|
* ```
|
|
3285
3285
|
*/
|
|
3286
3286
|
_locateFields(): Promise<any>;
|
|
3287
|
+
/**
|
|
3288
|
+
* Grab WebElements for given locator
|
|
3289
|
+
* Resumes test execution, so **should be used inside an async function with `await`** operator.
|
|
3290
|
+
*
|
|
3291
|
+
* ```js
|
|
3292
|
+
* const webElements = await I.grabWebElements('#button');
|
|
3293
|
+
* ```
|
|
3294
|
+
* @param locator - element located by CSS|XPath|strict locator.
|
|
3295
|
+
* @returns WebElement of being used Web helper
|
|
3296
|
+
*/
|
|
3297
|
+
grabWebElements(locator: CodeceptJS.LocatorOrString): Promise<any>;
|
|
3298
|
+
/**
|
|
3299
|
+
* Grab WebElement for given locator
|
|
3300
|
+
* Resumes test execution, so **should be used inside an async function with `await`** operator.
|
|
3301
|
+
*
|
|
3302
|
+
* ```js
|
|
3303
|
+
* const webElement = await I.grabWebElement('#button');
|
|
3304
|
+
* ```
|
|
3305
|
+
* @param locator - element located by CSS|XPath|strict locator.
|
|
3306
|
+
* @returns WebElement of being used Web helper
|
|
3307
|
+
*/
|
|
3308
|
+
grabWebElement(locator: CodeceptJS.LocatorOrString): Promise<any>;
|
|
3287
3309
|
/**
|
|
3288
3310
|
* Switch focus to a particular tab by its number. It waits tabs loading and then switch tab
|
|
3289
3311
|
*
|
|
@@ -6359,6 +6381,17 @@ declare namespace CodeceptJS {
|
|
|
6359
6381
|
* ```
|
|
6360
6382
|
*/
|
|
6361
6383
|
_locateFields(): Promise<any>;
|
|
6384
|
+
/**
|
|
6385
|
+
* Grab WebElements for given locator
|
|
6386
|
+
* Resumes test execution, so **should be used inside an async function with `await`** operator.
|
|
6387
|
+
*
|
|
6388
|
+
* ```js
|
|
6389
|
+
* const webElements = await I.grabWebElements('#button');
|
|
6390
|
+
* ```
|
|
6391
|
+
* @param locator - element located by CSS|XPath|strict locator.
|
|
6392
|
+
* @returns WebElement of being used Web helper
|
|
6393
|
+
*/
|
|
6394
|
+
grabWebElements(locator: CodeceptJS.LocatorOrString): Promise<any>;
|
|
6362
6395
|
/**
|
|
6363
6396
|
* Switch focus to a particular tab by its number. It waits tabs loading and then switch tab
|
|
6364
6397
|
*
|
|
@@ -8981,6 +9014,17 @@ declare namespace CodeceptJS {
|
|
|
8981
9014
|
* @param locator - element located by CSS|XPath|strict locator.
|
|
8982
9015
|
*/
|
|
8983
9016
|
_locateFields(locator: CodeceptJS.LocatorOrString): Promise<any>;
|
|
9017
|
+
/**
|
|
9018
|
+
* Grab WebElements for given locator
|
|
9019
|
+
* Resumes test execution, so **should be used inside an async function with `await`** operator.
|
|
9020
|
+
*
|
|
9021
|
+
* ```js
|
|
9022
|
+
* const webElements = await I.grabWebElements('#button');
|
|
9023
|
+
* ```
|
|
9024
|
+
* @param locator - element located by CSS|XPath|strict locator.
|
|
9025
|
+
* @returns WebElement of being used Web helper
|
|
9026
|
+
*/
|
|
9027
|
+
grabWebElements(locator: CodeceptJS.LocatorOrString): Promise<any>;
|
|
8984
9028
|
/**
|
|
8985
9029
|
* Set [WebDriver timeouts](https://webdriver.io/docs/timeouts.html) in realtime.
|
|
8986
9030
|
*
|
package/typings/types.d.ts
CHANGED
|
@@ -749,7 +749,7 @@ declare namespace CodeceptJS {
|
|
|
749
749
|
* ```js
|
|
750
750
|
* I.closeApp();
|
|
751
751
|
* ```
|
|
752
|
-
* @returns Appium: support
|
|
752
|
+
* @returns Appium: support both Android and iOS
|
|
753
753
|
*/
|
|
754
754
|
closeApp(): Promise<void>;
|
|
755
755
|
/**
|
|
@@ -3482,6 +3482,28 @@ declare namespace CodeceptJS {
|
|
|
3482
3482
|
* ```
|
|
3483
3483
|
*/
|
|
3484
3484
|
_locateFields(): void;
|
|
3485
|
+
/**
|
|
3486
|
+
* Grab WebElements for given locator
|
|
3487
|
+
* Resumes test execution, so **should be used inside an async function with `await`** operator.
|
|
3488
|
+
*
|
|
3489
|
+
* ```js
|
|
3490
|
+
* const webElements = await I.grabWebElements('#button');
|
|
3491
|
+
* ```
|
|
3492
|
+
* @param locator - element located by CSS|XPath|strict locator.
|
|
3493
|
+
* @returns WebElement of being used Web helper
|
|
3494
|
+
*/
|
|
3495
|
+
grabWebElements(locator: CodeceptJS.LocatorOrString): Promise<any>;
|
|
3496
|
+
/**
|
|
3497
|
+
* Grab WebElement for given locator
|
|
3498
|
+
* Resumes test execution, so **should be used inside an async function with `await`** operator.
|
|
3499
|
+
*
|
|
3500
|
+
* ```js
|
|
3501
|
+
* const webElement = await I.grabWebElement('#button');
|
|
3502
|
+
* ```
|
|
3503
|
+
* @param locator - element located by CSS|XPath|strict locator.
|
|
3504
|
+
* @returns WebElement of being used Web helper
|
|
3505
|
+
*/
|
|
3506
|
+
grabWebElement(locator: CodeceptJS.LocatorOrString): Promise<any>;
|
|
3485
3507
|
/**
|
|
3486
3508
|
* Switch focus to a particular tab by its number. It waits tabs loading and then switch tab
|
|
3487
3509
|
*
|
|
@@ -6787,6 +6809,17 @@ declare namespace CodeceptJS {
|
|
|
6787
6809
|
* ```
|
|
6788
6810
|
*/
|
|
6789
6811
|
_locateFields(): void;
|
|
6812
|
+
/**
|
|
6813
|
+
* Grab WebElements for given locator
|
|
6814
|
+
* Resumes test execution, so **should be used inside an async function with `await`** operator.
|
|
6815
|
+
*
|
|
6816
|
+
* ```js
|
|
6817
|
+
* const webElements = await I.grabWebElements('#button');
|
|
6818
|
+
* ```
|
|
6819
|
+
* @param locator - element located by CSS|XPath|strict locator.
|
|
6820
|
+
* @returns WebElement of being used Web helper
|
|
6821
|
+
*/
|
|
6822
|
+
grabWebElements(locator: CodeceptJS.LocatorOrString): Promise<any>;
|
|
6790
6823
|
/**
|
|
6791
6824
|
* Switch focus to a particular tab by its number. It waits tabs loading and then switch tab
|
|
6792
6825
|
*
|
|
@@ -9653,6 +9686,17 @@ declare namespace CodeceptJS {
|
|
|
9653
9686
|
* @param locator - element located by CSS|XPath|strict locator.
|
|
9654
9687
|
*/
|
|
9655
9688
|
_locateFields(locator: CodeceptJS.LocatorOrString): void;
|
|
9689
|
+
/**
|
|
9690
|
+
* Grab WebElements for given locator
|
|
9691
|
+
* Resumes test execution, so **should be used inside an async function with `await`** operator.
|
|
9692
|
+
*
|
|
9693
|
+
* ```js
|
|
9694
|
+
* const webElements = await I.grabWebElements('#button');
|
|
9695
|
+
* ```
|
|
9696
|
+
* @param locator - element located by CSS|XPath|strict locator.
|
|
9697
|
+
* @returns WebElement of being used Web helper
|
|
9698
|
+
*/
|
|
9699
|
+
grabWebElements(locator: CodeceptJS.LocatorOrString): Promise<any>;
|
|
9656
9700
|
/**
|
|
9657
9701
|
* Set [WebDriver timeouts](https://webdriver.io/docs/timeouts.html) in realtime.
|
|
9658
9702
|
*
|
|
@@ -11387,6 +11431,7 @@ declare namespace CodeceptJS {
|
|
|
11387
11431
|
const workers: {
|
|
11388
11432
|
before: 'workers.before';
|
|
11389
11433
|
after: 'workers.after';
|
|
11434
|
+
result: 'workers.result';
|
|
11390
11435
|
};
|
|
11391
11436
|
function emit(event: string, param?: any): void;
|
|
11392
11437
|
/**
|