codeceptjs 3.6.10 → 3.7.0-beta.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.
Files changed (127) hide show
  1. package/README.md +89 -119
  2. package/bin/codecept.js +9 -2
  3. package/docs/webapi/clearCookie.mustache +1 -1
  4. package/lib/actor.js +66 -102
  5. package/lib/ai.js +130 -121
  6. package/lib/assert/empty.js +3 -5
  7. package/lib/assert/equal.js +4 -7
  8. package/lib/assert/include.js +4 -6
  9. package/lib/assert/throws.js +2 -4
  10. package/lib/assert/truth.js +2 -2
  11. package/lib/codecept.js +87 -83
  12. package/lib/command/check.js +186 -0
  13. package/lib/command/configMigrate.js +2 -4
  14. package/lib/command/definitions.js +8 -26
  15. package/lib/command/generate.js +10 -14
  16. package/lib/command/gherkin/snippets.js +10 -8
  17. package/lib/command/gherkin/steps.js +1 -1
  18. package/lib/command/info.js +1 -3
  19. package/lib/command/init.js +8 -12
  20. package/lib/command/interactive.js +2 -2
  21. package/lib/command/list.js +1 -1
  22. package/lib/command/run-multiple.js +12 -35
  23. package/lib/command/run-workers.js +5 -57
  24. package/lib/command/utils.js +5 -6
  25. package/lib/command/workers/runTests.js +68 -232
  26. package/lib/container.js +354 -237
  27. package/lib/data/context.js +10 -13
  28. package/lib/data/dataScenarioConfig.js +8 -8
  29. package/lib/data/dataTableArgument.js +6 -6
  30. package/lib/data/table.js +5 -11
  31. package/lib/effects.js +218 -0
  32. package/lib/els.js +158 -0
  33. package/lib/event.js +19 -17
  34. package/lib/heal.js +88 -80
  35. package/lib/helper/AI.js +2 -1
  36. package/lib/helper/ApiDataFactory.js +3 -6
  37. package/lib/helper/Appium.js +45 -51
  38. package/lib/helper/FileSystem.js +3 -3
  39. package/lib/helper/GraphQLDataFactory.js +3 -3
  40. package/lib/helper/JSONResponse.js +57 -37
  41. package/lib/helper/Nightmare.js +35 -53
  42. package/lib/helper/Playwright.js +211 -252
  43. package/lib/helper/Protractor.js +54 -77
  44. package/lib/helper/Puppeteer.js +139 -232
  45. package/lib/helper/REST.js +5 -17
  46. package/lib/helper/TestCafe.js +21 -44
  47. package/lib/helper/WebDriver.js +131 -169
  48. package/lib/helper/testcafe/testcafe-utils.js +26 -27
  49. package/lib/listener/emptyRun.js +55 -0
  50. package/lib/listener/exit.js +7 -10
  51. package/lib/listener/{retry.js → globalRetry.js} +5 -5
  52. package/lib/listener/globalTimeout.js +165 -0
  53. package/lib/listener/helpers.js +15 -15
  54. package/lib/listener/mocha.js +1 -1
  55. package/lib/listener/result.js +12 -0
  56. package/lib/listener/steps.js +20 -18
  57. package/lib/listener/store.js +20 -0
  58. package/lib/mocha/asyncWrapper.js +216 -0
  59. package/lib/{interfaces → mocha}/bdd.js +3 -3
  60. package/lib/mocha/cli.js +308 -0
  61. package/lib/mocha/factory.js +104 -0
  62. package/lib/{interfaces → mocha}/featureConfig.js +24 -12
  63. package/lib/{interfaces → mocha}/gherkin.js +26 -28
  64. package/lib/mocha/hooks.js +112 -0
  65. package/lib/mocha/index.js +12 -0
  66. package/lib/mocha/inject.js +29 -0
  67. package/lib/{interfaces → mocha}/scenarioConfig.js +21 -6
  68. package/lib/mocha/suite.js +81 -0
  69. package/lib/mocha/test.js +159 -0
  70. package/lib/mocha/types.d.ts +42 -0
  71. package/lib/mocha/ui.js +219 -0
  72. package/lib/output.js +82 -62
  73. package/lib/pause.js +155 -138
  74. package/lib/plugin/analyze.js +349 -0
  75. package/lib/plugin/autoDelay.js +6 -6
  76. package/lib/plugin/autoLogin.js +6 -7
  77. package/lib/plugin/commentStep.js +6 -1
  78. package/lib/plugin/coverage.js +10 -19
  79. package/lib/plugin/customLocator.js +3 -3
  80. package/lib/plugin/customReporter.js +52 -0
  81. package/lib/plugin/eachElement.js +1 -1
  82. package/lib/plugin/fakerTransform.js +1 -1
  83. package/lib/plugin/heal.js +36 -9
  84. package/lib/plugin/pageInfo.js +140 -0
  85. package/lib/plugin/retryFailedStep.js +4 -4
  86. package/lib/plugin/retryTo.js +18 -118
  87. package/lib/plugin/screenshotOnFail.js +17 -49
  88. package/lib/plugin/selenoid.js +15 -35
  89. package/lib/plugin/standardActingHelpers.js +4 -1
  90. package/lib/plugin/stepByStepReport.js +56 -17
  91. package/lib/plugin/stepTimeout.js +5 -12
  92. package/lib/plugin/subtitles.js +4 -4
  93. package/lib/plugin/tryTo.js +17 -107
  94. package/lib/plugin/wdio.js +8 -10
  95. package/lib/recorder.js +146 -125
  96. package/lib/rerun.js +43 -42
  97. package/lib/result.js +161 -0
  98. package/lib/secret.js +1 -1
  99. package/lib/step/base.js +228 -0
  100. package/lib/step/config.js +50 -0
  101. package/lib/step/func.js +46 -0
  102. package/lib/step/helper.js +50 -0
  103. package/lib/step/meta.js +99 -0
  104. package/lib/step/record.js +74 -0
  105. package/lib/step/retry.js +11 -0
  106. package/lib/step/section.js +55 -0
  107. package/lib/step.js +21 -332
  108. package/lib/steps.js +50 -0
  109. package/lib/store.js +10 -2
  110. package/lib/template/heal.js +2 -11
  111. package/lib/timeout.js +66 -0
  112. package/lib/utils.js +317 -216
  113. package/lib/within.js +73 -55
  114. package/lib/workers.js +259 -275
  115. package/package.json +56 -54
  116. package/typings/index.d.ts +175 -186
  117. package/typings/promiseBasedTypes.d.ts +164 -17
  118. package/typings/types.d.ts +284 -115
  119. package/lib/cli.js +0 -256
  120. package/lib/helper/ExpectHelper.js +0 -391
  121. package/lib/helper/SoftExpectHelper.js +0 -381
  122. package/lib/listener/artifacts.js +0 -19
  123. package/lib/listener/timeout.js +0 -109
  124. package/lib/mochaFactory.js +0 -113
  125. package/lib/plugin/debugErrors.js +0 -67
  126. package/lib/scenario.js +0 -224
  127. package/lib/ui.js +0 -236
@@ -1,5 +1,6 @@
1
1
  // Project: https://github.com/codeception/codeceptjs/
2
2
  /// <reference path="./types.d.ts" />
3
+ /// <reference path="../lib/mocha/types.d.ts" />
3
4
  /// <reference path="./promiseBasedTypes.d.ts" />
4
5
  /// <reference types="webdriverio" />
5
6
  /// <reference path="./Mocha.d.ts" />
@@ -9,76 +10,75 @@
9
10
  declare namespace CodeceptJS {
10
11
  type WithTranslation<T> = T &
11
12
  // @ts-ignore
12
- import("./utils").Translate<T, Translation.Actions>;
13
+ import('./utils').Translate<T, Translation.Actions>
13
14
 
14
15
  type Cookie = {
15
- name: string;
16
- value: string | boolean;
17
- domain?: string,
18
- path?: string,
19
- };
16
+ name: string
17
+ value: string | boolean
18
+ domain?: string
19
+ path?: string
20
+ }
20
21
 
21
22
  type RetryConfig = {
22
23
  /** Filter tests by string or regexp pattern */
23
- grep?: string | RegExp;
24
+ grep?: string | RegExp
24
25
  /** Number of times to repeat scenarios of a Feature */
25
- Feature?: number;
26
+ Feature?: number
26
27
  /** Number of times to repeat scenarios */
27
- Scenario?: number;
28
+ Scenario?: number
28
29
  /** Number of times to repeat Before hook */
29
- Before?: number;
30
+ Before?: number
30
31
  /** Number of times to repeat After hook */
31
- After?: number;
32
+ After?: number
32
33
  /** Number of times to repeat BeforeSuite hook */
33
- BeforeSuite?: number;
34
+ BeforeSuite?: number
34
35
  /** Number of times to repeat AfterSuite hook */
35
- AfterSuite?: number;
36
- };
36
+ AfterSuite?: number
37
+ }
37
38
 
38
39
  type TimeoutConfig = {
39
40
  /** Filter tests by string or regexp pattern */
40
- grep: string | RegExp;
41
+ grep: string | RegExp
41
42
  /** Set timeout for a scenarios of a Feature */
42
- Feature: number;
43
+ Feature: number
43
44
  /** Set timeout for scenarios */
44
- Scenario: number;
45
- };
45
+ Scenario: number
46
+ }
46
47
 
47
48
  type AiPrompt = {
48
- role: string;
49
- content: string;
49
+ role: string
50
+ content: string
50
51
  }
51
52
 
52
53
  type AiConfig = {
53
54
  /** request function to send prompts to AI provider */
54
- request: (messages: any) => Promise<string>,
55
+ request: (messages: any) => Promise<string>
55
56
 
56
57
  /** custom prompts */
57
58
  prompts?: {
58
59
  /** Returns prompt to write CodeceptJS steps inside pause mode */
59
- writeStep?: (html: string, input: string) => Array<AiPrompt>;
60
+ writeStep?: (html: string, input: string) => Array<AiPrompt>
60
61
  /** Returns prompt to heal step when test fails on CI if healing is on */
61
- healStep?: (html: string, object) => Array<AiPrompt>;
62
+ healStep?: (html: string, object) => Array<AiPrompt>
62
63
  /** Returns prompt to generate page object inside pause mode */
63
- generatePageObject?: (html: string, extraPrompt?: string, rootLocator?: string) => Array<AiPrompt>;
64
- },
64
+ generatePageObject?: (html: string, extraPrompt?: string, rootLocator?: string) => Array<AiPrompt>
65
+ }
65
66
 
66
67
  /** max tokens to use */
67
- maxTokens?: number,
68
-
68
+ maxTokens?: number
69
69
 
70
70
  /** configuration for processing HTML for GPT */
71
71
  html?: {
72
72
  /** max size of HTML to be sent to OpenAI to avoid token limit */
73
- maxLength?: number,
73
+ maxLength?: number
74
74
  /** should HTML be changed by removing non-interactive elements */
75
- simplify?: boolean,
75
+ simplify?: boolean
76
76
  /** should HTML be minified before sending */
77
- minify?: boolean,
78
- interactiveElements?: Array<string>,
79
- textElements?: Array<string>,
80
- allowedAttrs?: Array<string>,
81
- allowedRoles?: Array<string>,
77
+ minify?: boolean
78
+ interactiveElements?: Array<string>
79
+ textElements?: Array<string>
80
+ allowedAttrs?: Array<string>
81
+ allowedRoles?: Array<string>
82
82
  }
83
83
  }
84
84
 
@@ -97,7 +97,7 @@ declare namespace CodeceptJS {
97
97
  * tests: 'tests/**.test.ts'
98
98
  * ```
99
99
  */
100
- tests: string;
100
+ tests: string
101
101
  /**
102
102
  * Where to store failure screenshots, artifacts, etc
103
103
  *
@@ -105,7 +105,7 @@ declare namespace CodeceptJS {
105
105
  * output: './output'
106
106
  * ```
107
107
  */
108
- output: string;
108
+ output: string
109
109
  /**
110
110
  * empty output folder for next run
111
111
  *
@@ -113,7 +113,7 @@ declare namespace CodeceptJS {
113
113
  * emptyOutputFolder: true
114
114
  * ```
115
115
  */
116
- emptyOutputFolder?: boolean;
116
+ emptyOutputFolder?: boolean
117
117
  /**
118
118
  * mask sensitive data in output logs
119
119
  *
@@ -121,7 +121,7 @@ declare namespace CodeceptJS {
121
121
  * maskSensitiveData: true
122
122
  * ```
123
123
  */
124
- maskSensitiveData?: boolean;
124
+ maskSensitiveData?: boolean
125
125
  /**
126
126
  * Pattern to filter tests by name.
127
127
  * This option is useful if you plan to use multiple configs for different environments.
@@ -132,7 +132,7 @@ declare namespace CodeceptJS {
132
132
  * grep: '@firefox'
133
133
  * ```
134
134
  */
135
- grep?: string;
135
+ grep?: string
136
136
  /**
137
137
  * Enable and configure helpers:
138
138
  *
@@ -158,7 +158,7 @@ declare namespace CodeceptJS {
158
158
  * I.see('Welcome');
159
159
  * ```
160
160
  */
161
- Playwright?: PlaywrightConfig;
161
+ Playwright?: PlaywrightConfig
162
162
  /**
163
163
  * Run web tests controlling browsers via Puppeteer engine.
164
164
  *
@@ -171,7 +171,7 @@ declare namespace CodeceptJS {
171
171
  * I.see('Welcome');
172
172
  * ```
173
173
  */
174
- Puppeteer?: PuppeteerConfig;
174
+ Puppeteer?: PuppeteerConfig
175
175
 
176
176
  /**
177
177
  * Run web tests controlling browsers via WebDriver engine.
@@ -185,7 +185,7 @@ declare namespace CodeceptJS {
185
185
  *
186
186
  * https://codecept.io/helpers/webdriver
187
187
  */
188
- WebDriver?: WebDriverConfig;
188
+ WebDriver?: WebDriverConfig
189
189
  /**
190
190
  * Execute REST API requests for API testing or to assist web testing.
191
191
  *
@@ -196,7 +196,7 @@ declare namespace CodeceptJS {
196
196
  * I.sendGetRequest('/');
197
197
  * ```
198
198
  */
199
- REST?: RESTConfig;
199
+ REST?: RESTConfig
200
200
 
201
201
  /**
202
202
  * Use JSON assertions for API testing.
@@ -209,13 +209,13 @@ declare namespace CodeceptJS {
209
209
  * I.seeResponseContainsJson({ user: { email: 'jon@doe.com' } });
210
210
  * ```
211
211
  */
212
- JSONResponse?: any;
212
+ JSONResponse?: any
213
213
 
214
214
  /** Enable AI features for development purposes */
215
- AI?: any;
215
+ AI?: any
216
216
 
217
- [key: string]: any;
218
- },
217
+ [key: string]: any
218
+ }
219
219
  /**
220
220
  * Enable CodeceptJS plugins.
221
221
  *
@@ -233,7 +233,7 @@ declare namespace CodeceptJS {
233
233
  }
234
234
  * ```
235
235
  */
236
- plugins?: any;
236
+ plugins?: any
237
237
  /**
238
238
  * Include page objects to access them via dependency injection
239
239
  *
@@ -248,7 +248,7 @@ declare namespace CodeceptJS {
248
248
  * Scenario('test', { I, loginPage, User })
249
249
  * ```
250
250
  */
251
- include?: any;
251
+ include?: any
252
252
  /**
253
253
  * Set default tests timeout in seconds.
254
254
  * Tests will be killed on no response after timeout.
@@ -269,7 +269,7 @@ declare namespace CodeceptJS {
269
269
  * ]
270
270
  * ```
271
271
  */
272
- timeout?: number | Array<TimeoutConfig> | TimeoutConfig;
272
+ timeout?: number | Array<TimeoutConfig> | TimeoutConfig
273
273
 
274
274
  /**
275
275
  * Configure retry strategy for tests
@@ -304,11 +304,10 @@ declare namespace CodeceptJS {
304
304
  * ]
305
305
  * ```
306
306
  */
307
- retry?: number | Array<RetryConfig> | RetryConfig;
308
-
307
+ retry?: number | Array<RetryConfig> | RetryConfig
309
308
 
310
309
  /** Disable registering global functions (Before, Scenario, etc). Not recommended */
311
- noGlobals?: boolean;
310
+ noGlobals?: boolean
312
311
  /**
313
312
  * [Mocha test runner options](https://mochajs.org/#configuring-mocha-nodejs), additional [reporters](https://codecept.io/reports/#xml) can be configured here.
314
313
  *
@@ -326,7 +325,7 @@ declare namespace CodeceptJS {
326
325
  * }
327
326
  * ```
328
327
  */
329
- mocha?: any;
328
+ mocha?: any
330
329
  /**
331
330
  * [Execute code before](https://codecept.io/bootstrap/) tests are run.
332
331
  *
@@ -340,7 +339,7 @@ declare namespace CodeceptJS {
340
339
  * bootstrap: 'bootstrap.js',
341
340
  * ```
342
341
  */
343
- bootstrap?: (() => Promise<void>) | boolean | string;
342
+ bootstrap?: (() => Promise<void>) | boolean | string
344
343
  /**
345
344
  * [Execute code after tests](https://codecept.io/bootstrap/) finished.
346
345
  *
@@ -354,22 +353,22 @@ declare namespace CodeceptJS {
354
353
  * teardown: 'teardown.js',
355
354
  * ```
356
355
  */
357
- teardown?: (() => Promise<void>) | boolean | string;
356
+ teardown?: (() => Promise<void>) | boolean | string
358
357
  /**
359
358
  * [Execute code before launching tests in parallel mode](https://codecept.io/bootstrap/#bootstrapall-teardownall)
360
359
  *
361
360
  */
362
- bootstrapAll?: (() => Promise<void>) | boolean | string;
361
+ bootstrapAll?: (() => Promise<void>) | boolean | string
363
362
  /**
364
363
  * [Execute JS code after finishing tests in parallel mode](https://codecept.io/bootstrap/#bootstrapall-teardownall)
365
364
  */
366
- teardownAll?: (() => Promise<void>) | boolean | string;
365
+ teardownAll?: (() => Promise<void>) | boolean | string
367
366
 
368
367
  /** Enable [localized test commands](https://codecept.io/translation/) */
369
- translation?: string;
368
+ translation?: string
370
369
 
371
370
  /** Additional vocabularies for [localication](https://codecept.io/translation/) */
372
- vocabularies?: Array<string>;
371
+ vocabularies?: Array<string>
373
372
 
374
373
  /**
375
374
  * [Require additional JS modules](https://codecept.io/configuration/#require)
@@ -379,7 +378,7 @@ declare namespace CodeceptJS {
379
378
  * require: ["should"]
380
379
  * ```
381
380
  */
382
- require?: Array<string>;
381
+ require?: Array<string>
383
382
 
384
383
  /**
385
384
  * Enable [BDD features](https://codecept.io/bdd/#configuration).
@@ -394,45 +393,45 @@ declare namespace CodeceptJS {
394
393
  */
395
394
  gherkin?: {
396
395
  /** load feature files by pattern. Multiple patterns can be specified as array */
397
- features: string | Array<string>,
396
+ features: string | Array<string>
398
397
  /** load step definitions from JS files */
399
398
  steps: string | Array<string>
400
- };
399
+ }
401
400
 
402
401
  /**
403
402
  * [AI](https://codecept.io/ai/) features configuration.
404
403
  */
405
- ai?: AiConfig,
404
+ ai?: AiConfig
406
405
 
407
406
  /**
408
407
  * Enable full promise-based helper methods for [TypeScript](https://codecept.io/typescript/) project.
409
408
  * If true, all helper methods are typed as asynchronous;
410
409
  * Otherwise, it remains as it works in versions prior to 3.3.6
411
410
  */
412
- fullPromiseBased?: boolean;
411
+ fullPromiseBased?: boolean
413
412
 
414
- [key: string]: any;
415
- };
413
+ [key: string]: any
414
+ }
416
415
 
417
416
  type MockRequest = {
418
- method: 'GET'|'PUT'|'POST'|'PATCH'|'DELETE'|string;
419
- path: string;
420
- queryParams?: object;
417
+ method: 'GET' | 'PUT' | 'POST' | 'PATCH' | 'DELETE' | string
418
+ path: string
419
+ queryParams?: object
421
420
  }
422
421
 
423
422
  type MockResponse = {
424
- status: number;
425
- body?: object;
423
+ status: number
424
+ body?: object
426
425
  }
427
426
 
428
427
  type MockInteraction = {
429
- request: MockRequest;
430
- response: MockResponse;
428
+ request: MockRequest
429
+ response: MockResponse
431
430
  }
432
431
 
433
432
  interface PageScrollPosition {
434
- x: number;
435
- y: number;
433
+ x: number
434
+ y: number
436
435
  }
437
436
 
438
437
  // Could get extended by user generated typings
@@ -441,25 +440,20 @@ declare namespace CodeceptJS {
441
440
  interface IHook {}
442
441
  interface IScenario {}
443
442
  interface IFeature {
444
- (title: string): FeatureConfig;
443
+ (title: string): FeatureConfig
445
444
  }
446
445
  interface CallbackOrder extends Array<any> {}
447
446
  interface SupportObject {
448
- I: CodeceptJS.I;
447
+ I: CodeceptJS.I
449
448
  }
450
449
  namespace Translation {
451
450
  interface Actions {}
452
451
  }
453
452
 
454
453
  // Extending JSDoc generated typings
455
- interface Step {
456
- isMetaStep(): this is MetaStep;
457
- }
458
454
 
459
455
  // Types who are not be defined by JSDoc
460
- type actor = <T extends { [action: string]: (...args: any[]) => void }>(
461
- customSteps?: T & ThisType<WithTranslation<Methods & T>>
462
- ) => WithTranslation<Methods & T>;
456
+ type actor = <T extends { [action: string]: (...args: any[]) => void }>(customSteps?: T & ThisType<WithTranslation<Methods & T>>) => WithTranslation<Methods & T>
463
457
 
464
458
  type ILocator =
465
459
  | { id: string }
@@ -474,49 +468,42 @@ declare namespace CodeceptJS {
474
468
  | { vue: string }
475
469
  | { shadow: string[] }
476
470
  | { custom: string }
477
- | { pw: string };
471
+ | { pw: string }
478
472
  interface CustomLocators {}
479
- interface OtherLocators { props?: object }
480
- type LocatorOrString =
481
- | string
482
- | ILocator
483
- | Locator
484
- | OtherLocators
485
- | CustomLocators[keyof CustomLocators];
473
+ interface OtherLocators {
474
+ props?: object
475
+ }
476
+ type LocatorOrString = string | ILocator | Locator | OtherLocators | CustomLocators[keyof CustomLocators]
486
477
 
487
- type StringOrSecret = string | CodeceptJS.Secret;
478
+ type StringOrSecret = string | CodeceptJS.Secret
488
479
 
489
480
  interface HookCallback {
490
- (args: SupportObject): void | Promise<void>;
481
+ (args: SupportObject): void | Promise<void>
491
482
  }
492
483
  interface Scenario extends IScenario {
493
- only: IScenario;
494
- skip: IScenario;
495
- todo: IScenario;
484
+ only: IScenario
485
+ skip: IScenario
486
+ todo: IScenario
496
487
  }
497
488
  interface Feature extends IFeature {
498
- skip: IFeature;
489
+ skip: IFeature
499
490
  }
500
491
  interface IData {
501
- Scenario: IScenario;
502
- only: { Scenario: IScenario };
492
+ Scenario: IScenario
493
+ only: { Scenario: IScenario }
503
494
  }
504
495
 
505
496
  interface IScenario {
506
497
  // Scenario.todo can be called only with a title.
507
- (title: string, callback?: HookCallback): ScenarioConfig;
508
- (
509
- title: string,
510
- opts: { [key: string]: any },
511
- callback: HookCallback
512
- ): ScenarioConfig;
498
+ (title: string, callback?: HookCallback): ScenarioConfig
499
+ (title: string, opts: { [key: string]: any }, callback: HookCallback): ScenarioConfig
513
500
  }
514
501
  interface IHook {
515
- (callback: HookCallback): void;
502
+ (callback: HookCallback): HookConfig
516
503
  }
517
504
 
518
505
  interface Globals {
519
- codeceptjs: typeof codeceptjs;
506
+ codeceptjs: typeof codeceptjs
520
507
  }
521
508
 
522
509
  interface IParameterTypeDefinition<T> {
@@ -526,122 +513,124 @@ declare namespace CodeceptJS {
526
513
  useForSnippets?: boolean
527
514
  preferForRegexpMatch?: boolean
528
515
  }
516
+
517
+ interface HookConfig {
518
+ retry(retries?: number): HookConfig
519
+ }
529
520
  }
530
521
 
531
522
  // Globals
532
- declare const codecept_dir: string;
533
- declare const output_dir: string;
534
- declare function tryTo(...fn): Promise<boolean>;
535
- declare function retryTo(...fn): Promise<null>;
536
-
537
- declare const actor: CodeceptJS.actor;
538
- declare const codecept_actor: CodeceptJS.actor;
539
- declare const Helper: typeof CodeceptJS.Helper;
540
- declare const codecept_helper: typeof CodeceptJS.Helper;
541
- declare const pause: typeof CodeceptJS.pause;
542
- declare const within: typeof CodeceptJS.within;
543
- declare const session: typeof CodeceptJS.session;
544
- declare const DataTable: typeof CodeceptJS.DataTable;
545
- declare const DataTableArgument: typeof CodeceptJS.DataTableArgument;
546
- declare const codeceptjs: typeof CodeceptJS.index;
547
- declare const locate: typeof CodeceptJS.Locator.build;
548
- declare function inject(): CodeceptJS.SupportObject;
549
- declare function inject<T extends keyof CodeceptJS.SupportObject>(
550
- name: T
551
- ): CodeceptJS.SupportObject[T];
552
- declare const secret: typeof CodeceptJS.Secret.secret;
523
+ declare const codecept_dir: string
524
+ declare const output_dir: string
525
+ declare function tryTo(...fn): Promise<boolean>
526
+ declare function retryTo(...fn): Promise<null>
527
+
528
+ declare const actor: CodeceptJS.actor
529
+ declare const codecept_actor: CodeceptJS.actor
530
+ declare const Helper: typeof CodeceptJS.Helper
531
+ declare const codecept_helper: typeof CodeceptJS.Helper
532
+ declare const pause: typeof CodeceptJS.pause
533
+ declare const within: typeof CodeceptJS.within
534
+ declare const session: typeof CodeceptJS.session
535
+ declare const DataTable: typeof CodeceptJS.DataTable
536
+ declare const DataTableArgument: typeof CodeceptJS.DataTableArgument
537
+ declare const codeceptjs: typeof CodeceptJS.index
538
+ declare const locate: typeof CodeceptJS.Locator.build
539
+ declare function inject(): CodeceptJS.SupportObject
540
+ declare function inject<T extends keyof CodeceptJS.SupportObject>(name: T): CodeceptJS.SupportObject[T]
541
+ declare const secret: typeof CodeceptJS.Secret.secret
553
542
 
554
543
  // BDD
555
- declare const Given: typeof CodeceptJS.addStep;
556
- declare const When: typeof CodeceptJS.addStep;
557
- declare const Then: typeof CodeceptJS.addStep;
558
-
559
- declare const Feature: typeof CodeceptJS.Feature;
560
- declare const Scenario: CodeceptJS.Scenario;
561
- declare const xScenario: CodeceptJS.IScenario;
562
- declare const xFeature: CodeceptJS.IFeature;
563
- declare function Data(data: any): CodeceptJS.IData;
564
- declare function xData(data: any): CodeceptJS.IData;
544
+ declare const Given: typeof CodeceptJS.addStep
545
+ declare const When: typeof CodeceptJS.addStep
546
+ declare const Then: typeof CodeceptJS.addStep
547
+
548
+ declare const Feature: typeof CodeceptJS.Feature
549
+ declare const Scenario: CodeceptJS.Scenario
550
+ declare const xScenario: CodeceptJS.IScenario
551
+ declare const xFeature: CodeceptJS.IFeature
552
+ declare function Data(data: any): CodeceptJS.IData
553
+ declare function xData(data: any): CodeceptJS.IData
565
554
  declare function DefineParameterType(options: CodeceptJS.IParameterTypeDefinition<any>): void
566
555
 
567
556
  // Hooks
568
- declare const BeforeSuite: CodeceptJS.IHook;
569
- declare const AfterSuite: CodeceptJS.IHook;
570
- declare const Background: CodeceptJS.IHook;
571
- declare const Before: CodeceptJS.IHook;
572
- declare const After: CodeceptJS.IHook;
557
+ declare const BeforeSuite: CodeceptJS.IHook
558
+ declare const AfterSuite: CodeceptJS.IHook
559
+ declare const Background: CodeceptJS.IHook
560
+ declare const Before: CodeceptJS.IHook
561
+ declare const After: CodeceptJS.IHook
573
562
 
574
563
  // Plugins
575
564
  declare const __: any
576
565
 
577
566
  interface Window {
578
- resq: any;
567
+ resq: any
579
568
  }
580
569
 
581
570
  declare namespace NodeJS {
582
571
  interface Process {
583
- profile: string;
572
+ profile: string
584
573
  }
585
574
 
586
575
  interface Global extends CodeceptJS.Globals {
587
- codecept_dir: typeof codecept_dir;
588
- output_dir: typeof output_dir;
589
-
590
- actor: typeof actor;
591
- codecept_actor: typeof codecept_actor;
592
- Helper: typeof Helper;
593
- codecept_helper: typeof codecept_helper;
594
- pause: typeof pause;
595
- within: typeof within;
596
- session: typeof session;
597
- DataTable: typeof DataTable;
598
- DataTableArgument: typeof DataTableArgument;
599
- locate: typeof locate;
600
- inject: typeof inject;
601
- secret: typeof secret;
576
+ codecept_dir: typeof codecept_dir
577
+ output_dir: typeof output_dir
578
+
579
+ actor: typeof actor
580
+ codecept_actor: typeof codecept_actor
581
+ Helper: typeof Helper
582
+ codecept_helper: typeof codecept_helper
583
+ pause: typeof pause
584
+ within: typeof within
585
+ session: typeof session
586
+ DataTable: typeof DataTable
587
+ DataTableArgument: typeof DataTableArgument
588
+ locate: typeof locate
589
+ inject: typeof inject
590
+ secret: typeof secret
602
591
  // plugins
603
- tryTo: typeof tryTo;
604
- retryTo: typeof retryTo;
592
+ tryTo: typeof tryTo
593
+ retryTo: typeof retryTo
605
594
 
606
595
  // BDD
607
- Given: typeof Given;
608
- When: typeof When;
609
- Then: typeof Then;
596
+ Given: typeof Given
597
+ When: typeof When
598
+ Then: typeof Then
610
599
  DefineParameterType: typeof DefineParameterType
611
600
  }
612
601
  }
613
602
 
614
603
  declare namespace Mocha {
615
604
  interface MochaGlobals {
616
- Feature: typeof Feature;
617
- Scenario: typeof Scenario;
618
- xFeature: typeof xFeature;
619
- xScenario: typeof xScenario;
620
- Data: typeof Data;
621
- xData: typeof xData;
622
- BeforeSuite: typeof BeforeSuite;
623
- AfterSuite: typeof AfterSuite;
624
- Background: typeof Background;
625
- Before: typeof Before;
626
- After: typeof After;
605
+ Feature: typeof Feature
606
+ Scenario: typeof Scenario
607
+ xFeature: typeof xFeature
608
+ xScenario: typeof xScenario
609
+ Data: typeof Data
610
+ xData: typeof xData
611
+ BeforeSuite: typeof BeforeSuite
612
+ AfterSuite: typeof AfterSuite
613
+ Background: typeof Background
614
+ Before: typeof Before
615
+ After: typeof After
627
616
  }
628
617
 
629
618
  interface Suite extends SuiteRunnable {
630
- tags: any[];
631
- comment: string;
632
- feature: any;
619
+ tags: any[]
620
+ comment: string
621
+ feature: any
633
622
  }
634
623
 
635
624
  interface Test extends Runnable {
636
- artifacts: [],
637
- tags: any[];
625
+ artifacts: []
626
+ tags: any[]
638
627
  }
639
628
  }
640
629
 
641
- declare module "codeceptjs" {
642
- export = codeceptjs;
630
+ declare module 'codeceptjs' {
631
+ export = codeceptjs
643
632
  }
644
633
 
645
- declare module "@codeceptjs/helper" {
646
- export = CodeceptJS.Helper;
634
+ declare module '@codeceptjs/helper' {
635
+ export = CodeceptJS.Helper
647
636
  }