codeceptjs 3.6.7 → 4.0.0-beta.2
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/bin/codecept.js +81 -84
- package/lib/actor.js +13 -13
- package/lib/ai.js +13 -10
- package/lib/assert/empty.js +21 -20
- package/lib/assert/equal.js +39 -37
- package/lib/assert/error.js +14 -14
- package/lib/assert/include.js +47 -46
- package/lib/assert/throws.js +11 -13
- package/lib/assert/truth.js +22 -19
- package/lib/assert.js +2 -4
- package/lib/cli.js +49 -57
- package/lib/codecept.js +155 -142
- package/lib/colorUtils.js +3 -3
- package/lib/command/configMigrate.js +52 -58
- package/lib/command/definitions.js +89 -88
- package/lib/command/dryRun.js +68 -71
- package/lib/command/generate.js +188 -197
- package/lib/command/gherkin/init.js +16 -27
- package/lib/command/gherkin/snippets.js +20 -20
- package/lib/command/gherkin/steps.js +8 -8
- package/lib/command/info.js +38 -40
- package/lib/command/init.js +288 -290
- package/lib/command/interactive.js +32 -32
- package/lib/command/list.js +26 -26
- package/lib/command/run-multiple/chunk.js +5 -5
- package/lib/command/run-multiple/collection.js +3 -3
- package/lib/command/run-multiple/run.js +2 -6
- package/lib/command/run-multiple.js +93 -113
- package/lib/command/run-rerun.js +25 -20
- package/lib/command/run-workers.js +66 -64
- package/lib/command/run.js +29 -26
- package/lib/command/utils.js +65 -80
- package/lib/command/workers/runTests.js +10 -10
- package/lib/config.js +9 -10
- package/lib/container.js +48 -40
- package/lib/data/context.js +59 -60
- package/lib/data/dataScenarioConfig.js +47 -47
- package/lib/data/dataTableArgument.js +29 -29
- package/lib/data/table.js +20 -26
- package/lib/dirname.js +5 -0
- package/lib/event.js +167 -163
- package/lib/heal.js +17 -13
- package/lib/helper/AI.js +41 -130
- package/lib/helper/ApiDataFactory.js +69 -73
- package/lib/helper/Appium.js +381 -412
- package/lib/helper/Expect.js +425 -0
- package/lib/helper/ExpectHelper.js +48 -40
- package/lib/helper/FileSystem.js +79 -80
- package/lib/helper/GraphQL.js +43 -44
- package/lib/helper/GraphQLDataFactory.js +50 -50
- package/lib/helper/JSONResponse.js +62 -65
- package/lib/helper/Mochawesome.js +28 -28
- package/lib/helper/MockServer.js +14 -12
- package/lib/helper/Nightmare.js +566 -662
- package/lib/helper/Playwright.js +1216 -1361
- package/lib/helper/Protractor.js +627 -663
- package/lib/helper/Puppeteer.js +1128 -1231
- package/lib/helper/REST.js +68 -159
- package/lib/helper/SoftExpectHelper.js +2 -2
- package/lib/helper/TestCafe.js +484 -490
- package/lib/helper/WebDriver.js +1156 -1297
- package/lib/helper/clientscripts/PollyWebDriverExt.js +1 -1
- package/lib/helper/errors/ConnectionRefused.js +1 -1
- package/lib/helper/errors/ElementAssertion.js +2 -2
- package/lib/helper/errors/ElementNotFound.js +2 -2
- package/lib/helper/errors/RemoteBrowserConnectionRefused.js +1 -1
- package/lib/helper/extras/Console.js +1 -1
- package/lib/helper/extras/PlaywrightPropEngine.js +2 -2
- package/lib/helper/extras/PlaywrightReactVueLocator.js +1 -1
- package/lib/helper/extras/PlaywrightRestartOpts.js +18 -21
- package/lib/helper/extras/Popup.js +1 -1
- package/lib/helper/extras/React.js +3 -3
- package/lib/helper/network/actions.js +7 -14
- package/lib/helper/network/utils.js +2 -3
- package/lib/helper/scripts/blurElement.js +1 -1
- package/lib/helper/scripts/focusElement.js +1 -1
- package/lib/helper/scripts/highlightElement.js +1 -1
- package/lib/helper/scripts/isElementClickable.js +1 -1
- package/lib/helper/testcafe/testControllerHolder.js +1 -1
- package/lib/helper/testcafe/testcafe-utils.js +7 -6
- package/lib/helper.js +3 -1
- package/lib/history.js +5 -6
- package/lib/hooks.js +6 -6
- package/lib/html.js +7 -7
- package/lib/index.js +41 -25
- package/lib/interfaces/bdd.js +64 -47
- package/lib/interfaces/featureConfig.js +19 -19
- package/lib/interfaces/gherkin.js +118 -124
- package/lib/interfaces/scenarioConfig.js +29 -29
- package/lib/listener/artifacts.js +9 -9
- package/lib/listener/config.js +24 -24
- package/lib/listener/exit.js +12 -12
- package/lib/listener/helpers.js +42 -42
- package/lib/listener/mocha.js +11 -11
- package/lib/listener/retry.js +30 -32
- package/lib/listener/steps.js +53 -50
- package/lib/listener/timeout.js +54 -54
- package/lib/locator.js +10 -6
- package/lib/mochaFactory.js +15 -18
- package/lib/output.js +10 -6
- package/lib/parser.js +12 -15
- package/lib/pause.js +33 -40
- package/lib/plugin/allure.js +15 -15
- package/lib/plugin/autoDelay.js +37 -29
- package/lib/plugin/autoLogin.js +65 -70
- package/lib/plugin/commentStep.js +18 -18
- package/lib/plugin/coverage.js +67 -115
- package/lib/plugin/customLocator.js +20 -21
- package/lib/plugin/debugErrors.js +24 -24
- package/lib/plugin/eachElement.js +38 -38
- package/lib/plugin/fakerTransform.js +6 -6
- package/lib/plugin/heal.js +108 -67
- package/lib/plugin/pauseOnFail.js +11 -11
- package/lib/plugin/retryFailedStep.js +39 -32
- package/lib/plugin/retryTo.js +40 -46
- package/lib/plugin/screenshotOnFail.js +87 -109
- package/lib/plugin/selenoid.js +118 -131
- package/lib/plugin/standardActingHelpers.js +8 -2
- package/lib/plugin/stepByStepReport.js +91 -110
- package/lib/plugin/stepTimeout.js +23 -24
- package/lib/plugin/subtitles.js +35 -34
- package/lib/plugin/tryTo.js +30 -40
- package/lib/plugin/wdio.js +75 -78
- package/lib/recorder.js +17 -14
- package/lib/rerun.js +10 -11
- package/lib/scenario.js +23 -25
- package/lib/secret.js +2 -4
- package/lib/session.js +10 -10
- package/lib/step.js +9 -12
- package/lib/store.js +3 -2
- package/lib/transform.js +1 -1
- package/lib/translation.js +8 -7
- package/lib/ui.js +14 -12
- package/lib/utils.js +72 -70
- package/lib/within.js +10 -10
- package/lib/workerStorage.js +25 -27
- package/lib/workers.js +32 -29
- package/package.json +53 -51
- package/translations/de-DE.js +1 -1
- package/translations/fr-FR.js +1 -1
- package/translations/index.js +13 -9
- package/translations/it-IT.js +1 -1
- package/translations/ja-JP.js +1 -1
- package/translations/pl-PL.js +1 -1
- package/translations/pt-BR.js +1 -1
- package/translations/ru-RU.js +1 -1
- package/translations/zh-CN.js +1 -1
- package/translations/zh-TW.js +1 -1
- package/typings/index.d.ts +65 -415
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
let currentSuite
|
|
1
|
+
import Helper from '@codeceptjs/helper';
|
|
2
|
+
import { clearString } from '../utils.js';
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
let addMochawesomeContext;
|
|
5
|
+
let currentTest;
|
|
6
|
+
let currentSuite;
|
|
7
7
|
|
|
8
8
|
class Mochawesome extends Helper {
|
|
9
9
|
constructor(config) {
|
|
10
|
-
super(config)
|
|
10
|
+
super(config);
|
|
11
11
|
|
|
12
12
|
// set defaults
|
|
13
13
|
this.options = {
|
|
14
14
|
uniqueScreenshotNames: false,
|
|
15
15
|
disableScreenshots: false,
|
|
16
|
-
}
|
|
16
|
+
};
|
|
17
17
|
|
|
18
|
-
addMochawesomeContext = require('mochawesome/addContext')
|
|
19
|
-
this._createConfig(config)
|
|
18
|
+
addMochawesomeContext = require('mochawesome/addContext');
|
|
19
|
+
this._createConfig(config);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
_createConfig(config) {
|
|
23
23
|
// override defaults with config
|
|
24
|
-
Object.assign(this.options, config)
|
|
24
|
+
Object.assign(this.options, config);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
_beforeSuite(suite) {
|
|
28
|
-
currentSuite = suite
|
|
29
|
-
currentTest = ''
|
|
28
|
+
currentSuite = suite;
|
|
29
|
+
currentTest = '';
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
_before() {
|
|
33
33
|
if (currentSuite && currentSuite.ctx) {
|
|
34
|
-
currentTest = { test: currentSuite.ctx.currentTest }
|
|
34
|
+
currentTest = { test: currentSuite.ctx.currentTest };
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
_test(test) {
|
|
39
|
-
currentTest = { test }
|
|
39
|
+
currentTest = { test };
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
_failed(test) {
|
|
43
|
-
if (this.options.disableScreenshots) return
|
|
44
|
-
let fileName
|
|
43
|
+
if (this.options.disableScreenshots) return;
|
|
44
|
+
let fileName;
|
|
45
45
|
// Get proper name if we are fail on hook
|
|
46
46
|
if (test.ctx.test.type === 'hook') {
|
|
47
|
-
currentTest = { test: test.ctx.test }
|
|
47
|
+
currentTest = { test: test.ctx.test };
|
|
48
48
|
// ignore retries if we are in hook
|
|
49
|
-
test._retries = -1
|
|
50
|
-
fileName = clearString(`${test.title}_${currentTest.test.title}`)
|
|
49
|
+
test._retries = -1;
|
|
50
|
+
fileName = clearString(`${test.title}_${currentTest.test.title}`);
|
|
51
51
|
} else {
|
|
52
|
-
currentTest = { test }
|
|
53
|
-
fileName = clearString(test.title)
|
|
52
|
+
currentTest = { test };
|
|
53
|
+
fileName = clearString(test.title);
|
|
54
54
|
}
|
|
55
55
|
if (this.options.uniqueScreenshotNames) {
|
|
56
|
-
const uuid = test.uuid || test.ctx.test.uuid
|
|
57
|
-
fileName = `${fileName.substring(0, 10)}_${uuid}
|
|
56
|
+
const uuid = test.uuid || test.ctx.test.uuid;
|
|
57
|
+
fileName = `${fileName.substring(0, 10)}_${uuid}`;
|
|
58
58
|
}
|
|
59
59
|
if (test._retries < 1 || test._retries === test.retryNum) {
|
|
60
|
-
fileName = `${fileName}.failed.png
|
|
61
|
-
return addMochawesomeContext(currentTest, fileName)
|
|
60
|
+
fileName = `${fileName}.failed.png`;
|
|
61
|
+
return addMochawesomeContext(currentTest, fileName);
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
addMochawesomeContext(context) {
|
|
66
|
-
if (currentTest === '') currentTest = { test: currentSuite.ctx.test }
|
|
67
|
-
return addMochawesomeContext(currentTest, context)
|
|
66
|
+
if (currentTest === '') currentTest = { test: currentSuite.ctx.test };
|
|
67
|
+
return addMochawesomeContext(currentTest, context);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
export default Mochawesome;
|
package/lib/helper/MockServer.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import pkg from 'pactum';
|
|
2
|
+
|
|
3
|
+
const { mock, settings } = pkg;
|
|
2
4
|
|
|
3
5
|
/**
|
|
4
6
|
* ## Configuration
|
|
@@ -18,7 +20,7 @@ let config = {
|
|
|
18
20
|
key: '',
|
|
19
21
|
cert: '',
|
|
20
22
|
},
|
|
21
|
-
}
|
|
23
|
+
};
|
|
22
24
|
|
|
23
25
|
/**
|
|
24
26
|
* MockServer
|
|
@@ -141,10 +143,10 @@ let config = {
|
|
|
141
143
|
*/
|
|
142
144
|
class MockServer {
|
|
143
145
|
constructor(passedConfig) {
|
|
144
|
-
settings.setLogLevel('SILENT')
|
|
145
|
-
config = { ...passedConfig }
|
|
146
|
+
settings.setLogLevel('SILENT');
|
|
147
|
+
config = { ...passedConfig };
|
|
146
148
|
if (global.debugMode) {
|
|
147
|
-
settings.setLogLevel('VERBOSE')
|
|
149
|
+
settings.setLogLevel('VERBOSE');
|
|
148
150
|
}
|
|
149
151
|
}
|
|
150
152
|
|
|
@@ -155,10 +157,10 @@ class MockServer {
|
|
|
155
157
|
* @returns void
|
|
156
158
|
*/
|
|
157
159
|
async startMockServer(port) {
|
|
158
|
-
const _config = { ...config }
|
|
159
|
-
if (port) _config.port = port
|
|
160
|
-
await mock.setDefaults(_config)
|
|
161
|
-
await mock.start()
|
|
160
|
+
const _config = { ...config };
|
|
161
|
+
if (port) _config.port = port;
|
|
162
|
+
await mock.setDefaults(_config);
|
|
163
|
+
await mock.start();
|
|
162
164
|
}
|
|
163
165
|
|
|
164
166
|
/**
|
|
@@ -168,7 +170,7 @@ class MockServer {
|
|
|
168
170
|
*
|
|
169
171
|
*/
|
|
170
172
|
async stopMockServer() {
|
|
171
|
-
await mock.stop()
|
|
173
|
+
await mock.stop();
|
|
172
174
|
}
|
|
173
175
|
|
|
174
176
|
/**
|
|
@@ -214,8 +216,8 @@ class MockServer {
|
|
|
214
216
|
*
|
|
215
217
|
*/
|
|
216
218
|
async addInteractionToMockServer(interaction) {
|
|
217
|
-
await mock.addInteraction(interaction)
|
|
219
|
+
await mock.addInteraction(interaction);
|
|
218
220
|
}
|
|
219
221
|
}
|
|
220
222
|
|
|
221
|
-
|
|
223
|
+
export default MockServer;
|