codeceptjs 3.6.6 → 4.0.0-beta.1

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 (151) 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
  150. package/typings/promiseBasedTypes.d.ts +32 -0
  151. package/typings/types.d.ts +32 -0
@@ -1180,6 +1180,10 @@ declare namespace CodeceptJS {
1180
1180
  *
1181
1181
  * ## Methods
1182
1182
  */
1183
+ // @ts-ignore
1184
+ // @ts-ignore
1185
+ // @ts-ignore
1186
+ // @ts-ignore
1183
1187
  class ExpectHelper {
1184
1188
  expectEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): Promise<any>;
1185
1189
  expectNotEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): Promise<any>;
@@ -1291,6 +1295,10 @@ declare namespace CodeceptJS {
1291
1295
  *
1292
1296
  * ## Methods
1293
1297
  */
1298
+ // @ts-ignore
1299
+ // @ts-ignore
1300
+ // @ts-ignore
1301
+ // @ts-ignore
1294
1302
  class ExpectHelper {
1295
1303
  expectEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): Promise<any>;
1296
1304
  expectNotEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): Promise<any>;
@@ -1962,6 +1970,10 @@ declare namespace CodeceptJS {
1962
1970
  * @property [host = "0.0.0.0"] - Mock server host
1963
1971
  * @property [httpsOpts] - key & cert values are the paths to .key and .crt files
1964
1972
  */
1973
+ // @ts-ignore
1974
+ // @ts-ignore
1975
+ // @ts-ignore
1976
+ // @ts-ignore
1965
1977
  type MockServerConfig = {
1966
1978
  port?: number;
1967
1979
  host?: string;
@@ -2086,6 +2098,10 @@ declare namespace CodeceptJS {
2086
2098
  *
2087
2099
  * ## Methods
2088
2100
  */
2101
+ // @ts-ignore
2102
+ // @ts-ignore
2103
+ // @ts-ignore
2104
+ // @ts-ignore
2089
2105
  class MockServer {
2090
2106
  /**
2091
2107
  * Start the mock server
@@ -3159,6 +3175,10 @@ declare namespace CodeceptJS {
3159
3175
  * @property [recordHar] - record HAR and will be saved to `output/har`. See more of [HAR options](https://playwright.dev/docs/api/class-browser#browser-new-context-option-record-har).
3160
3176
  * @property [testIdAttribute = data-testid] - locate elements based on the testIdAttribute. See more of [locate by test id](https://playwright.dev/docs/locators#locate-by-test-id).
3161
3177
  */
3178
+ // @ts-ignore
3179
+ // @ts-ignore
3180
+ // @ts-ignore
3181
+ // @ts-ignore
3162
3182
  type PlaywrightConfig = {
3163
3183
  url?: string;
3164
3184
  browser?: 'chromium' | 'firefox' | 'webkit' | 'electron';
@@ -6535,6 +6555,10 @@ declare namespace CodeceptJS {
6535
6555
  * @property [chrome] - pass additional [Puppeteer run options](https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#puppeteerlaunchoptions).
6536
6556
  * @property [highlightElement] - highlight the interacting elements. Default: false. Note: only activate under verbose mode (--verbose).
6537
6557
  */
6558
+ // @ts-ignore
6559
+ // @ts-ignore
6560
+ // @ts-ignore
6561
+ // @ts-ignore
6538
6562
  type PuppeteerConfig = {
6539
6563
  url: string;
6540
6564
  basicAuth?: any;
@@ -8341,6 +8365,10 @@ declare namespace CodeceptJS {
8341
8365
  * @property [onResponse] - an async function which can update response object.
8342
8366
  * @property [maxUploadFileSize] - set the max content file size in MB when performing api calls.
8343
8367
  */
8368
+ // @ts-ignore
8369
+ // @ts-ignore
8370
+ // @ts-ignore
8371
+ // @ts-ignore
8344
8372
  type RESTConfig = {
8345
8373
  endpoint?: string;
8346
8374
  prettyPrintJson?: boolean;
@@ -9719,6 +9747,10 @@ declare namespace CodeceptJS {
9719
9747
  * @property [logLevel = silent] - level of logging verbosity. Default: silent. Options: trace | debug | info | warn | error | silent. More info: https://webdriver.io/docs/configuration/#loglevel
9720
9748
  * @property [devtoolsProtocol = false] - enable devtools protocol. Default: false. More info: https://webdriver.io/docs/automationProtocols/#devtools-protocol.
9721
9749
  */
9750
+ // @ts-ignore
9751
+ // @ts-ignore
9752
+ // @ts-ignore
9753
+ // @ts-ignore
9722
9754
  type WebDriverConfig = {
9723
9755
  url: string;
9724
9756
  browser: string;
@@ -1204,6 +1204,10 @@ declare namespace CodeceptJS {
1204
1204
  *
1205
1205
  * ## Methods
1206
1206
  */
1207
+ // @ts-ignore
1208
+ // @ts-ignore
1209
+ // @ts-ignore
1210
+ // @ts-ignore
1207
1211
  class ExpectHelper {
1208
1212
  expectEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1209
1213
  expectNotEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
@@ -1315,6 +1319,10 @@ declare namespace CodeceptJS {
1315
1319
  *
1316
1320
  * ## Methods
1317
1321
  */
1322
+ // @ts-ignore
1323
+ // @ts-ignore
1324
+ // @ts-ignore
1325
+ // @ts-ignore
1318
1326
  class ExpectHelper {
1319
1327
  expectEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1320
1328
  expectNotEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
@@ -1989,6 +1997,10 @@ declare namespace CodeceptJS {
1989
1997
  * @property [host = "0.0.0.0"] - Mock server host
1990
1998
  * @property [httpsOpts] - key & cert values are the paths to .key and .crt files
1991
1999
  */
2000
+ // @ts-ignore
2001
+ // @ts-ignore
2002
+ // @ts-ignore
2003
+ // @ts-ignore
1992
2004
  type MockServerConfig = {
1993
2005
  port?: number;
1994
2006
  host?: string;
@@ -2113,6 +2125,10 @@ declare namespace CodeceptJS {
2113
2125
  *
2114
2126
  * ## Methods
2115
2127
  */
2128
+ // @ts-ignore
2129
+ // @ts-ignore
2130
+ // @ts-ignore
2131
+ // @ts-ignore
2116
2132
  class MockServer {
2117
2133
  /**
2118
2134
  * Start the mock server
@@ -3252,6 +3268,10 @@ declare namespace CodeceptJS {
3252
3268
  * @property [recordHar] - record HAR and will be saved to `output/har`. See more of [HAR options](https://playwright.dev/docs/api/class-browser#browser-new-context-option-record-har).
3253
3269
  * @property [testIdAttribute = data-testid] - locate elements based on the testIdAttribute. See more of [locate by test id](https://playwright.dev/docs/locators#locate-by-test-id).
3254
3270
  */
3271
+ // @ts-ignore
3272
+ // @ts-ignore
3273
+ // @ts-ignore
3274
+ // @ts-ignore
3255
3275
  type PlaywrightConfig = {
3256
3276
  url?: string;
3257
3277
  browser?: 'chromium' | 'firefox' | 'webkit' | 'electron';
@@ -6779,6 +6799,10 @@ declare namespace CodeceptJS {
6779
6799
  * @property [chrome] - pass additional [Puppeteer run options](https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#puppeteerlaunchoptions).
6780
6800
  * @property [highlightElement] - highlight the interacting elements. Default: false. Note: only activate under verbose mode (--verbose).
6781
6801
  */
6802
+ // @ts-ignore
6803
+ // @ts-ignore
6804
+ // @ts-ignore
6805
+ // @ts-ignore
6782
6806
  type PuppeteerConfig = {
6783
6807
  url: string;
6784
6808
  basicAuth?: any;
@@ -8721,6 +8745,10 @@ declare namespace CodeceptJS {
8721
8745
  * @property [onResponse] - an async function which can update response object.
8722
8746
  * @property [maxUploadFileSize] - set the max content file size in MB when performing api calls.
8723
8747
  */
8748
+ // @ts-ignore
8749
+ // @ts-ignore
8750
+ // @ts-ignore
8751
+ // @ts-ignore
8724
8752
  type RESTConfig = {
8725
8753
  endpoint?: string;
8726
8754
  prettyPrintJson?: boolean;
@@ -10159,6 +10187,10 @@ declare namespace CodeceptJS {
10159
10187
  * @property [logLevel = silent] - level of logging verbosity. Default: silent. Options: trace | debug | info | warn | error | silent. More info: https://webdriver.io/docs/configuration/#loglevel
10160
10188
  * @property [devtoolsProtocol = false] - enable devtools protocol. Default: false. More info: https://webdriver.io/docs/automationProtocols/#devtools-protocol.
10161
10189
  */
10190
+ // @ts-ignore
10191
+ // @ts-ignore
10192
+ // @ts-ignore
10193
+ // @ts-ignore
10162
10194
  type WebDriverConfig = {
10163
10195
  url: string;
10164
10196
  browser: string;