cypress 16.0.0 → 16.1.0
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.
- package/dist/bin/cypress +3 -3
- package/dist/{cli-Dl3GL9Ov.js → cli-BUzHfIQ2.js} +3 -3
- package/dist/cli.js +3 -3
- package/dist/{cypress-BfVf5_hP.js → cypress-D0g_F_Y2.js} +2 -2
- package/dist/cypress.js +4 -4
- package/dist/exec/spawn.js +2 -2
- package/dist/exec/xvfb.js +1 -1
- package/dist/index.js +4 -4
- package/dist/{spawn-DpvsyDKg.js → spawn-BNsy7yWl.js} +1 -1
- package/dist/{tap-tSM1ve9x.js → tap-E19yanov.js} +85 -77
- package/dist/{xvfb-BKRGwxlS.js → xvfb-CbW2_YXR.js} +1 -1
- package/package.json +3 -3
- package/types/cy-minimatch.d.ts +1 -1
- package/types/cypress-eventemitter.d.ts +2 -2
- package/types/cypress-expect.d.ts +5 -0
- package/types/cypress-global-vars.d.ts +6 -0
- package/types/cypress.d.ts +37 -5
package/dist/bin/cypress
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var cli = require('../cli-
|
|
5
|
-
require('../xvfb-
|
|
4
|
+
var cli = require('../cli-BUzHfIQ2.js');
|
|
5
|
+
require('../xvfb-CbW2_YXR.js');
|
|
6
6
|
require('os');
|
|
7
7
|
require('bluebird');
|
|
8
8
|
require('@cypress/xvfb');
|
|
@@ -32,7 +32,7 @@ require('commander');
|
|
|
32
32
|
require('cli-table3');
|
|
33
33
|
require('dayjs');
|
|
34
34
|
require('dayjs/plugin/relativeTime');
|
|
35
|
-
require('../spawn-
|
|
35
|
+
require('../spawn-BNsy7yWl.js');
|
|
36
36
|
require('child_process');
|
|
37
37
|
require('listr2');
|
|
38
38
|
require('readline');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var xvfb = require('./xvfb-
|
|
3
|
+
var xvfb = require('./xvfb-CbW2_YXR.js');
|
|
4
4
|
var _ = require('lodash');
|
|
5
5
|
var commander = require('commander');
|
|
6
6
|
var commonTags = require('common-tags');
|
|
@@ -13,7 +13,7 @@ var dayjs = require('dayjs');
|
|
|
13
13
|
var relativeTime = require('dayjs/plugin/relativeTime');
|
|
14
14
|
var chalk = require('chalk');
|
|
15
15
|
var Bluebird = require('bluebird');
|
|
16
|
-
var spawn = require('./spawn-
|
|
16
|
+
var spawn = require('./spawn-BNsy7yWl.js');
|
|
17
17
|
var os = require('os');
|
|
18
18
|
var listr2 = require('listr2');
|
|
19
19
|
var timers = require('timers/promises');
|
|
@@ -3088,7 +3088,7 @@ const cliModule = {
|
|
|
3088
3088
|
.action(function (opts, args) {
|
|
3089
3089
|
return xvfb.__awaiter(this, void 0, void 0, function* () {
|
|
3090
3090
|
try {
|
|
3091
|
-
const { default: tapModule } = yield Promise.resolve().then(function () { return require('./tap-
|
|
3091
|
+
const { default: tapModule } = yield Promise.resolve().then(function () { return require('./tap-E19yanov.js'); });
|
|
3092
3092
|
const code = yield tapModule.start(args || [], _.pick(opts, ['session', 'json', 'timeout']));
|
|
3093
3093
|
process.exit(code);
|
|
3094
3094
|
}
|
package/dist/cli.js
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('./xvfb-
|
|
5
|
+
require('./xvfb-CbW2_YXR.js');
|
|
6
6
|
require('lodash');
|
|
7
7
|
require('commander');
|
|
8
8
|
require('common-tags');
|
|
9
9
|
require('log-symbols');
|
|
10
10
|
require('debug');
|
|
11
|
-
var cli = require('./cli-
|
|
12
|
-
require('./spawn-
|
|
11
|
+
var cli = require('./cli-BUzHfIQ2.js');
|
|
12
|
+
require('./spawn-BNsy7yWl.js');
|
|
13
13
|
require('os');
|
|
14
14
|
require('bluebird');
|
|
15
15
|
require('@cypress/xvfb');
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var xvfb = require('./xvfb-
|
|
3
|
+
var xvfb = require('./xvfb-CbW2_YXR.js');
|
|
4
4
|
var tmp = require('tmp');
|
|
5
5
|
var fs = require('fs-extra');
|
|
6
|
-
var cli$1 = require('./cli-
|
|
6
|
+
var cli$1 = require('./cli-BUzHfIQ2.js');
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Opens Cypress GUI
|
package/dist/cypress.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('./xvfb-
|
|
3
|
+
require('./xvfb-CbW2_YXR.js');
|
|
4
4
|
require('tmp');
|
|
5
5
|
require('fs-extra');
|
|
6
|
-
require('./cli-
|
|
7
|
-
var cypress = require('./cypress-
|
|
6
|
+
require('./cli-BUzHfIQ2.js');
|
|
7
|
+
var cypress = require('./cypress-D0g_F_Y2.js');
|
|
8
8
|
require('os');
|
|
9
9
|
require('bluebird');
|
|
10
10
|
require('@cypress/xvfb');
|
|
@@ -33,7 +33,7 @@ require('commander');
|
|
|
33
33
|
require('cli-table3');
|
|
34
34
|
require('dayjs');
|
|
35
35
|
require('dayjs/plugin/relativeTime');
|
|
36
|
-
require('./spawn-
|
|
36
|
+
require('./spawn-BNsy7yWl.js');
|
|
37
37
|
require('child_process');
|
|
38
38
|
require('listr2');
|
|
39
39
|
require('readline');
|
package/dist/exec/spawn.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('../xvfb-
|
|
3
|
+
require('../xvfb-CbW2_YXR.js');
|
|
4
4
|
require('lodash');
|
|
5
5
|
require('os');
|
|
6
6
|
require('child_process');
|
|
7
7
|
require('path');
|
|
8
8
|
require('debug');
|
|
9
|
-
var spawn = require('../spawn-
|
|
9
|
+
var spawn = require('../spawn-BNsy7yWl.js');
|
|
10
10
|
require('readline');
|
|
11
11
|
require('process');
|
|
12
12
|
require('stream');
|
package/dist/exec/xvfb.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var xvfb = require('./xvfb-
|
|
5
|
+
var xvfb = require('./xvfb-CbW2_YXR.js');
|
|
6
6
|
var minimist = require('minimist');
|
|
7
7
|
var Debug = require('debug');
|
|
8
|
-
var cli$1 = require('./cli-
|
|
9
|
-
var spawn = require('./spawn-
|
|
10
|
-
var cypress = require('./cypress-
|
|
8
|
+
var cli$1 = require('./cli-BUzHfIQ2.js');
|
|
9
|
+
var spawn = require('./spawn-BNsy7yWl.js');
|
|
10
|
+
var cypress = require('./cypress-D0g_F_Y2.js');
|
|
11
11
|
require('os');
|
|
12
12
|
require('bluebird');
|
|
13
13
|
require('@cypress/xvfb');
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var xvfb = require('./xvfb-
|
|
3
|
+
var xvfb = require('./xvfb-CbW2_YXR.js');
|
|
4
4
|
var Debug = require('debug');
|
|
5
5
|
var commander = require('commander');
|
|
6
6
|
var path = require('path');
|
|
7
|
-
var cli = require('./cli-
|
|
7
|
+
var cli = require('./cli-BUzHfIQ2.js');
|
|
8
8
|
var CRI = require('chrome-remote-interface');
|
|
9
9
|
var chalk = require('chalk');
|
|
10
10
|
var crypto = require('crypto');
|
|
@@ -33,7 +33,7 @@ require('untildify');
|
|
|
33
33
|
require('cli-table3');
|
|
34
34
|
require('dayjs');
|
|
35
35
|
require('dayjs/plugin/relativeTime');
|
|
36
|
-
require('./spawn-
|
|
36
|
+
require('./spawn-BNsy7yWl.js');
|
|
37
37
|
require('child_process');
|
|
38
38
|
require('listr2');
|
|
39
39
|
require('readline');
|
|
@@ -886,15 +886,12 @@ const renderReporterSpecHuman = (view) => {
|
|
|
886
886
|
return layout(blocks);
|
|
887
887
|
};
|
|
888
888
|
|
|
889
|
-
// The run command
|
|
890
|
-
// progress), so this
|
|
889
|
+
// The run command requests a spec and returns immediately (poll `status` for
|
|
890
|
+
// progress), so this acknowledges the request rather than reporting an outcome.
|
|
891
891
|
const renderRunHuman = (result) => {
|
|
892
892
|
return layout([
|
|
893
|
-
[titleLine(color.
|
|
894
|
-
|
|
895
|
-
['testing type', result.testingType],
|
|
896
|
-
['browser', result.browser],
|
|
897
|
-
]),
|
|
893
|
+
[titleLine(color.pending('●'), `${result.spec} is ${result.status}`)],
|
|
894
|
+
[color.muted('use tap status to check progress')],
|
|
898
895
|
]);
|
|
899
896
|
};
|
|
900
897
|
|
|
@@ -941,12 +938,14 @@ const sessionColumns = (sessions) => {
|
|
|
941
938
|
browserCell(session),
|
|
942
939
|
];
|
|
943
940
|
});
|
|
944
|
-
return columns(['PID', 'PROJECT', 'TYPE', 'BROWSER'], rows, (cells, index) =>
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
941
|
+
return columns(['PID', 'PROJECT', 'TYPE', 'BROWSER'], rows, (cells, index) => {
|
|
942
|
+
return [
|
|
943
|
+
chalk.bold(cells[0]),
|
|
944
|
+
cells[1],
|
|
945
|
+
cells[2],
|
|
946
|
+
browserColor(sessions[index])(cells[3]),
|
|
947
|
+
];
|
|
948
|
+
});
|
|
950
949
|
};
|
|
951
950
|
// The reachable open-mode sessions under a counted heading.
|
|
952
951
|
const renderSessionsHuman = (sessions) => {
|
|
@@ -1652,12 +1651,14 @@ const eventCollectorUrl = (includeMachineId = false) => {
|
|
|
1652
1651
|
var _a;
|
|
1653
1652
|
return `${CLOUD_URLS[(_a = namedCollectorEnv()) !== null && _a !== void 0 ? _a : 'production']}/${includeMachineId ? 'machine-collect' : 'anon-collect'}`;
|
|
1654
1653
|
};
|
|
1655
|
-
const newTrace = (command = 'none', flags = []) =>
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1654
|
+
const newTrace = (command = 'none', flags = []) => {
|
|
1655
|
+
return {
|
|
1656
|
+
messageId: crypto.randomUUID(),
|
|
1657
|
+
startedAt: Date.now(),
|
|
1658
|
+
command,
|
|
1659
|
+
flags,
|
|
1660
|
+
};
|
|
1661
|
+
};
|
|
1661
1662
|
let trace = newTrace();
|
|
1662
1663
|
const beginTapTrace = ({ command, flags }) => {
|
|
1663
1664
|
trace = newTrace(command, flags);
|
|
@@ -1887,7 +1888,9 @@ const listSessions = (options) => xvfb.__awaiter(void 0, void 0, void 0, functio
|
|
|
1887
1888
|
}
|
|
1888
1889
|
const timeoutMs = (_a = options.timeout) !== null && _a !== void 0 ? _a : FIND_SESSION_TIMEOUT_MS;
|
|
1889
1890
|
const responsive = yield Promise.all(sessions.map((session) => probeRenderer(session, timeoutMs)));
|
|
1890
|
-
const summaries = sessions.map((session, index) =>
|
|
1891
|
+
const summaries = sessions.map((session, index) => {
|
|
1892
|
+
return Object.assign({ pid: session.pid, projectRoot: session.projectRoot, testingType: session.testingType, browserAttached: session.cdpBrowserWsUrl !== null, browserName: session.browserName, browserSupported: cli.distExports.isTapSupportedBrowser(session.browserFamily) }, (responsive[index] === undefined ? {} : { rendererResponsive: responsive[index] }));
|
|
1893
|
+
});
|
|
1891
1894
|
renderOutcome('sessions', summaries, options.json);
|
|
1892
1895
|
return 0;
|
|
1893
1896
|
});
|
|
@@ -2100,8 +2103,7 @@ const runSpec = (options, args) => xvfb.__awaiter(void 0, void 0, void 0, functi
|
|
|
2100
2103
|
if ((result === null || result === void 0 ? void 0 : result.__typename) === 'RunSpecResponse') {
|
|
2101
2104
|
const launched = {
|
|
2102
2105
|
spec: xvfb.posixify(result.spec.relative),
|
|
2103
|
-
|
|
2104
|
-
browser: result.browser.displayName,
|
|
2106
|
+
status: 'running',
|
|
2105
2107
|
};
|
|
2106
2108
|
renderOutcome('run', launched, options.json);
|
|
2107
2109
|
return 0;
|
|
@@ -2419,26 +2421,28 @@ const withAmbiguous = (connection, frame, selector, at, read) => xvfb.__awaiter(
|
|
|
2419
2421
|
return ambiguous !== null && ambiguous !== void 0 ? ambiguous : read();
|
|
2420
2422
|
});
|
|
2421
2423
|
|
|
2422
|
-
const extractDom = (connection, frame, selector, maxChars, at) =>
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
}));
|
|
2424
|
+
const extractDom = (connection, frame, selector, maxChars, at) => {
|
|
2425
|
+
return withAmbiguous(connection, frame, selector, at, () => xvfb.__awaiter(void 0, void 0, void 0, function* () {
|
|
2426
|
+
var _a;
|
|
2427
|
+
const { client, sessionId } = connection;
|
|
2428
|
+
const executionContextId = yield createFrameIsolatedWorld(connection, frame);
|
|
2429
|
+
const { result, exceptionDetails } = yield client.Runtime.callFunctionOn({
|
|
2430
|
+
functionDeclaration: readDom.toString(),
|
|
2431
|
+
executionContextId,
|
|
2432
|
+
arguments: [{ value: selector }, { value: maxChars }, { value: at !== null && at !== void 0 ? at : 0 }],
|
|
2433
|
+
returnByValue: true,
|
|
2434
|
+
}, sessionId);
|
|
2435
|
+
if (exceptionDetails) {
|
|
2436
|
+
throw new cli.distExports.TapError('FRAME_READ_FAILED', { message: `reading the app-under-test DOM failed: ${((_a = exceptionDetails.exception) === null || _a === void 0 ? void 0 : _a.description) || exceptionDetails.text}` });
|
|
2437
|
+
}
|
|
2438
|
+
const value = result.value;
|
|
2439
|
+
// Only a selector the reader was given can come back rejected.
|
|
2440
|
+
if (value.invalidSelector) {
|
|
2441
|
+
throw invalidSelectorError(selector);
|
|
2442
|
+
}
|
|
2443
|
+
return Object.assign(Object.assign(Object.assign({}, (value.found !== undefined ? { found: value.found } : {})), (value.html !== undefined ? { html: value.html } : {})), (value.truncated ? { truncated: true } : {}));
|
|
2444
|
+
}));
|
|
2445
|
+
};
|
|
2442
2446
|
// The options are read before a session is resolved, so a value this command
|
|
2443
2447
|
// cannot use is reported as itself rather than as whatever the search for a
|
|
2444
2448
|
// Cypress to run it against happened to find.
|
|
@@ -2598,31 +2602,33 @@ const readAriaNode = (connection, objectId) => xvfb.__awaiter(void 0, void 0, vo
|
|
|
2598
2602
|
return undefined;
|
|
2599
2603
|
}
|
|
2600
2604
|
});
|
|
2601
|
-
const extractInspect = (connection, frame, selector, at) =>
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
})
|
|
2605
|
+
const extractInspect = (connection, frame, selector, at) => {
|
|
2606
|
+
return withAmbiguous(connection, frame, selector, at, () => xvfb.__awaiter(void 0, void 0, void 0, function* () {
|
|
2607
|
+
var _a;
|
|
2608
|
+
const { client, sessionId } = connection;
|
|
2609
|
+
yield client.DOM.enable({}, sessionId);
|
|
2610
|
+
yield client.Accessibility.enable(sessionId);
|
|
2611
|
+
const base = { selector, found: false };
|
|
2612
|
+
const objectId = yield querySelectorObjectId(connection, frame, selector, at !== null && at !== void 0 ? at : 0);
|
|
2613
|
+
if (!objectId) {
|
|
2614
|
+
return base;
|
|
2615
|
+
}
|
|
2616
|
+
const info = yield client.Runtime.callFunctionOn({
|
|
2617
|
+
functionDeclaration: readElementInfo.toString(),
|
|
2618
|
+
objectId,
|
|
2619
|
+
arguments: [{ value: REPORTED_STYLES }],
|
|
2620
|
+
returnByValue: true,
|
|
2621
|
+
}, sessionId);
|
|
2622
|
+
if (info.exceptionDetails) {
|
|
2623
|
+
throw new cli.distExports.TapError('FRAME_READ_FAILED', { message: `inspecting the element failed: ${((_a = info.exceptionDetails.exception) === null || _a === void 0 ? void 0 : _a.description) || info.exceptionDetails.text}` });
|
|
2624
|
+
}
|
|
2625
|
+
const { tag, attributes, styles, box } = info.result.value;
|
|
2626
|
+
const aria = yield readAriaNode(connection, objectId);
|
|
2627
|
+
return Object.assign(Object.assign(Object.assign(Object.assign({}, base), { found: true, tag,
|
|
2628
|
+
attributes }), (aria ? { aria } : {})), { box,
|
|
2629
|
+
styles });
|
|
2630
|
+
}));
|
|
2631
|
+
};
|
|
2626
2632
|
const inspectCommand = defineNativeCommand('inspect', (options, _args, commandOptions) => {
|
|
2627
2633
|
const at = parseIndex(commandOptions.at);
|
|
2628
2634
|
return withResolvedAutFrame(options, (connection, frame) => {
|
|
@@ -2828,13 +2834,15 @@ const getKnownCommand = (command) => cli.distExports.KNOWN_COMMANDS.has(command)
|
|
|
2828
2834
|
* `cypress tap` handles itself rather than passing to a command. The flags a
|
|
2829
2835
|
* command declares are reported once commander has parsed them, by noteTapCommand.
|
|
2830
2836
|
*/
|
|
2831
|
-
const reportedInvocation = (command, wantsHelp, options) =>
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2837
|
+
const reportedInvocation = (command, wantsHelp, options) => {
|
|
2838
|
+
return {
|
|
2839
|
+
command: command ? getKnownCommand(command) : undefined,
|
|
2840
|
+
flags: [
|
|
2841
|
+
...wantsHelp ? ['help'] : [],
|
|
2842
|
+
...Object.keys(options),
|
|
2843
|
+
],
|
|
2844
|
+
};
|
|
2845
|
+
};
|
|
2838
2846
|
|
|
2839
2847
|
const debug = Debug('cypress:cli:tap');
|
|
2840
2848
|
// The failures that mean no session was reachable to ask. Help is answerable
|
|
@@ -412,7 +412,7 @@ const util = {
|
|
|
412
412
|
// convert a percent with values between 0 and 1
|
|
413
413
|
// with decimals, so that it is between 0 and 100
|
|
414
414
|
// and has no decimal places
|
|
415
|
-
return
|
|
415
|
+
return num !== null && _.isFinite(num) ? Math.round(num * 100) : 0;
|
|
416
416
|
},
|
|
417
417
|
secsRemaining(eta) {
|
|
418
418
|
// calculate the seconds reminaing with no decimal places
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cypress",
|
|
3
|
-
"version": "16.
|
|
3
|
+
"version": "16.1.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"postinstall": "node dist/index.js --exec install",
|
|
@@ -132,8 +132,8 @@
|
|
|
132
132
|
},
|
|
133
133
|
"buildInfo": {
|
|
134
134
|
"commitBranch": "develop",
|
|
135
|
-
"commitSha": "
|
|
136
|
-
"commitDate": "2026-
|
|
135
|
+
"commitSha": "83902dc838d4a242e88df8cfa3da8a196c681731",
|
|
136
|
+
"commitDate": "2026-09-15T01:16:53.000Z",
|
|
137
137
|
"stable": true
|
|
138
138
|
},
|
|
139
139
|
"description": "Cypress is a next generation front end testing tool built for the modern web",
|
package/types/cy-minimatch.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Cypress, cy, Log inherits EventEmitter.
|
|
2
|
-
type EventEmitter2 = import(
|
|
2
|
+
type EventEmitter2 = import('eventemitter2').EventEmitter2
|
|
3
3
|
|
|
4
4
|
interface CyEventEmitter extends Omit<EventEmitter2, 'waitFor'> {
|
|
5
5
|
proxyTo: (cy: Cypress.cy) => null
|
|
@@ -30,4 +30,4 @@ interface NodeEventEmitter {
|
|
|
30
30
|
|
|
31
31
|
// We use the Buffer class for dealing with binary data, especially around the
|
|
32
32
|
// selectFile interface.
|
|
33
|
-
type BufferType = typeof import(
|
|
33
|
+
type BufferType = typeof import('buffer/').Buffer
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
// Cypress adds chai expect and assert to global
|
|
2
|
+
|
|
3
|
+
// Only `var` lands on `typeof globalThis` in an ambient global declaration,
|
|
4
|
+
// which is what keeps `expect` and `assert` reachable on `window` and `globalThis`.
|
|
5
|
+
// eslint-disable-next-line no-var
|
|
2
6
|
declare var expect: Chai.ExpectStatic
|
|
7
|
+
// eslint-disable-next-line no-var
|
|
3
8
|
declare var assert: Chai.AssertStatic
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
// Only `var` lands on `typeof globalThis` in an ambient global declaration, which
|
|
2
|
+
// is what keeps `cy` and `Cypress` reachable on `window` and `globalThis`. The
|
|
3
|
+
// driver reassigns both at runtime.
|
|
4
|
+
|
|
1
5
|
/**
|
|
2
6
|
* Global variables `cy` added by Cypress with all API commands.
|
|
3
7
|
* @see https://on.cypress.io/api
|
|
@@ -7,6 +11,7 @@ cy.get('button').click()
|
|
|
7
11
|
cy.get('.result').contains('Expected text')
|
|
8
12
|
```
|
|
9
13
|
*/
|
|
14
|
+
// eslint-disable-next-line no-var
|
|
10
15
|
declare var cy: Cypress.cy & CyEventEmitter
|
|
11
16
|
|
|
12
17
|
/**
|
|
@@ -19,4 +24,5 @@ Cypress.version // => "1.4.0"
|
|
|
19
24
|
Cypress._ // => Lodash _
|
|
20
25
|
```
|
|
21
26
|
*/
|
|
27
|
+
// eslint-disable-next-line no-var
|
|
22
28
|
declare var Cypress: Cypress.Cypress & CyEventEmitter
|
package/types/cypress.d.ts
CHANGED
|
@@ -561,7 +561,7 @@ declare namespace Cypress {
|
|
|
561
561
|
* @example isBrowser(['firefox', 'edge']) will be true only for the browsers 'firefox' and 'edge'
|
|
562
562
|
* @example isBrowser('!firefox') will be true for every browser other than 'firefox'
|
|
563
563
|
* @example isBrowser({ family: '!chromium'}) will be true for every browser not matching { family: 'chromium' }
|
|
564
|
-
* @param
|
|
564
|
+
* @param name browser name or matcher object to check.
|
|
565
565
|
*/
|
|
566
566
|
isBrowser(name: IsBrowserMatcher): boolean
|
|
567
567
|
|
|
@@ -1055,7 +1055,7 @@ declare namespace Cypress {
|
|
|
1055
1055
|
* to clear localStorage inside a single test. Yields `localStorage` object.
|
|
1056
1056
|
*
|
|
1057
1057
|
* @see https://on.cypress.io/clearlocalstorage
|
|
1058
|
-
* @param {
|
|
1058
|
+
* @param {object} [options] - options object
|
|
1059
1059
|
* @example
|
|
1060
1060
|
```
|
|
1061
1061
|
// Removes all local storage items, without logging
|
|
@@ -1071,7 +1071,7 @@ declare namespace Cypress {
|
|
|
1071
1071
|
*
|
|
1072
1072
|
* @see https://on.cypress.io/clearlocalstorage
|
|
1073
1073
|
* @param {string} [key] - name of a particular item to remove (optional).
|
|
1074
|
-
* @param {
|
|
1074
|
+
* @param {object} [options] - options object
|
|
1075
1075
|
* @example
|
|
1076
1076
|
```
|
|
1077
1077
|
// Removes item "todos" without logging
|
|
@@ -2941,6 +2941,19 @@ declare namespace Cypress {
|
|
|
2941
2941
|
certs: PEMCert[] | PFXCert[]
|
|
2942
2942
|
}
|
|
2943
2943
|
|
|
2944
|
+
/**
|
|
2945
|
+
* A certificate the browser's own network stack should trust when it would
|
|
2946
|
+
* otherwise reject it (e.g. a self-signed cert). Supply exactly one of a path
|
|
2947
|
+
* to a PEM file, an inline PEM string, or a precomputed base64 SHA-256 SPKI
|
|
2948
|
+
* fingerprint. A path is resolved against the project root, so an absolute
|
|
2949
|
+
* path is used as-is. A PEM file or string holding several certificates
|
|
2950
|
+
* trusts every certificate in the bundle.
|
|
2951
|
+
*/
|
|
2952
|
+
type TrustedCertificate =
|
|
2953
|
+
| { filePath: string }
|
|
2954
|
+
| { pem: string }
|
|
2955
|
+
| { spki: string }
|
|
2956
|
+
|
|
2944
2957
|
type RetryStrategyWithModeSpecs = RetryStrategy & {
|
|
2945
2958
|
openMode: boolean // defaults to false
|
|
2946
2959
|
runMode: boolean // defaults to true
|
|
@@ -3195,6 +3208,12 @@ declare namespace Cypress {
|
|
|
3195
3208
|
* @default 'top'
|
|
3196
3209
|
*/
|
|
3197
3210
|
scrollBehavior: scrollBehaviorOptions
|
|
3211
|
+
/**
|
|
3212
|
+
* Time, in milliseconds, between each keystroke when typing with [cy.type()](https://on.cypress.io/type).
|
|
3213
|
+
* When `null`, the value set with [Cypress.Keyboard.defaults()](https://on.cypress.io/keyboard-api) is used, falling back to `0`.
|
|
3214
|
+
* @default null
|
|
3215
|
+
*/
|
|
3216
|
+
keystrokeDelay: number | null
|
|
3198
3217
|
/**
|
|
3199
3218
|
* Indicates whether Cypress should allow CSP header directives from the application under test.
|
|
3200
3219
|
* - When this option is set to `false`, Cypress will strip the entire CSP header.
|
|
@@ -3319,6 +3338,19 @@ declare namespace Cypress {
|
|
|
3319
3338
|
*/
|
|
3320
3339
|
clientCertificates: ClientCertificate[]
|
|
3321
3340
|
|
|
3341
|
+
/**
|
|
3342
|
+
* Certificates the browser should treat as genuinely trusted rather than merely
|
|
3343
|
+
* tolerating their errors (e.g. a self-signed development cert). On the native browser
|
|
3344
|
+
* network path this lets the browser cache the origin's assets across navigations.
|
|
3345
|
+
* Each entry supplies exactly one of a path to a PEM file (relative paths resolve
|
|
3346
|
+
* against the project root), an inline PEM string, or a base64 SHA-256 SPKI
|
|
3347
|
+
* fingerprint. Every certificate in a PEM bundle is trusted, not just the first.
|
|
3348
|
+
* Unlike `clientCertificates`, entries are not scoped to a URL: the browser accepts
|
|
3349
|
+
* a trusted key for any hostname that presents it.
|
|
3350
|
+
* @default []
|
|
3351
|
+
*/
|
|
3352
|
+
trustedCertificates: TrustedCertificate[]
|
|
3353
|
+
|
|
3322
3354
|
/**
|
|
3323
3355
|
* Handle Cypress plugins
|
|
3324
3356
|
*/
|
|
@@ -4029,14 +4061,14 @@ declare namespace Cypress {
|
|
|
4029
4061
|
/**
|
|
4030
4062
|
* Called before your page has loaded all of its resources.
|
|
4031
4063
|
*
|
|
4032
|
-
* @param {AUTWindow}
|
|
4064
|
+
* @param {AUTWindow} win the remote page's window object
|
|
4033
4065
|
*/
|
|
4034
4066
|
onBeforeLoad(win: AUTWindow): void
|
|
4035
4067
|
|
|
4036
4068
|
/**
|
|
4037
4069
|
* Called once your page has fired its load event.
|
|
4038
4070
|
*
|
|
4039
|
-
* @param {AUTWindow}
|
|
4071
|
+
* @param {AUTWindow} win the remote page's window object
|
|
4040
4072
|
*/
|
|
4041
4073
|
onLoad(win: AUTWindow): void
|
|
4042
4074
|
|