codeceptjs 3.7.0-rc.1 → 3.7.1-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.
@@ -1203,6 +1203,228 @@ declare namespace CodeceptJS {
1203
1203
  */
1204
1204
  waitForText(text: string, sec?: number, context?: CodeceptJS.LocatorOrString): void;
1205
1205
  }
1206
+ /**
1207
+ * This helper allows performing assertions based on Chai.
1208
+ *
1209
+ * ### Examples
1210
+ *
1211
+ * Zero-configuration when paired with other helpers like REST, Playwright:
1212
+ *
1213
+ * ```js
1214
+ * // inside codecept.conf.js
1215
+ * {
1216
+ * helpers: {
1217
+ * Playwright: {...},
1218
+ * ExpectHelper: {},
1219
+ * }
1220
+ * }
1221
+ * ```
1222
+ *
1223
+ * ## Methods
1224
+ */
1225
+ class ExpectHelper {
1226
+ expectEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1227
+ expectNotEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1228
+ expectDeepEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1229
+ expectNotDeepEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1230
+ expectContain(actualValue: any, expectedValueToContain: any, customErrorMsg?: any): void;
1231
+ expectNotContain(actualValue: any, expectedValueToNotContain: any, customErrorMsg?: any): void;
1232
+ expectStartsWith(actualValue: any, expectedValueToStartWith: any, customErrorMsg?: any): void;
1233
+ expectNotStartsWith(actualValue: any, expectedValueToNotStartWith: any, customErrorMsg?: any): void;
1234
+ expectEndsWith(actualValue: any, expectedValueToEndWith: any, customErrorMsg?: any): void;
1235
+ expectNotEndsWith(actualValue: any, expectedValueToNotEndWith: any, customErrorMsg?: any): void;
1236
+ expectJsonSchema(targetData: any, jsonSchema: any, customErrorMsg?: any): void;
1237
+ /**
1238
+ * @param [ajvOptions] - Pass AJV options
1239
+ */
1240
+ expectJsonSchemaUsingAJV(targetData: any, jsonSchema: any, customErrorMsg?: any, ajvOptions?: any): void;
1241
+ expectHasProperty(targetData: any, propertyName: any, customErrorMsg?: any): void;
1242
+ expectHasAProperty(targetData: any, propertyName: any, customErrorMsg?: any): void;
1243
+ expectToBeA(targetData: any, type: any, customErrorMsg?: any): void;
1244
+ expectToBeAn(targetData: any, type: any, customErrorMsg?: any): void;
1245
+ expectMatchRegex(targetData: any, regex: any, customErrorMsg?: any): void;
1246
+ expectLengthOf(targetData: any, length: any, customErrorMsg?: any): void;
1247
+ expectEmpty(targetData: any, customErrorMsg?: any): void;
1248
+ expectTrue(targetData: any, customErrorMsg?: any): void;
1249
+ expectFalse(targetData: any, customErrorMsg?: any): void;
1250
+ expectAbove(targetData: any, aboveThan: any, customErrorMsg?: any): void;
1251
+ expectBelow(targetData: any, belowThan: any, customErrorMsg?: any): void;
1252
+ expectLengthAboveThan(targetData: any, lengthAboveThan: any, customErrorMsg?: any): void;
1253
+ expectLengthBelowThan(targetData: any, lengthBelowThan: any, customErrorMsg?: any): void;
1254
+ expectEqualIgnoreCase(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1255
+ /**
1256
+ * expects members of two arrays are deeply equal
1257
+ */
1258
+ expectDeepMembers(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1259
+ /**
1260
+ * expects an array to be a superset of another array
1261
+ */
1262
+ expectDeepIncludeMembers(superset: any, set: any, customErrorMsg?: any): void;
1263
+ /**
1264
+ * expects members of two JSON objects are deeply equal excluding some properties
1265
+ */
1266
+ expectDeepEqualExcluding(actualValue: any, expectedValue: any, fieldsToExclude: any, customErrorMsg?: any): void;
1267
+ /**
1268
+ * expects a JSON object matches a provided pattern
1269
+ */
1270
+ expectMatchesPattern(actualValue: any, expectedPattern: any, customErrorMsg?: any): void;
1271
+ expectEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1272
+ expectNotEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1273
+ expectDeepEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1274
+ expectNotDeepEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1275
+ expectContain(actualValue: any, expectedValueToContain: any, customErrorMsg?: any): void;
1276
+ expectNotContain(actualValue: any, expectedValueToNotContain: any, customErrorMsg?: any): void;
1277
+ expectStartsWith(actualValue: any, expectedValueToStartWith: any, customErrorMsg?: any): void;
1278
+ expectNotStartsWith(actualValue: any, expectedValueToNotStartWith: any, customErrorMsg?: any): void;
1279
+ expectEndsWith(actualValue: any, expectedValueToEndWith: any, customErrorMsg?: any): void;
1280
+ expectNotEndsWith(actualValue: any, expectedValueToNotEndWith: any, customErrorMsg?: any): void;
1281
+ expectJsonSchema(targetData: any, jsonSchema: any, customErrorMsg?: any): void;
1282
+ /**
1283
+ * @param [ajvOptions] - Pass AJV options
1284
+ */
1285
+ expectJsonSchemaUsingAJV(targetData: any, jsonSchema: any, customErrorMsg?: any, ajvOptions?: any): void;
1286
+ expectHasProperty(targetData: any, propertyName: any, customErrorMsg?: any): void;
1287
+ expectHasAProperty(targetData: any, propertyName: any, customErrorMsg?: any): void;
1288
+ expectToBeA(targetData: any, type: any, customErrorMsg?: any): void;
1289
+ expectToBeAn(targetData: any, type: any, customErrorMsg?: any): void;
1290
+ expectMatchRegex(targetData: any, regex: any, customErrorMsg?: any): void;
1291
+ expectLengthOf(targetData: any, length: any, customErrorMsg?: any): void;
1292
+ expectEmpty(targetData: any, customErrorMsg?: any): void;
1293
+ expectTrue(targetData: any, customErrorMsg?: any): void;
1294
+ expectFalse(targetData: any, customErrorMsg?: any): void;
1295
+ expectAbove(targetData: any, aboveThan: any, customErrorMsg?: any): void;
1296
+ expectBelow(targetData: any, belowThan: any, customErrorMsg?: any): void;
1297
+ expectLengthAboveThan(targetData: any, lengthAboveThan: any, customErrorMsg?: any): void;
1298
+ expectLengthBelowThan(targetData: any, lengthBelowThan: any, customErrorMsg?: any): void;
1299
+ expectEqualIgnoreCase(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1300
+ /**
1301
+ * expects members of two arrays are deeply equal
1302
+ */
1303
+ expectDeepMembers(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1304
+ /**
1305
+ * expects an array to be a superset of another array
1306
+ */
1307
+ expectDeepIncludeMembers(superset: any, set: any, customErrorMsg?: any): void;
1308
+ /**
1309
+ * expects members of two JSON objects are deeply equal excluding some properties
1310
+ */
1311
+ expectDeepEqualExcluding(actualValue: any, expectedValue: any, fieldsToExclude: any, customErrorMsg?: any): void;
1312
+ /**
1313
+ * expects a JSON object matches a provided pattern
1314
+ */
1315
+ expectMatchesPattern(actualValue: any, expectedPattern: any, customErrorMsg?: any): void;
1316
+ }
1317
+ /**
1318
+ * This helper allows performing assertions based on Chai.
1319
+ *
1320
+ * ### Examples
1321
+ *
1322
+ * Zero-configuration when paired with other helpers like REST, Playwright:
1323
+ *
1324
+ * ```js
1325
+ * // inside codecept.conf.js
1326
+ * {
1327
+ * helpers: {
1328
+ * Playwright: {...},
1329
+ * ExpectHelper: {},
1330
+ * }
1331
+ * }
1332
+ * ```
1333
+ *
1334
+ * ## Methods
1335
+ */
1336
+ class ExpectHelper {
1337
+ expectEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1338
+ expectNotEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1339
+ expectDeepEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1340
+ expectNotDeepEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1341
+ expectContain(actualValue: any, expectedValueToContain: any, customErrorMsg?: any): void;
1342
+ expectNotContain(actualValue: any, expectedValueToNotContain: any, customErrorMsg?: any): void;
1343
+ expectStartsWith(actualValue: any, expectedValueToStartWith: any, customErrorMsg?: any): void;
1344
+ expectNotStartsWith(actualValue: any, expectedValueToNotStartWith: any, customErrorMsg?: any): void;
1345
+ expectEndsWith(actualValue: any, expectedValueToEndWith: any, customErrorMsg?: any): void;
1346
+ expectNotEndsWith(actualValue: any, expectedValueToNotEndWith: any, customErrorMsg?: any): void;
1347
+ expectJsonSchema(targetData: any, jsonSchema: any, customErrorMsg?: any): void;
1348
+ /**
1349
+ * @param [ajvOptions] - Pass AJV options
1350
+ */
1351
+ expectJsonSchemaUsingAJV(targetData: any, jsonSchema: any, customErrorMsg?: any, ajvOptions?: any): void;
1352
+ expectHasProperty(targetData: any, propertyName: any, customErrorMsg?: any): void;
1353
+ expectHasAProperty(targetData: any, propertyName: any, customErrorMsg?: any): void;
1354
+ expectToBeA(targetData: any, type: any, customErrorMsg?: any): void;
1355
+ expectToBeAn(targetData: any, type: any, customErrorMsg?: any): void;
1356
+ expectMatchRegex(targetData: any, regex: any, customErrorMsg?: any): void;
1357
+ expectLengthOf(targetData: any, length: any, customErrorMsg?: any): void;
1358
+ expectEmpty(targetData: any, customErrorMsg?: any): void;
1359
+ expectTrue(targetData: any, customErrorMsg?: any): void;
1360
+ expectFalse(targetData: any, customErrorMsg?: any): void;
1361
+ expectAbove(targetData: any, aboveThan: any, customErrorMsg?: any): void;
1362
+ expectBelow(targetData: any, belowThan: any, customErrorMsg?: any): void;
1363
+ expectLengthAboveThan(targetData: any, lengthAboveThan: any, customErrorMsg?: any): void;
1364
+ expectLengthBelowThan(targetData: any, lengthBelowThan: any, customErrorMsg?: any): void;
1365
+ expectEqualIgnoreCase(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1366
+ /**
1367
+ * expects members of two arrays are deeply equal
1368
+ */
1369
+ expectDeepMembers(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1370
+ /**
1371
+ * expects an array to be a superset of another array
1372
+ */
1373
+ expectDeepIncludeMembers(superset: any, set: any, customErrorMsg?: any): void;
1374
+ /**
1375
+ * expects members of two JSON objects are deeply equal excluding some properties
1376
+ */
1377
+ expectDeepEqualExcluding(actualValue: any, expectedValue: any, fieldsToExclude: any, customErrorMsg?: any): void;
1378
+ /**
1379
+ * expects a JSON object matches a provided pattern
1380
+ */
1381
+ expectMatchesPattern(actualValue: any, expectedPattern: any, customErrorMsg?: any): void;
1382
+ expectEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1383
+ expectNotEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1384
+ expectDeepEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1385
+ expectNotDeepEqual(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1386
+ expectContain(actualValue: any, expectedValueToContain: any, customErrorMsg?: any): void;
1387
+ expectNotContain(actualValue: any, expectedValueToNotContain: any, customErrorMsg?: any): void;
1388
+ expectStartsWith(actualValue: any, expectedValueToStartWith: any, customErrorMsg?: any): void;
1389
+ expectNotStartsWith(actualValue: any, expectedValueToNotStartWith: any, customErrorMsg?: any): void;
1390
+ expectEndsWith(actualValue: any, expectedValueToEndWith: any, customErrorMsg?: any): void;
1391
+ expectNotEndsWith(actualValue: any, expectedValueToNotEndWith: any, customErrorMsg?: any): void;
1392
+ expectJsonSchema(targetData: any, jsonSchema: any, customErrorMsg?: any): void;
1393
+ /**
1394
+ * @param [ajvOptions] - Pass AJV options
1395
+ */
1396
+ expectJsonSchemaUsingAJV(targetData: any, jsonSchema: any, customErrorMsg?: any, ajvOptions?: any): void;
1397
+ expectHasProperty(targetData: any, propertyName: any, customErrorMsg?: any): void;
1398
+ expectHasAProperty(targetData: any, propertyName: any, customErrorMsg?: any): void;
1399
+ expectToBeA(targetData: any, type: any, customErrorMsg?: any): void;
1400
+ expectToBeAn(targetData: any, type: any, customErrorMsg?: any): void;
1401
+ expectMatchRegex(targetData: any, regex: any, customErrorMsg?: any): void;
1402
+ expectLengthOf(targetData: any, length: any, customErrorMsg?: any): void;
1403
+ expectEmpty(targetData: any, customErrorMsg?: any): void;
1404
+ expectTrue(targetData: any, customErrorMsg?: any): void;
1405
+ expectFalse(targetData: any, customErrorMsg?: any): void;
1406
+ expectAbove(targetData: any, aboveThan: any, customErrorMsg?: any): void;
1407
+ expectBelow(targetData: any, belowThan: any, customErrorMsg?: any): void;
1408
+ expectLengthAboveThan(targetData: any, lengthAboveThan: any, customErrorMsg?: any): void;
1409
+ expectLengthBelowThan(targetData: any, lengthBelowThan: any, customErrorMsg?: any): void;
1410
+ expectEqualIgnoreCase(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1411
+ /**
1412
+ * expects members of two arrays are deeply equal
1413
+ */
1414
+ expectDeepMembers(actualValue: any, expectedValue: any, customErrorMsg?: any): void;
1415
+ /**
1416
+ * expects an array to be a superset of another array
1417
+ */
1418
+ expectDeepIncludeMembers(superset: any, set: any, customErrorMsg?: any): void;
1419
+ /**
1420
+ * expects members of two JSON objects are deeply equal excluding some properties
1421
+ */
1422
+ expectDeepEqualExcluding(actualValue: any, expectedValue: any, fieldsToExclude: any, customErrorMsg?: any): void;
1423
+ /**
1424
+ * expects a JSON object matches a provided pattern
1425
+ */
1426
+ expectMatchesPattern(actualValue: any, expectedPattern: any, customErrorMsg?: any): void;
1427
+ }
1206
1428
  /**
1207
1429
  * Helper for testing filesystem.
1208
1430
  * Can be easily used to check file structures:
@@ -1786,11 +2008,6 @@ declare namespace CodeceptJS {
1786
2008
  * @property [host = "0.0.0.0"] - Mock server host
1787
2009
  * @property [httpsOpts] - key & cert values are the paths to .key and .crt files
1788
2010
  */
1789
- // @ts-ignore
1790
- // @ts-ignore
1791
- // @ts-ignore
1792
- // @ts-ignore
1793
- // @ts-ignore
1794
2011
  type MockServerConfig = {
1795
2012
  port?: number;
1796
2013
  host?: string;
@@ -1915,11 +2132,6 @@ declare namespace CodeceptJS {
1915
2132
  *
1916
2133
  * ## Methods
1917
2134
  */
1918
- // @ts-ignore
1919
- // @ts-ignore
1920
- // @ts-ignore
1921
- // @ts-ignore
1922
- // @ts-ignore
1923
2135
  class MockServer {
1924
2136
  /**
1925
2137
  * Start the mock server
@@ -2975,6 +3187,46 @@ declare namespace CodeceptJS {
2975
3187
  */
2976
3188
  grabPageScrollPosition(): Promise<PageScrollPosition>;
2977
3189
  }
3190
+ /**
3191
+ * OpenAI Helper for CodeceptJS.
3192
+ *
3193
+ * This helper class provides integration with the OpenAI GPT-3.5 or 4 language model for generating responses to questions or prompts within the context of web pages. It allows you to interact with the GPT-3.5 model to obtain intelligent responses based on HTML fragments or general prompts.
3194
+ * This helper should be enabled with any web helpers like Playwright or Puppeteer or WebDrvier to ensure the HTML context is available.
3195
+ *
3196
+ * ## Configuration
3197
+ *
3198
+ * This helper should be configured in codecept.json or codecept.conf.js
3199
+ *
3200
+ * * `chunkSize`: (optional, default: 80000) - The maximum number of characters to send to the OpenAI API at once. We split HTML fragments by 8000 chars to not exceed token limit. Increase this value if you use GPT-4.
3201
+ */
3202
+ class OpenAI {
3203
+ /**
3204
+ * Asks the OpenAI GPT language model a question based on the provided prompt within the context of the current page's HTML.
3205
+ *
3206
+ * ```js
3207
+ * I.askGptOnPage('what does this page do?');
3208
+ * ```
3209
+ * @param prompt - The question or prompt to ask the GPT model.
3210
+ * @returns - A Promise that resolves to the generated responses from the GPT model, joined by newlines.
3211
+ */
3212
+ askGptOnPage(prompt: string): Promise<string>;
3213
+ /**
3214
+ * Asks the OpenAI GPT-3.5 language model a question based on the provided prompt within the context of a specific HTML fragment on the current page.
3215
+ *
3216
+ * ```js
3217
+ * I.askGptOnPageFragment('describe features of this screen', '.screen');
3218
+ * ```
3219
+ * @param prompt - The question or prompt to ask the GPT-3.5 model.
3220
+ * @param locator - The locator or selector used to identify the HTML fragment on the page.
3221
+ * @returns - A Promise that resolves to the generated response from the GPT model.
3222
+ */
3223
+ askGptOnPageFragment(prompt: string, locator: string): Promise<string>;
3224
+ /**
3225
+ * Send a general request to ChatGPT and return response.
3226
+ * @returns - A Promise that resolves to the generated response from the GPT model.
3227
+ */
3228
+ askGptGeneralPrompt(prompt: string): Promise<string>;
3229
+ }
2978
3230
  /**
2979
3231
  * ## Configuration
2980
3232
  *
@@ -3019,11 +3271,6 @@ declare namespace CodeceptJS {
3019
3271
  * @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).
3020
3272
  * @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).
3021
3273
  */
3022
- // @ts-ignore
3023
- // @ts-ignore
3024
- // @ts-ignore
3025
- // @ts-ignore
3026
- // @ts-ignore
3027
3274
  type PlaywrightConfig = {
3028
3275
  url?: string;
3029
3276
  browser?: 'chromium' | 'firefox' | 'webkit' | 'electron';
@@ -6551,11 +6798,6 @@ declare namespace CodeceptJS {
6551
6798
  * @property [chrome] - pass additional [Puppeteer run options](https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#puppeteerlaunchoptions).
6552
6799
  * @property [highlightElement] - highlight the interacting elements. Default: false. Note: only activate under verbose mode (--verbose).
6553
6800
  */
6554
- // @ts-ignore
6555
- // @ts-ignore
6556
- // @ts-ignore
6557
- // @ts-ignore
6558
- // @ts-ignore
6559
6801
  type PuppeteerConfig = {
6560
6802
  url: string;
6561
6803
  basicAuth?: any;
@@ -8498,11 +8740,6 @@ declare namespace CodeceptJS {
8498
8740
  * @property [onResponse] - an async function which can update response object.
8499
8741
  * @property [maxUploadFileSize] - set the max content file size in MB when performing api calls.
8500
8742
  */
8501
- // @ts-ignore
8502
- // @ts-ignore
8503
- // @ts-ignore
8504
- // @ts-ignore
8505
- // @ts-ignore
8506
8743
  type RESTConfig = {
8507
8744
  endpoint?: string;
8508
8745
  prettyPrintJson?: boolean;
@@ -8695,6 +8932,250 @@ declare namespace CodeceptJS {
8695
8932
  */
8696
8933
  sendDeleteRequestWithPayload(url: any, payload?: any, headers?: any): Promise<any>;
8697
8934
  }
8935
+ /**
8936
+ * SoftAssertHelper is a utility class for performing soft assertions.
8937
+ * Unlike traditional assertions that stop the execution on failure,
8938
+ * soft assertions allow the execution to continue and report all failures at the end.
8939
+ *
8940
+ * ### Examples
8941
+ *
8942
+ * Zero-configuration when paired with other helpers like REST, Playwright:
8943
+ *
8944
+ * ```js
8945
+ * // inside codecept.conf.js
8946
+ * {
8947
+ * helpers: {
8948
+ * Playwright: {...},
8949
+ * SoftExpectHelper: {},
8950
+ * }
8951
+ * }
8952
+ * ```
8953
+ *
8954
+ * ```js
8955
+ * // in scenario
8956
+ * I.softExpectEqual('a', 'b')
8957
+ * I.flushSoftAssertions() // Throws an error if any soft assertions have failed. The error message contains all the accumulated failures.
8958
+ * ```
8959
+ *
8960
+ * ## Methods
8961
+ */
8962
+ class SoftAssertHelper {
8963
+ /**
8964
+ * Performs a soft assertion by executing the provided assertion function.
8965
+ * If the assertion fails, the error is caught and stored without halting the execution.
8966
+ * @param assertionFn - The assertion function to execute.
8967
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
8968
+ */
8969
+ softAssert(assertionFn: (...params: any[]) => any, customErrorMsg?: string): void;
8970
+ /**
8971
+ * Throws an error if any soft assertions have failed.
8972
+ * The error message contains all the accumulated failures.
8973
+ */
8974
+ flushSoftAssertions(): void;
8975
+ /**
8976
+ * Softly asserts that two values are equal.
8977
+ * @param actualValue - The actual value.
8978
+ * @param expectedValue - The expected value.
8979
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
8980
+ */
8981
+ softExpectEqual(actualValue: any, expectedValue: any, customErrorMsg?: string): void;
8982
+ /**
8983
+ * Softly asserts that two values are not equal.
8984
+ * @param actualValue - The actual value.
8985
+ * @param expectedValue - The expected value.
8986
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
8987
+ */
8988
+ softExpectNotEqual(actualValue: any, expectedValue: any, customErrorMsg?: string): void;
8989
+ /**
8990
+ * Softly asserts that two values are deeply equal.
8991
+ * @param actualValue - The actual value.
8992
+ * @param expectedValue - The expected value.
8993
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
8994
+ */
8995
+ softExpectDeepEqual(actualValue: any, expectedValue: any, customErrorMsg?: string): void;
8996
+ /**
8997
+ * Softly asserts that two values are not deeply equal.
8998
+ * @param actualValue - The actual value.
8999
+ * @param expectedValue - The expected value.
9000
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9001
+ */
9002
+ softExpectNotDeepEqual(actualValue: any, expectedValue: any, customErrorMsg?: string): void;
9003
+ /**
9004
+ * Softly asserts that a value contains the expected value.
9005
+ * @param actualValue - The actual value.
9006
+ * @param expectedValueToContain - The value that should be contained within the actual value.
9007
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9008
+ */
9009
+ softExpectContain(actualValue: any, expectedValueToContain: any, customErrorMsg?: string): void;
9010
+ /**
9011
+ * Softly asserts that a value does not contain the expected value.
9012
+ * @param actualValue - The actual value.
9013
+ * @param expectedValueToNotContain - The value that should not be contained within the actual value.
9014
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9015
+ */
9016
+ softExpectNotContain(actualValue: any, expectedValueToNotContain: any, customErrorMsg?: string): void;
9017
+ /**
9018
+ * Softly asserts that a value starts with the expected value.
9019
+ * @param actualValue - The actual value.
9020
+ * @param expectedValueToStartWith - The value that the actual value should start with.
9021
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9022
+ */
9023
+ softExpectStartsWith(actualValue: any, expectedValueToStartWith: any, customErrorMsg?: string): void;
9024
+ /**
9025
+ * Softly asserts that a value does not start with the expected value.
9026
+ * @param actualValue - The actual value.
9027
+ * @param expectedValueToNotStartWith - The value that the actual value should not start with.
9028
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9029
+ */
9030
+ softExpectNotStartsWith(actualValue: any, expectedValueToNotStartWith: any, customErrorMsg?: string): void;
9031
+ /**
9032
+ * Softly asserts that a value ends with the expected value.
9033
+ * @param actualValue - The actual value.
9034
+ * @param expectedValueToEndWith - The value that the actual value should end with.
9035
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9036
+ */
9037
+ softExpectEndsWith(actualValue: any, expectedValueToEndWith: any, customErrorMsg?: string): void;
9038
+ /**
9039
+ * Softly asserts that a value does not end with the expected value.
9040
+ * @param actualValue - The actual value.
9041
+ * @param expectedValueToNotEndWith - The value that the actual value should not end with.
9042
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9043
+ */
9044
+ softExpectNotEndsWith(actualValue: any, expectedValueToNotEndWith: any, customErrorMsg?: string): void;
9045
+ /**
9046
+ * Softly asserts that the target data matches the given JSON schema.
9047
+ * @param targetData - The data to validate.
9048
+ * @param jsonSchema - The JSON schema to validate against.
9049
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9050
+ */
9051
+ softExpectJsonSchema(targetData: any, jsonSchema: any, customErrorMsg?: string): void;
9052
+ /**
9053
+ * Softly asserts that the target data matches the given JSON schema using AJV.
9054
+ * @param targetData - The data to validate.
9055
+ * @param jsonSchema - The JSON schema to validate against.
9056
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9057
+ * @param [ajvOptions = { allErrors: true }] - Options to pass to AJV.
9058
+ */
9059
+ softExpectJsonSchemaUsingAJV(targetData: any, jsonSchema: any, customErrorMsg?: string, ajvOptions?: any): void;
9060
+ /**
9061
+ * Softly asserts that the target data has the specified property.
9062
+ * @param targetData - The data to check.
9063
+ * @param propertyName - The property name to check for.
9064
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion
9065
+ * fails.
9066
+ */
9067
+ softExpectHasProperty(targetData: any, propertyName: string, customErrorMsg?: string): void;
9068
+ /**
9069
+ * Softly asserts that the target data has a property with the specified name.
9070
+ * @param targetData - The data to check.
9071
+ * @param propertyName - The property name to check for.
9072
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9073
+ */
9074
+ softExpectHasAProperty(targetData: any, propertyName: string, customErrorMsg?: string): void;
9075
+ /**
9076
+ * Softly asserts that the target data is of a specific type.
9077
+ * @param targetData - The data to check.
9078
+ * @param type - The expected type (e.g., 'string', 'number').
9079
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9080
+ */
9081
+ softExpectToBeA(targetData: any, type: string, customErrorMsg?: string): void;
9082
+ /**
9083
+ * Softly asserts that the target data is of a specific type (alternative for articles).
9084
+ * @param targetData - The data to check.
9085
+ * @param type - The expected type (e.g., 'string', 'number').
9086
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9087
+ */
9088
+ softExpectToBeAn(targetData: any, type: string, customErrorMsg?: string): void;
9089
+ /**
9090
+ * Softly asserts that the target data has a specified length.
9091
+ * @param targetData - The data to check.
9092
+ * @param length - The expected length.
9093
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9094
+ */
9095
+ softExpectLengthOf(targetData: any, length: number, customErrorMsg?: string): void;
9096
+ /**
9097
+ * Softly asserts that the target data is empty.
9098
+ * @param targetData - The data to check.
9099
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9100
+ */
9101
+ softExpectEmpty(targetData: any, customErrorMsg?: string): void;
9102
+ /**
9103
+ * Softly asserts that the target data is true.
9104
+ * @param targetData - The data to check.
9105
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9106
+ */
9107
+ softExpectTrue(targetData: any, customErrorMsg?: string): void;
9108
+ /**
9109
+ * Softly asserts that the target data is false.
9110
+ * @param targetData - The data to check.
9111
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9112
+ */
9113
+ softExpectFalse(targetData: any, customErrorMsg?: string): void;
9114
+ /**
9115
+ * Softly asserts that the target data is above a specified value.
9116
+ * @param targetData - The data to check.
9117
+ * @param aboveThan - The value that the target data should be above.
9118
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9119
+ */
9120
+ softExpectAbove(targetData: any, aboveThan: any, customErrorMsg?: string): void;
9121
+ /**
9122
+ * Softly asserts that the target data is below a specified value.
9123
+ * @param targetData - The data to check.
9124
+ * @param belowThan - The value that the target data should be below.
9125
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9126
+ */
9127
+ softExpectBelow(targetData: any, belowThan: any, customErrorMsg?: string): void;
9128
+ /**
9129
+ * Softly asserts that the length of the target data is above a specified value.
9130
+ * @param targetData - The data to check.
9131
+ * @param lengthAboveThan - The length that the target data should be above.
9132
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9133
+ */
9134
+ softExpectLengthAboveThan(targetData: any, lengthAboveThan: number, customErrorMsg?: string): void;
9135
+ /**
9136
+ * Softly asserts that the length of the target data is below a specified value.
9137
+ * @param targetData - The data to check.
9138
+ * @param lengthBelowThan - The length that the target data should be below.
9139
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9140
+ */
9141
+ softExpectLengthBelowThan(targetData: any, lengthBelowThan: number, customErrorMsg?: string): void;
9142
+ /**
9143
+ * Softly asserts that two values are equal, ignoring case.
9144
+ * @param actualValue - The actual string value.
9145
+ * @param expectedValue - The expected string value.
9146
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9147
+ */
9148
+ softExpectEqualIgnoreCase(actualValue: string, expectedValue: string, customErrorMsg?: string): void;
9149
+ /**
9150
+ * Softly asserts that two arrays have deep equality, considering members in any order.
9151
+ * @param actualValue - The actual array.
9152
+ * @param expectedValue - The expected array.
9153
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9154
+ */
9155
+ softExpectDeepMembers(actualValue: any[], expectedValue: any[], customErrorMsg?: string): void;
9156
+ /**
9157
+ * Softly asserts that an array (superset) deeply includes all members of another array (set).
9158
+ * @param superset - The array that should contain the expected members.
9159
+ * @param set - The array with members that should be included.
9160
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9161
+ */
9162
+ softExpectDeepIncludeMembers(superset: any[], set: any[], customErrorMsg?: string): void;
9163
+ /**
9164
+ * Softly asserts that two objects are deeply equal, excluding specified fields.
9165
+ * @param actualValue - The actual object.
9166
+ * @param expectedValue - The expected object.
9167
+ * @param fieldsToExclude - The fields to exclude from the comparison.
9168
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9169
+ */
9170
+ softExpectDeepEqualExcluding(actualValue: any, expectedValue: any, fieldsToExclude: string[], customErrorMsg?: string): void;
9171
+ /**
9172
+ * Softly asserts that a value matches the expected pattern.
9173
+ * @param actualValue - The actual value.
9174
+ * @param expectedPattern - The pattern the value should match.
9175
+ * @param [customErrorMsg = ''] - A custom error message to display if the assertion fails.
9176
+ */
9177
+ softExpectMatchesPattern(actualValue: any, expectedPattern: any, customErrorMsg?: string): void;
9178
+ }
8698
9179
  /**
8699
9180
  * Client Functions
8700
9181
  */
@@ -9707,11 +10188,6 @@ declare namespace CodeceptJS {
9707
10188
  * @property [highlightElement] - highlight the interacting elements. Default: false. Note: only activate under verbose mode (--verbose).
9708
10189
  * @property [logLevel = silent] - level of logging verbosity. Default: silent. Options: trace | debug | info | warn | error | silent. More info: https://webdriver.io/docs/configuration/#loglevel
9709
10190
  */
9710
- // @ts-ignore
9711
- // @ts-ignore
9712
- // @ts-ignore
9713
- // @ts-ignore
9714
- // @ts-ignore
9715
10191
  type WebDriverConfig = {
9716
10192
  url: string;
9717
10193
  browser: string;
@@ -11793,6 +12269,10 @@ declare namespace CodeceptJS {
11793
12269
  * Dependency Injection Container
11794
12270
  */
11795
12271
  class Container {
12272
+ /**
12273
+ * Get the standard acting helpers of CodeceptJS Container
12274
+ */
12275
+ static STANDARD_ACTING_HELPERS: any;
11796
12276
  /**
11797
12277
  * Create container with all required helpers and support objects
11798
12278
  */
@@ -11837,16 +12317,12 @@ declare namespace CodeceptJS {
11837
12317
  }, newPlugins: {
11838
12318
  [key: string]: any;
11839
12319
  }): void;
11840
- static started(fn: (...params: any[]) => any): Promise<void>;
12320
+ static started(fn: ((...params: any[]) => any) | null): Promise<void>;
11841
12321
  /**
11842
12322
  * Share data across worker threads
11843
12323
  * @param options - set {local: true} to not share among workers
11844
12324
  */
11845
12325
  static share(data: any, options: any): void;
11846
- /**
11847
- * List of helpers that are used in CodeceptJS and can't be used together
11848
- */
11849
- static STANDARD_ACTING_HELPERS: string[];
11850
12326
  }
11851
12327
  /**
11852
12328
  * Method collect own property and prototype
@@ -11907,6 +12383,8 @@ declare namespace CodeceptJS {
11907
12383
  const hook: {
11908
12384
  started: 'hook.start';
11909
12385
  passed: 'hook.passed';
12386
+ failed: 'hook.failed';
12387
+ finished: 'hook.finished';
11910
12388
  };
11911
12389
  const step: {
11912
12390
  started: 'step.start';
@@ -12210,12 +12688,13 @@ declare namespace CodeceptJS {
12210
12688
  args: any[];
12211
12689
  opts: Record<string, any>;
12212
12690
  actor: string;
12213
- helperMethod: string;
12214
12691
  status: string;
12215
12692
  prefix: string;
12216
12693
  comment: string;
12217
12694
  metaStep: any;
12218
12695
  stack: string;
12696
+ helper: any;
12697
+ helperMethod: string;
12219
12698
  timeout: any;
12220
12699
  /**
12221
12700
  * @param timeout - timeout in milliseconds or 0 if no timeout
@@ -12238,12 +12717,29 @@ declare namespace CodeceptJS {
12238
12717
  * global values for current session
12239
12718
  */
12240
12719
  namespace store {
12720
+ /**
12721
+ * If we are in --debug mode
12722
+ */
12241
12723
  var debugMode: boolean;
12724
+ /**
12725
+ * Is timeouts enabled
12726
+ */
12242
12727
  var timeouts: boolean;
12728
+ /**
12729
+ * If auto-retries are enabled by retryFailedStep plugin
12730
+ * tryTo effect disables them
12731
+ */
12732
+ var autoRetries: boolean;
12733
+ /**
12734
+ * Tests are executed via dry-run
12735
+ */
12243
12736
  var dryRun: boolean;
12737
+ /**
12738
+ * If we are in pause mode
12739
+ */
12244
12740
  var onPause: boolean;
12245
12741
  var currentTest: CodeceptJS.Test | null;
12246
- var currentStep: any;
12742
+ var currentStep: CodeceptJS.Step | null;
12247
12743
  var currentSuite: CodeceptJS.Suite | null;
12248
12744
  }
12249
12745
  /**
@@ -12384,6 +12880,9 @@ declare namespace CodeceptJS {
12384
12880
  */
12385
12881
  err: Error | null;
12386
12882
  }
12883
+ /**
12884
+ * TODO: move to effects
12885
+ */
12387
12886
  function within(context: CodeceptJS.LocatorOrString, fn: (...params: any[]) => any): Promise<any> | undefined;
12388
12887
  /**
12389
12888
  * This is a wrapper on top of [Detox](https://github.com/wix/Detox) library, aimied to unify testing experience for CodeceptJS framework.