cypress 8.3.1 → 8.6.0
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/cypress.js +18 -0
- package/lib/tasks/download.js +6 -4
- package/package.json +2 -1
- package/types/cypress-npm-api.d.ts +15 -0
- package/types/cypress.d.ts +165 -103
package/lib/cypress.js
CHANGED
@@ -70,6 +70,24 @@ const cypressModuleApi = {
|
|
70
70
|
return cli.parseRunCommand(args);
|
71
71
|
}
|
72
72
|
|
73
|
+
},
|
74
|
+
|
75
|
+
/**
|
76
|
+
* Provides automatic code completion for configuration in many popular code editors.
|
77
|
+
* While it's not strictly necessary for Cypress to parse your configuration, we
|
78
|
+
* recommend wrapping your config object with `defineConfig()`
|
79
|
+
* @example
|
80
|
+
* module.exports = defineConfig({
|
81
|
+
* viewportWith: 400
|
82
|
+
* })
|
83
|
+
*
|
84
|
+
* @see ../types/cypress-npm-api.d.ts
|
85
|
+
* @param {Cypress.ConfigOptions} config
|
86
|
+
* @returns {Cypress.ConfigOptions} the configuration passed in parameter
|
87
|
+
*/
|
88
|
+
defineConfig(config) {
|
89
|
+
return config;
|
73
90
|
}
|
91
|
+
|
74
92
|
};
|
75
93
|
module.exports = cypressModuleApi;
|
package/lib/tasks/download.js
CHANGED
@@ -24,6 +24,8 @@ const {
|
|
24
24
|
stripIndent
|
25
25
|
} = require('common-tags');
|
26
26
|
|
27
|
+
const getProxyForUrl = require('proxy-from-env').getProxyForUrl;
|
28
|
+
|
27
29
|
const {
|
28
30
|
throwFormErrorText,
|
29
31
|
errors
|
@@ -35,8 +37,8 @@ const util = require('../util');
|
|
35
37
|
|
36
38
|
const defaultBaseUrl = 'https://download.cypress.io/';
|
37
39
|
|
38
|
-
const
|
39
|
-
return
|
40
|
+
const getProxyForUrlWithNpmConfig = url => {
|
41
|
+
return getProxyForUrl(url) || process.env.npm_config_https_proxy || process.env.npm_config_proxy || null;
|
40
42
|
};
|
41
43
|
|
42
44
|
const getRealOsArch = () => {
|
@@ -198,7 +200,7 @@ const downloadFromUrl = ({
|
|
198
200
|
ca
|
199
201
|
}) => {
|
200
202
|
return new Promise((resolve, reject) => {
|
201
|
-
const proxy =
|
203
|
+
const proxy = getProxyForUrlWithNpmConfig(url);
|
202
204
|
debug('Downloading package', {
|
203
205
|
url,
|
204
206
|
proxy,
|
@@ -338,6 +340,6 @@ const start = opts => {
|
|
338
340
|
module.exports = {
|
339
341
|
start,
|
340
342
|
getUrl,
|
341
|
-
|
343
|
+
getProxyForUrlWithNpmConfig,
|
342
344
|
getCA
|
343
345
|
};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "cypress",
|
3
|
-
"version": "8.
|
3
|
+
"version": "8.6.0",
|
4
4
|
"main": "index.js",
|
5
5
|
"scripts": {
|
6
6
|
"postinstall": "node index.js --exec install",
|
@@ -41,6 +41,7 @@
|
|
41
41
|
"minimist": "^1.2.5",
|
42
42
|
"ospath": "^1.2.2",
|
43
43
|
"pretty-bytes": "^5.6.0",
|
44
|
+
"proxy-from-env": "1.0.0",
|
44
45
|
"ramda": "~0.27.1",
|
45
46
|
"request-progress": "^3.0.0",
|
46
47
|
"supports-color": "^8.1.1",
|
@@ -377,6 +377,21 @@ declare module 'cypress' {
|
|
377
377
|
* Cypress does
|
378
378
|
*/
|
379
379
|
cli: CypressCommandLine.CypressCliParser
|
380
|
+
|
381
|
+
/**
|
382
|
+
* Provides automatic code completion for configuration in many popular code editors.
|
383
|
+
* While it's not strictly necessary for Cypress to parse your configuration, we
|
384
|
+
* recommend wrapping your config object with `defineConfig()`
|
385
|
+
* @example
|
386
|
+
* module.exports = defineConfig({
|
387
|
+
* viewportWith: 400
|
388
|
+
* })
|
389
|
+
*
|
390
|
+
* @see ../types/cypress-npm-api.d.ts
|
391
|
+
* @param {Cypress.ConfigOptions} config
|
392
|
+
* @returns {Cypress.ConfigOptions} the configuration passed in parameter
|
393
|
+
*/
|
394
|
+
defineConfig(config: Cypress.ConfigOptions): Cypress.ConfigOptions
|
380
395
|
}
|
381
396
|
|
382
397
|
// export Cypress NPM module interface
|
package/types/cypress.d.ts
CHANGED
@@ -22,6 +22,19 @@ declare namespace Cypress {
|
|
22
22
|
password: string
|
23
23
|
}
|
24
24
|
|
25
|
+
interface RemoteState {
|
26
|
+
auth?: {
|
27
|
+
username: string
|
28
|
+
password: string
|
29
|
+
}
|
30
|
+
domainName: string
|
31
|
+
strategy: 'file' | 'http'
|
32
|
+
origin: string
|
33
|
+
fileServer: string
|
34
|
+
props: Record<string, any>
|
35
|
+
visiting: string
|
36
|
+
}
|
37
|
+
|
25
38
|
interface Backend {
|
26
39
|
/**
|
27
40
|
* Firefox only: Force Cypress to run garbage collection routines.
|
@@ -155,7 +168,7 @@ declare namespace Cypress {
|
|
155
168
|
/**
|
156
169
|
* The interface for user-defined properties in Window object under test.
|
157
170
|
*/
|
158
|
-
interface ApplicationWindow {} // tslint:disable-line
|
171
|
+
interface ApplicationWindow { } // tslint:disable-line
|
159
172
|
|
160
173
|
/**
|
161
174
|
* Several libraries are bundled with Cypress by default.
|
@@ -508,7 +521,7 @@ declare namespace Cypress {
|
|
508
521
|
/**
|
509
522
|
* @see https://on.cypress.io/keyboard-api
|
510
523
|
*/
|
511
|
-
|
524
|
+
Keyboard: {
|
512
525
|
defaults(options: Partial<KeyboardDefaultsOptions>): void
|
513
526
|
}
|
514
527
|
|
@@ -566,7 +579,7 @@ declare namespace Cypress {
|
|
566
579
|
}
|
567
580
|
|
568
581
|
interface SessionOptions {
|
569
|
-
validate?: () => false|void
|
582
|
+
validate?: () => false | void
|
570
583
|
}
|
571
584
|
|
572
585
|
type CanReturnChainable = void | Chainable | Promise<unknown>
|
@@ -704,36 +717,36 @@ declare namespace Cypress {
|
|
704
717
|
```
|
705
718
|
*/
|
706
719
|
clearLocalStorage(re: RegExp): Chainable<Storage>
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
|
720
|
+
/**
|
721
|
+
* Clear data in local storage.
|
722
|
+
* Cypress automatically runs this command before each test to prevent state from being
|
723
|
+
* shared across tests. You shouldn’t need to use this command unless you’re using it
|
724
|
+
* to clear localStorage inside a single test. Yields `localStorage` object.
|
725
|
+
*
|
726
|
+
* @see https://on.cypress.io/clearlocalstorage
|
727
|
+
* @param {options} [object] - options object
|
728
|
+
* @example
|
729
|
+
```
|
730
|
+
// Removes all local storage items, without logging
|
731
|
+
cy.clearLocalStorage({ log: false })
|
732
|
+
```
|
733
|
+
*/
|
721
734
|
clearLocalStorage(options: Partial<Loggable>): Chainable<Storage>
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
735
|
+
/**
|
736
|
+
* Clear data in local storage.
|
737
|
+
* Cypress automatically runs this command before each test to prevent state from being
|
738
|
+
* shared across tests. You shouldn’t need to use this command unless you’re using it
|
739
|
+
* to clear localStorage inside a single test. Yields `localStorage` object.
|
740
|
+
*
|
741
|
+
* @see https://on.cypress.io/clearlocalstorage
|
742
|
+
* @param {string} [key] - name of a particular item to remove (optional).
|
743
|
+
* @param {options} [object] - options object
|
744
|
+
* @example
|
745
|
+
```
|
746
|
+
// Removes item "todos" without logging
|
747
|
+
cy.clearLocalStorage("todos", { log: false })
|
748
|
+
```
|
749
|
+
*/
|
737
750
|
clearLocalStorage(key: string, options: Partial<Loggable>): Chainable<Storage>
|
738
751
|
|
739
752
|
/**
|
@@ -821,7 +834,7 @@ declare namespace Cypress {
|
|
821
834
|
* // or use this shortcut
|
822
835
|
* cy.clock().invoke('restore')
|
823
836
|
*/
|
824
|
-
clock(now: number|Date, options?: Loggable): Chainable<Clock>
|
837
|
+
clock(now: number | Date, options?: Loggable): Chainable<Clock>
|
825
838
|
/**
|
826
839
|
* Mocks global clock but only overrides specific functions.
|
827
840
|
*
|
@@ -830,7 +843,7 @@ declare namespace Cypress {
|
|
830
843
|
* // keep current date but override "setTimeout" and "clearTimeout"
|
831
844
|
* cy.clock(null, ['setTimeout', 'clearTimeout'])
|
832
845
|
*/
|
833
|
-
clock(now: number|Date, functions?: Array<'setTimeout' | 'clearTimeout' | 'setInterval' | 'clearInterval' | 'Date'>, options?: Loggable): Chainable<Clock>
|
846
|
+
clock(now: number | Date, functions?: Array<'setTimeout' | 'clearTimeout' | 'setInterval' | 'clearInterval' | 'Date'>, options?: Loggable): Chainable<Clock>
|
834
847
|
/**
|
835
848
|
* Mocks global clock and all functions.
|
836
849
|
*
|
@@ -964,14 +977,14 @@ declare namespace Cypress {
|
|
964
977
|
*/
|
965
978
|
debug(options?: Partial<Loggable>): Chainable<Subject>
|
966
979
|
|
967
|
-
|
968
|
-
|
969
|
-
|
970
|
-
|
971
|
-
|
972
|
-
|
973
|
-
|
974
|
-
session(id: string|object, setup?: SessionOptions['validate'], options?: SessionOptions): Chainable<null>
|
980
|
+
/**
|
981
|
+
* Save/Restore browser Cookies, LocalStorage, and SessionStorage data resulting from the supplied `setup` function.
|
982
|
+
*
|
983
|
+
* Only available if the `experimentalSessionSupport` config option is enabled.
|
984
|
+
*
|
985
|
+
* @see https://on.cypress.io/session
|
986
|
+
*/
|
987
|
+
session(id: string | object, setup?: SessionOptions['validate'], options?: SessionOptions): Chainable<null>
|
975
988
|
|
976
989
|
/**
|
977
990
|
* Get the window.document of the page that is currently active.
|
@@ -1635,17 +1648,11 @@ declare namespace Cypress {
|
|
1635
1648
|
scrollTo(x: number | string, y: number | string, options?: Partial<ScrollToOptions>): Chainable<Subject>
|
1636
1649
|
|
1637
1650
|
/**
|
1638
|
-
* Select an `<option>` with specific text within a `<select>`.
|
1651
|
+
* Select an `<option>` with specific text, value, or index within a `<select>`.
|
1639
1652
|
*
|
1640
1653
|
* @see https://on.cypress.io/select
|
1641
1654
|
*/
|
1642
|
-
select(
|
1643
|
-
/**
|
1644
|
-
* Select an `<option>` with specific value(s) within a `<select>`.
|
1645
|
-
*
|
1646
|
-
* @see https://on.cypress.io/select
|
1647
|
-
*/
|
1648
|
-
select(value: string | string[], options?: Partial<SelectOptions>): Chainable<Subject>
|
1655
|
+
select(valueOrTextOrIndex: string | number | Array<string | number>, options?: Partial<SelectOptions>): Chainable<Subject>
|
1649
1656
|
|
1650
1657
|
/**
|
1651
1658
|
* @deprecated Use `cy.intercept()` instead.
|
@@ -1896,13 +1903,13 @@ declare namespace Cypress {
|
|
1896
1903
|
*
|
1897
1904
|
* @see https://on.cypress.io/then
|
1898
1905
|
*/
|
1899
|
-
|
1900
|
-
|
1901
|
-
|
1902
|
-
|
1903
|
-
|
1904
|
-
|
1905
|
-
|
1906
|
+
then<S extends HTMLElement>(options: Partial<Timeoutable>, fn: (this: ObjectLike, currentSubject: Subject) => S): Chainable<JQuery<S>>
|
1907
|
+
/**
|
1908
|
+
* Enables you to work with the subject yielded from the previous command / promise.
|
1909
|
+
*
|
1910
|
+
* @see https://on.cypress.io/then
|
1911
|
+
*/
|
1912
|
+
then<S extends ArrayLike<HTMLElement>>(options: Partial<Timeoutable>, fn: (this: ObjectLike, currentSubject: Subject) => S): Chainable<JQuery<S extends ArrayLike<infer T> ? T : never>>
|
1906
1913
|
/**
|
1907
1914
|
* Enables you to work with the subject yielded from the previous command / promise.
|
1908
1915
|
*
|
@@ -2060,7 +2067,7 @@ declare namespace Cypress {
|
|
2060
2067
|
* @alias cy.location('href')
|
2061
2068
|
* @see https://on.cypress.io/url
|
2062
2069
|
*/
|
2063
|
-
url(options?: Partial<
|
2070
|
+
url(options?: Partial<UrlOptions>): Chainable<string>
|
2064
2071
|
|
2065
2072
|
/**
|
2066
2073
|
* Control the size and orientation of the screen for your application.
|
@@ -2488,6 +2495,47 @@ declare namespace Cypress {
|
|
2488
2495
|
cmdKey: boolean
|
2489
2496
|
}
|
2490
2497
|
|
2498
|
+
interface PEMCert {
|
2499
|
+
/**
|
2500
|
+
* Path to the certificate file, relative to project root.
|
2501
|
+
*/
|
2502
|
+
cert: string
|
2503
|
+
/**
|
2504
|
+
* Path to the private key file, relative to project root.
|
2505
|
+
*/
|
2506
|
+
key: string
|
2507
|
+
/**
|
2508
|
+
* Path to a text file containing the passphrase, relative to project root.
|
2509
|
+
*/
|
2510
|
+
passphrase?: string
|
2511
|
+
}
|
2512
|
+
|
2513
|
+
interface PFXCert {
|
2514
|
+
/**
|
2515
|
+
* Path to the certificate container, relative to project root.
|
2516
|
+
*/
|
2517
|
+
pfx: string
|
2518
|
+
/**
|
2519
|
+
* Path to a text file containing the passphrase, relative to project root.
|
2520
|
+
*/
|
2521
|
+
passphrase?: string
|
2522
|
+
}
|
2523
|
+
|
2524
|
+
interface ClientCertificate {
|
2525
|
+
/**
|
2526
|
+
* URL to match requests against. Wildcards following [minimatch](https://github.com/isaacs/minimatch) rules are supported.
|
2527
|
+
*/
|
2528
|
+
url: string
|
2529
|
+
/**
|
2530
|
+
* Paths to one or more CA files to validate certs against, relative to project root.
|
2531
|
+
*/
|
2532
|
+
ca?: string[]
|
2533
|
+
/**
|
2534
|
+
* A PEM format certificate/private key pair or PFX certificate container
|
2535
|
+
*/
|
2536
|
+
certs: PEMCert[] | PFXCert[]
|
2537
|
+
}
|
2538
|
+
|
2491
2539
|
interface ResolvedConfigOptions {
|
2492
2540
|
/**
|
2493
2541
|
* Url used as prefix for [cy.visit()](https://on.cypress.io/visit) or [cy.request()](https://on.cypress.io/request) command’s url
|
@@ -2700,7 +2748,7 @@ declare namespace Cypress {
|
|
2700
2748
|
* To enable test retries only in runMode, set e.g. `{ openMode: null, runMode: 2 }`
|
2701
2749
|
* @default null
|
2702
2750
|
*/
|
2703
|
-
retries: Nullable<number | {runMode?: Nullable<number>, openMode?: Nullable<number>}>
|
2751
|
+
retries: Nullable<number | { runMode?: Nullable<number>, openMode?: Nullable<number> }>
|
2704
2752
|
/**
|
2705
2753
|
* Enables including elements within the shadow DOM when using querying
|
2706
2754
|
* commands (e.g. cy.get(), cy.find()). Can be set globally in cypress.json,
|
@@ -2750,6 +2798,11 @@ declare namespace Cypress {
|
|
2750
2798
|
* @default {}
|
2751
2799
|
*/
|
2752
2800
|
e2e: Omit<ResolvedConfigOptions, TestingType>
|
2801
|
+
|
2802
|
+
/**
|
2803
|
+
* An array of objects defining the certificates
|
2804
|
+
*/
|
2805
|
+
clientCertificates: ClientCertificate[]
|
2753
2806
|
}
|
2754
2807
|
|
2755
2808
|
/**
|
@@ -2810,19 +2863,15 @@ declare namespace Cypress {
|
|
2810
2863
|
projectName: string
|
2811
2864
|
projectRoot: string
|
2812
2865
|
proxyUrl: string
|
2866
|
+
remote: RemoteState
|
2813
2867
|
report: boolean
|
2814
2868
|
reporterRoute: string
|
2815
2869
|
reporterUrl: string
|
2816
2870
|
socketId: null | string
|
2817
2871
|
socketIoCookie: string
|
2818
2872
|
socketIoRoute: string
|
2819
|
-
spec:
|
2820
|
-
|
2821
|
-
name: string
|
2822
|
-
relative: string
|
2823
|
-
specFilter: null | string
|
2824
|
-
specType: 'integration' | 'component'
|
2825
|
-
}
|
2873
|
+
spec: Cypress['spec'] | null
|
2874
|
+
specs: Array<Cypress['spec']>
|
2826
2875
|
xhrRoute: string
|
2827
2876
|
xhrUrl: string
|
2828
2877
|
}
|
@@ -2836,7 +2885,7 @@ declare namespace Cypress {
|
|
2836
2885
|
* All configuration items are optional.
|
2837
2886
|
*/
|
2838
2887
|
type CoreConfigOptions = Partial<Omit<ResolvedConfigOptions, TestingType>>
|
2839
|
-
type ConfigOptions = CoreConfigOptions & {e2e?: CoreConfigOptions, component?: CoreConfigOptions }
|
2888
|
+
type ConfigOptions = CoreConfigOptions & { e2e?: CoreConfigOptions, component?: CoreConfigOptions }
|
2840
2889
|
|
2841
2890
|
interface PluginConfigOptions extends ResolvedConfigOptions {
|
2842
2891
|
/**
|
@@ -2943,6 +2992,7 @@ declare namespace Cypress {
|
|
2943
2992
|
disableTimersAndAnimations: boolean
|
2944
2993
|
padding: Padding
|
2945
2994
|
scale: boolean
|
2995
|
+
overwrite: boolean
|
2946
2996
|
onBeforeScreenshot: ($el: JQuery) => void
|
2947
2997
|
onAfterScreenshot: ($el: JQuery, props: {
|
2948
2998
|
path: string
|
@@ -3173,6 +3223,18 @@ declare namespace Cypress {
|
|
3173
3223
|
eventConstructor: string
|
3174
3224
|
}
|
3175
3225
|
|
3226
|
+
/**
|
3227
|
+
* Options to change the default behavior of .url()
|
3228
|
+
*/
|
3229
|
+
interface UrlOptions extends Loggable, Timeoutable {
|
3230
|
+
/**
|
3231
|
+
* Whether the url is decoded
|
3232
|
+
*
|
3233
|
+
* @default false
|
3234
|
+
*/
|
3235
|
+
decode: boolean
|
3236
|
+
}
|
3237
|
+
|
3176
3238
|
/** Options to change the default behavior of .writeFile */
|
3177
3239
|
interface WriteFileOptions extends Loggable {
|
3178
3240
|
flag: string
|
@@ -5263,7 +5325,7 @@ declare namespace Cypress {
|
|
5263
5325
|
tag?: string
|
5264
5326
|
}
|
5265
5327
|
|
5266
|
-
interface
|
5328
|
+
interface DevServerConfig {
|
5267
5329
|
specs: Spec[]
|
5268
5330
|
config: ResolvedConfigOptions & RuntimeConfigOptions
|
5269
5331
|
devServerEvents: NodeJS.EventEmitter
|
@@ -5282,7 +5344,7 @@ declare namespace Cypress {
|
|
5282
5344
|
(action: 'before:spec', fn: (spec: Spec) => void | Promise<void>): void
|
5283
5345
|
(action: 'before:browser:launch', fn: (browser: Browser, browserLaunchOptions: BrowserLaunchOptions) => void | BrowserLaunchOptions | Promise<BrowserLaunchOptions>): void
|
5284
5346
|
(action: 'file:preprocessor', fn: (file: FileObject) => string | Promise<string>): void
|
5285
|
-
(action: 'dev-server:start', fn: (file:
|
5347
|
+
(action: 'dev-server:start', fn: (file: DevServerConfig) => Promise<ResolvedDevServerConfig>): void
|
5286
5348
|
(action: 'task', tasks: Tasks): void
|
5287
5349
|
}
|
5288
5350
|
|
@@ -5636,48 +5698,48 @@ declare namespace Cypress {
|
|
5636
5698
|
}
|
5637
5699
|
```
|
5638
5700
|
*/
|
5639
|
-
interface cy extends Chainable<undefined> {}
|
5701
|
+
interface cy extends Chainable<undefined> { }
|
5640
5702
|
}
|
5641
5703
|
|
5642
5704
|
declare namespace Mocha {
|
5643
5705
|
interface TestFunction {
|
5644
|
-
|
5645
|
-
|
5646
|
-
|
5647
|
-
|
5648
|
-
|
5649
|
-
|
5650
|
-
|
5651
|
-
|
5652
|
-
|
5653
|
-
|
5654
|
-
|
5706
|
+
/**
|
5707
|
+
* Describe a specification or test-case with the given `title`, TestOptions, and callback `fn` acting
|
5708
|
+
* as a thunk.
|
5709
|
+
*/
|
5710
|
+
(title: string, config: Cypress.TestConfigOverrides, fn?: Func): Test
|
5711
|
+
|
5712
|
+
/**
|
5713
|
+
* Describe a specification or test-case with the given `title`, TestOptions, and callback `fn` acting
|
5714
|
+
* as a thunk.
|
5715
|
+
*/
|
5716
|
+
(title: string, config: Cypress.TestConfigOverrides, fn?: AsyncFunc): Test
|
5655
5717
|
}
|
5656
5718
|
interface ExclusiveTestFunction {
|
5657
|
-
|
5658
|
-
|
5659
|
-
|
5660
|
-
|
5661
|
-
|
5662
|
-
|
5663
|
-
|
5664
|
-
|
5665
|
-
|
5666
|
-
|
5667
|
-
|
5719
|
+
/**
|
5720
|
+
* Describe a specification or test-case with the given `title`, TestOptions, and callback `fn` acting
|
5721
|
+
* as a thunk.
|
5722
|
+
*/
|
5723
|
+
(title: string, config: Cypress.TestConfigOverrides, fn?: Func): Test
|
5724
|
+
|
5725
|
+
/**
|
5726
|
+
* Describe a specification or test-case with the given `title`, TestOptions, and callback `fn` acting
|
5727
|
+
* as a thunk.
|
5728
|
+
*/
|
5729
|
+
(title: string, config: Cypress.TestConfigOverrides, fn?: AsyncFunc): Test
|
5668
5730
|
}
|
5669
5731
|
interface PendingTestFunction {
|
5670
|
-
|
5671
|
-
|
5672
|
-
|
5673
|
-
|
5674
|
-
|
5675
|
-
|
5676
|
-
|
5677
|
-
|
5678
|
-
|
5679
|
-
|
5680
|
-
|
5732
|
+
/**
|
5733
|
+
* Describe a specification or test-case with the given `title`, TestOptions, and callback `fn` acting
|
5734
|
+
* as a thunk.
|
5735
|
+
*/
|
5736
|
+
(title: string, config: Cypress.TestConfigOverrides, fn?: Func): Test
|
5737
|
+
|
5738
|
+
/**
|
5739
|
+
* Describe a specification or test-case with the given `title`, TestOptions, and callback `fn` acting
|
5740
|
+
* as a thunk.
|
5741
|
+
*/
|
5742
|
+
(title: string, config: Cypress.TestConfigOverrides, fn?: AsyncFunc): Test
|
5681
5743
|
}
|
5682
5744
|
|
5683
5745
|
interface SuiteFunction {
|