codeceptjs 3.6.10 → 3.7.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 (105) hide show
  1. package/README.md +81 -110
  2. package/bin/codecept.js +2 -2
  3. package/docs/webapi/clearCookie.mustache +1 -1
  4. package/lib/actor.js +46 -36
  5. package/lib/assert/empty.js +3 -5
  6. package/lib/assert/equal.js +4 -7
  7. package/lib/assert/include.js +4 -6
  8. package/lib/assert/throws.js +2 -4
  9. package/lib/assert/truth.js +2 -2
  10. package/lib/codecept.js +87 -83
  11. package/lib/command/configMigrate.js +2 -4
  12. package/lib/command/definitions.js +5 -25
  13. package/lib/command/generate.js +10 -14
  14. package/lib/command/gherkin/snippets.js +10 -8
  15. package/lib/command/gherkin/steps.js +1 -1
  16. package/lib/command/info.js +1 -3
  17. package/lib/command/init.js +8 -12
  18. package/lib/command/interactive.js +1 -1
  19. package/lib/command/list.js +1 -1
  20. package/lib/command/run-multiple.js +12 -35
  21. package/lib/command/run-workers.js +10 -10
  22. package/lib/command/utils.js +5 -6
  23. package/lib/command/workers/runTests.js +14 -17
  24. package/lib/container.js +327 -237
  25. package/lib/data/context.js +10 -13
  26. package/lib/data/dataScenarioConfig.js +8 -8
  27. package/lib/data/dataTableArgument.js +6 -6
  28. package/lib/data/table.js +5 -11
  29. package/lib/els.js +177 -0
  30. package/lib/event.js +1 -0
  31. package/lib/heal.js +78 -80
  32. package/lib/helper/ApiDataFactory.js +3 -6
  33. package/lib/helper/Appium.js +15 -30
  34. package/lib/helper/FileSystem.js +3 -3
  35. package/lib/helper/GraphQLDataFactory.js +3 -3
  36. package/lib/helper/JSONResponse.js +57 -37
  37. package/lib/helper/Nightmare.js +35 -53
  38. package/lib/helper/Playwright.js +189 -251
  39. package/lib/helper/Protractor.js +54 -77
  40. package/lib/helper/Puppeteer.js +134 -232
  41. package/lib/helper/REST.js +5 -17
  42. package/lib/helper/TestCafe.js +21 -44
  43. package/lib/helper/WebDriver.js +103 -162
  44. package/lib/helper/testcafe/testcafe-utils.js +26 -27
  45. package/lib/listener/artifacts.js +2 -2
  46. package/lib/listener/emptyRun.js +58 -0
  47. package/lib/listener/exit.js +4 -4
  48. package/lib/listener/{retry.js → globalRetry.js} +5 -5
  49. package/lib/listener/{timeout.js → globalTimeout.js} +8 -8
  50. package/lib/listener/helpers.js +15 -15
  51. package/lib/listener/mocha.js +1 -1
  52. package/lib/listener/steps.js +17 -12
  53. package/lib/listener/store.js +12 -0
  54. package/lib/mocha/asyncWrapper.js +204 -0
  55. package/lib/{interfaces → mocha}/bdd.js +3 -3
  56. package/lib/mocha/cli.js +257 -0
  57. package/lib/mocha/factory.js +104 -0
  58. package/lib/{interfaces → mocha}/featureConfig.js +11 -12
  59. package/lib/{interfaces → mocha}/gherkin.js +26 -28
  60. package/lib/mocha/hooks.js +83 -0
  61. package/lib/mocha/index.js +12 -0
  62. package/lib/mocha/inject.js +24 -0
  63. package/lib/{interfaces → mocha}/scenarioConfig.js +10 -6
  64. package/lib/mocha/suite.js +55 -0
  65. package/lib/mocha/test.js +60 -0
  66. package/lib/mocha/types.d.ts +31 -0
  67. package/lib/mocha/ui.js +219 -0
  68. package/lib/output.js +28 -10
  69. package/lib/pause.js +159 -135
  70. package/lib/plugin/autoDelay.js +4 -4
  71. package/lib/plugin/autoLogin.js +6 -7
  72. package/lib/plugin/commentStep.js +1 -1
  73. package/lib/plugin/coverage.js +10 -19
  74. package/lib/plugin/customLocator.js +3 -3
  75. package/lib/plugin/debugErrors.js +2 -2
  76. package/lib/plugin/eachElement.js +1 -1
  77. package/lib/plugin/fakerTransform.js +1 -1
  78. package/lib/plugin/heal.js +6 -9
  79. package/lib/plugin/retryFailedStep.js +4 -4
  80. package/lib/plugin/retryTo.js +2 -2
  81. package/lib/plugin/screenshotOnFail.js +9 -36
  82. package/lib/plugin/selenoid.js +15 -35
  83. package/lib/plugin/stepByStepReport.js +51 -13
  84. package/lib/plugin/stepTimeout.js +4 -11
  85. package/lib/plugin/subtitles.js +4 -4
  86. package/lib/plugin/tryTo.js +1 -1
  87. package/lib/plugin/wdio.js +8 -10
  88. package/lib/recorder.js +142 -121
  89. package/lib/secret.js +1 -1
  90. package/lib/step.js +160 -144
  91. package/lib/store.js +6 -2
  92. package/lib/template/heal.js +2 -11
  93. package/lib/utils.js +224 -216
  94. package/lib/within.js +73 -55
  95. package/lib/workers.js +265 -261
  96. package/package.json +46 -47
  97. package/typings/index.d.ts +172 -184
  98. package/typings/promiseBasedTypes.d.ts +53 -516
  99. package/typings/types.d.ts +127 -587
  100. package/lib/cli.js +0 -256
  101. package/lib/helper/ExpectHelper.js +0 -391
  102. package/lib/helper/SoftExpectHelper.js +0 -381
  103. package/lib/mochaFactory.js +0 -113
  104. package/lib/scenario.js +0 -224
  105. 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,11 +440,11 @@ 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 {}
@@ -453,13 +452,11 @@ declare namespace CodeceptJS {
453
452
 
454
453
  // Extending JSDoc generated typings
455
454
  interface Step {
456
- isMetaStep(): this is MetaStep;
455
+ isMetaStep(): this is MetaStep
457
456
  }
458
457
 
459
458
  // 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>;
459
+ type actor = <T extends { [action: string]: (...args: any[]) => void }>(customSteps?: T & ThisType<WithTranslation<Methods & T>>) => WithTranslation<Methods & T>
463
460
 
464
461
  type ILocator =
465
462
  | { id: string }
@@ -474,49 +471,42 @@ declare namespace CodeceptJS {
474
471
  | { vue: string }
475
472
  | { shadow: string[] }
476
473
  | { custom: string }
477
- | { pw: string };
474
+ | { pw: string }
478
475
  interface CustomLocators {}
479
- interface OtherLocators { props?: object }
480
- type LocatorOrString =
481
- | string
482
- | ILocator
483
- | Locator
484
- | OtherLocators
485
- | CustomLocators[keyof CustomLocators];
476
+ interface OtherLocators {
477
+ props?: object
478
+ }
479
+ type LocatorOrString = string | ILocator | Locator | OtherLocators | CustomLocators[keyof CustomLocators]
486
480
 
487
- type StringOrSecret = string | CodeceptJS.Secret;
481
+ type StringOrSecret = string | CodeceptJS.Secret
488
482
 
489
483
  interface HookCallback {
490
- (args: SupportObject): void | Promise<void>;
484
+ (args: SupportObject): void | Promise<void>
491
485
  }
492
486
  interface Scenario extends IScenario {
493
- only: IScenario;
494
- skip: IScenario;
495
- todo: IScenario;
487
+ only: IScenario
488
+ skip: IScenario
489
+ todo: IScenario
496
490
  }
497
491
  interface Feature extends IFeature {
498
- skip: IFeature;
492
+ skip: IFeature
499
493
  }
500
494
  interface IData {
501
- Scenario: IScenario;
502
- only: { Scenario: IScenario };
495
+ Scenario: IScenario
496
+ only: { Scenario: IScenario }
503
497
  }
504
498
 
505
499
  interface IScenario {
506
500
  // 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;
501
+ (title: string, callback?: HookCallback): ScenarioConfig
502
+ (title: string, opts: { [key: string]: any }, callback: HookCallback): ScenarioConfig
513
503
  }
514
504
  interface IHook {
515
- (callback: HookCallback): void;
505
+ (callback: HookCallback): void
516
506
  }
517
507
 
518
508
  interface Globals {
519
- codeceptjs: typeof codeceptjs;
509
+ codeceptjs: typeof codeceptjs
520
510
  }
521
511
 
522
512
  interface IParameterTypeDefinition<T> {
@@ -529,119 +519,117 @@ declare namespace CodeceptJS {
529
519
  }
530
520
 
531
521
  // 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;
522
+ declare const codecept_dir: string
523
+ declare const output_dir: string
524
+ declare function tryTo(...fn): Promise<boolean>
525
+ declare function retryTo(...fn): Promise<null>
526
+
527
+ declare const actor: CodeceptJS.actor
528
+ declare const codecept_actor: CodeceptJS.actor
529
+ declare const Helper: typeof CodeceptJS.Helper
530
+ declare const codecept_helper: typeof CodeceptJS.Helper
531
+ declare const pause: typeof CodeceptJS.pause
532
+ declare const within: typeof CodeceptJS.within
533
+ declare const session: typeof CodeceptJS.session
534
+ declare const DataTable: typeof CodeceptJS.DataTable
535
+ declare const DataTableArgument: typeof CodeceptJS.DataTableArgument
536
+ declare const codeceptjs: typeof CodeceptJS.index
537
+ declare const locate: typeof CodeceptJS.Locator.build
538
+ declare function inject(): CodeceptJS.SupportObject
539
+ declare function inject<T extends keyof CodeceptJS.SupportObject>(name: T): CodeceptJS.SupportObject[T]
540
+ declare const secret: typeof CodeceptJS.Secret.secret
553
541
 
554
542
  // 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;
543
+ declare const Given: typeof CodeceptJS.addStep
544
+ declare const When: typeof CodeceptJS.addStep
545
+ declare const Then: typeof CodeceptJS.addStep
546
+
547
+ declare const Feature: typeof CodeceptJS.Feature
548
+ declare const Scenario: CodeceptJS.Scenario
549
+ declare const xScenario: CodeceptJS.IScenario
550
+ declare const xFeature: CodeceptJS.IFeature
551
+ declare function Data(data: any): CodeceptJS.IData
552
+ declare function xData(data: any): CodeceptJS.IData
565
553
  declare function DefineParameterType(options: CodeceptJS.IParameterTypeDefinition<any>): void
566
554
 
567
555
  // 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;
556
+ declare const BeforeSuite: CodeceptJS.IHook
557
+ declare const AfterSuite: CodeceptJS.IHook
558
+ declare const Background: CodeceptJS.IHook
559
+ declare const Before: CodeceptJS.IHook
560
+ declare const After: CodeceptJS.IHook
573
561
 
574
562
  // Plugins
575
563
  declare const __: any
576
564
 
577
565
  interface Window {
578
- resq: any;
566
+ resq: any
579
567
  }
580
568
 
581
569
  declare namespace NodeJS {
582
570
  interface Process {
583
- profile: string;
571
+ profile: string
584
572
  }
585
573
 
586
574
  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;
575
+ codecept_dir: typeof codecept_dir
576
+ output_dir: typeof output_dir
577
+
578
+ actor: typeof actor
579
+ codecept_actor: typeof codecept_actor
580
+ Helper: typeof Helper
581
+ codecept_helper: typeof codecept_helper
582
+ pause: typeof pause
583
+ within: typeof within
584
+ session: typeof session
585
+ DataTable: typeof DataTable
586
+ DataTableArgument: typeof DataTableArgument
587
+ locate: typeof locate
588
+ inject: typeof inject
589
+ secret: typeof secret
602
590
  // plugins
603
- tryTo: typeof tryTo;
604
- retryTo: typeof retryTo;
591
+ tryTo: typeof tryTo
592
+ retryTo: typeof retryTo
605
593
 
606
594
  // BDD
607
- Given: typeof Given;
608
- When: typeof When;
609
- Then: typeof Then;
595
+ Given: typeof Given
596
+ When: typeof When
597
+ Then: typeof Then
610
598
  DefineParameterType: typeof DefineParameterType
611
599
  }
612
600
  }
613
601
 
614
602
  declare namespace Mocha {
615
603
  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;
604
+ Feature: typeof Feature
605
+ Scenario: typeof Scenario
606
+ xFeature: typeof xFeature
607
+ xScenario: typeof xScenario
608
+ Data: typeof Data
609
+ xData: typeof xData
610
+ BeforeSuite: typeof BeforeSuite
611
+ AfterSuite: typeof AfterSuite
612
+ Background: typeof Background
613
+ Before: typeof Before
614
+ After: typeof After
627
615
  }
628
616
 
629
617
  interface Suite extends SuiteRunnable {
630
- tags: any[];
631
- comment: string;
632
- feature: any;
618
+ tags: any[]
619
+ comment: string
620
+ feature: any
633
621
  }
634
622
 
635
623
  interface Test extends Runnable {
636
- artifacts: [],
637
- tags: any[];
624
+ artifacts: []
625
+ tags: any[]
638
626
  }
639
627
  }
640
628
 
641
- declare module "codeceptjs" {
642
- export = codeceptjs;
629
+ declare module 'codeceptjs' {
630
+ export = codeceptjs
643
631
  }
644
632
 
645
- declare module "@codeceptjs/helper" {
646
- export = CodeceptJS.Helper;
633
+ declare module '@codeceptjs/helper' {
634
+ export = CodeceptJS.Helper
647
635
  }