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.
Files changed (149) hide show
  1. package/bin/codecept.js +81 -84
  2. package/lib/actor.js +13 -13
  3. package/lib/ai.js +13 -10
  4. package/lib/assert/empty.js +21 -20
  5. package/lib/assert/equal.js +39 -37
  6. package/lib/assert/error.js +14 -14
  7. package/lib/assert/include.js +47 -46
  8. package/lib/assert/throws.js +11 -13
  9. package/lib/assert/truth.js +22 -19
  10. package/lib/assert.js +2 -4
  11. package/lib/cli.js +49 -57
  12. package/lib/codecept.js +155 -142
  13. package/lib/colorUtils.js +3 -3
  14. package/lib/command/configMigrate.js +52 -58
  15. package/lib/command/definitions.js +89 -88
  16. package/lib/command/dryRun.js +68 -71
  17. package/lib/command/generate.js +188 -197
  18. package/lib/command/gherkin/init.js +16 -27
  19. package/lib/command/gherkin/snippets.js +20 -20
  20. package/lib/command/gherkin/steps.js +8 -8
  21. package/lib/command/info.js +38 -40
  22. package/lib/command/init.js +288 -290
  23. package/lib/command/interactive.js +32 -32
  24. package/lib/command/list.js +26 -26
  25. package/lib/command/run-multiple/chunk.js +5 -5
  26. package/lib/command/run-multiple/collection.js +3 -3
  27. package/lib/command/run-multiple/run.js +2 -6
  28. package/lib/command/run-multiple.js +93 -113
  29. package/lib/command/run-rerun.js +25 -20
  30. package/lib/command/run-workers.js +66 -64
  31. package/lib/command/run.js +29 -26
  32. package/lib/command/utils.js +65 -80
  33. package/lib/command/workers/runTests.js +10 -10
  34. package/lib/config.js +9 -10
  35. package/lib/container.js +48 -40
  36. package/lib/data/context.js +59 -60
  37. package/lib/data/dataScenarioConfig.js +47 -47
  38. package/lib/data/dataTableArgument.js +29 -29
  39. package/lib/data/table.js +20 -26
  40. package/lib/dirname.js +5 -0
  41. package/lib/event.js +167 -163
  42. package/lib/heal.js +17 -13
  43. package/lib/helper/AI.js +41 -130
  44. package/lib/helper/ApiDataFactory.js +69 -73
  45. package/lib/helper/Appium.js +381 -412
  46. package/lib/helper/Expect.js +425 -0
  47. package/lib/helper/ExpectHelper.js +48 -40
  48. package/lib/helper/FileSystem.js +79 -80
  49. package/lib/helper/GraphQL.js +43 -44
  50. package/lib/helper/GraphQLDataFactory.js +50 -50
  51. package/lib/helper/JSONResponse.js +62 -65
  52. package/lib/helper/Mochawesome.js +28 -28
  53. package/lib/helper/MockServer.js +14 -12
  54. package/lib/helper/Nightmare.js +566 -662
  55. package/lib/helper/Playwright.js +1216 -1361
  56. package/lib/helper/Protractor.js +627 -663
  57. package/lib/helper/Puppeteer.js +1128 -1231
  58. package/lib/helper/REST.js +68 -159
  59. package/lib/helper/SoftExpectHelper.js +2 -2
  60. package/lib/helper/TestCafe.js +484 -490
  61. package/lib/helper/WebDriver.js +1156 -1297
  62. package/lib/helper/clientscripts/PollyWebDriverExt.js +1 -1
  63. package/lib/helper/errors/ConnectionRefused.js +1 -1
  64. package/lib/helper/errors/ElementAssertion.js +2 -2
  65. package/lib/helper/errors/ElementNotFound.js +2 -2
  66. package/lib/helper/errors/RemoteBrowserConnectionRefused.js +1 -1
  67. package/lib/helper/extras/Console.js +1 -1
  68. package/lib/helper/extras/PlaywrightPropEngine.js +2 -2
  69. package/lib/helper/extras/PlaywrightReactVueLocator.js +1 -1
  70. package/lib/helper/extras/PlaywrightRestartOpts.js +18 -21
  71. package/lib/helper/extras/Popup.js +1 -1
  72. package/lib/helper/extras/React.js +3 -3
  73. package/lib/helper/network/actions.js +7 -14
  74. package/lib/helper/network/utils.js +2 -3
  75. package/lib/helper/scripts/blurElement.js +1 -1
  76. package/lib/helper/scripts/focusElement.js +1 -1
  77. package/lib/helper/scripts/highlightElement.js +1 -1
  78. package/lib/helper/scripts/isElementClickable.js +1 -1
  79. package/lib/helper/testcafe/testControllerHolder.js +1 -1
  80. package/lib/helper/testcafe/testcafe-utils.js +7 -6
  81. package/lib/helper.js +3 -1
  82. package/lib/history.js +5 -6
  83. package/lib/hooks.js +6 -6
  84. package/lib/html.js +7 -7
  85. package/lib/index.js +41 -25
  86. package/lib/interfaces/bdd.js +64 -47
  87. package/lib/interfaces/featureConfig.js +19 -19
  88. package/lib/interfaces/gherkin.js +118 -124
  89. package/lib/interfaces/scenarioConfig.js +29 -29
  90. package/lib/listener/artifacts.js +9 -9
  91. package/lib/listener/config.js +24 -24
  92. package/lib/listener/exit.js +12 -12
  93. package/lib/listener/helpers.js +42 -42
  94. package/lib/listener/mocha.js +11 -11
  95. package/lib/listener/retry.js +30 -32
  96. package/lib/listener/steps.js +53 -50
  97. package/lib/listener/timeout.js +54 -54
  98. package/lib/locator.js +10 -6
  99. package/lib/mochaFactory.js +15 -18
  100. package/lib/output.js +10 -6
  101. package/lib/parser.js +12 -15
  102. package/lib/pause.js +33 -40
  103. package/lib/plugin/allure.js +15 -15
  104. package/lib/plugin/autoDelay.js +37 -29
  105. package/lib/plugin/autoLogin.js +65 -70
  106. package/lib/plugin/commentStep.js +18 -18
  107. package/lib/plugin/coverage.js +67 -115
  108. package/lib/plugin/customLocator.js +20 -21
  109. package/lib/plugin/debugErrors.js +24 -24
  110. package/lib/plugin/eachElement.js +38 -38
  111. package/lib/plugin/fakerTransform.js +6 -6
  112. package/lib/plugin/heal.js +108 -67
  113. package/lib/plugin/pauseOnFail.js +11 -11
  114. package/lib/plugin/retryFailedStep.js +39 -32
  115. package/lib/plugin/retryTo.js +40 -46
  116. package/lib/plugin/screenshotOnFail.js +87 -109
  117. package/lib/plugin/selenoid.js +118 -131
  118. package/lib/plugin/standardActingHelpers.js +8 -2
  119. package/lib/plugin/stepByStepReport.js +91 -110
  120. package/lib/plugin/stepTimeout.js +23 -24
  121. package/lib/plugin/subtitles.js +35 -34
  122. package/lib/plugin/tryTo.js +30 -40
  123. package/lib/plugin/wdio.js +75 -78
  124. package/lib/recorder.js +17 -14
  125. package/lib/rerun.js +10 -11
  126. package/lib/scenario.js +23 -25
  127. package/lib/secret.js +2 -4
  128. package/lib/session.js +10 -10
  129. package/lib/step.js +9 -12
  130. package/lib/store.js +3 -2
  131. package/lib/transform.js +1 -1
  132. package/lib/translation.js +8 -7
  133. package/lib/ui.js +14 -12
  134. package/lib/utils.js +72 -70
  135. package/lib/within.js +10 -10
  136. package/lib/workerStorage.js +25 -27
  137. package/lib/workers.js +32 -29
  138. package/package.json +53 -51
  139. package/translations/de-DE.js +1 -1
  140. package/translations/fr-FR.js +1 -1
  141. package/translations/index.js +13 -9
  142. package/translations/it-IT.js +1 -1
  143. package/translations/ja-JP.js +1 -1
  144. package/translations/pl-PL.js +1 -1
  145. package/translations/pt-BR.js +1 -1
  146. package/translations/ru-RU.js +1 -1
  147. package/translations/zh-CN.js +1 -1
  148. package/translations/zh-TW.js +1 -1
  149. package/typings/index.d.ts +65 -415
@@ -1,71 +1,71 @@
1
- let addMochawesomeContext
2
- let currentTest
3
- let currentSuite
1
+ import Helper from '@codeceptjs/helper';
2
+ import { clearString } from '../utils.js';
4
3
 
5
- const Helper = require('@codeceptjs/helper')
6
- const { clearString } = require('../utils')
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
- module.exports = Mochawesome
71
+ export default Mochawesome;
@@ -1,4 +1,6 @@
1
- const { mock, settings } = require('pactum')
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
- module.exports = MockServer
223
+ export default MockServer;