@axe-core/watcher 3.21.0-rc.94ac88c0 → 3.21.1-next.1becdd62
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/cypress/cypress.d.ts +12 -2
- package/dist/cypress/cypress.js +100 -66
- package/dist/cypress/cypress.js.map +1 -1
- package/dist/cypressCommands.js +20 -3
- package/dist/cypressCommands.js.map +1 -1
- package/dist/playwright/playwright.d.ts +1 -0
- package/dist/playwright/playwright.js +17 -0
- package/dist/playwright/playwright.js.map +1 -1
- package/dist/puppeteer/puppeteer.d.ts +1 -0
- package/dist/puppeteer/puppeteer.js +18 -0
- package/dist/puppeteer/puppeteer.js.map +1 -1
- package/dist/sendResultsToServer.d.ts +2 -1
- package/dist/sendResultsToServer.js +48 -3
- package/dist/sendResultsToServer.js.map +1 -1
- package/dist/utils/handleNoSupportForChromeLoadExtensions.d.ts +9 -0
- package/dist/utils/handleNoSupportForChromeLoadExtensions.js +16 -0
- package/dist/utils/handleNoSupportForChromeLoadExtensions.js.map +1 -0
- package/dist/utils/mergeChromeArgs.d.ts +2 -1
- package/dist/utils/mergeChromeArgs.js +16 -1
- package/dist/utils/mergeChromeArgs.js.map +1 -1
- package/dist/utils/types.d.ts +3 -0
- package/dist/utils/types.js +3 -0
- package/dist/utils/types.js.map +1 -0
- package/dist/utils/writeVariables.d.ts +11 -0
- package/dist/utils/writeVariables.js.map +1 -1
- package/dist/wdio/wdio.js +14 -2
- package/dist/wdio/wdio.js.map +1 -1
- package/dist/webdriver/webdriver.d.ts +1 -0
- package/dist/webdriver/webdriver.js +21 -1
- package/dist/webdriver/webdriver.js.map +1 -1
- package/extension/background.js +1 -1
- package/extension/content.js +1 -1
- package/package.json +7 -2
@@ -0,0 +1,16 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
function handleNoSupportForChromeLoadExtensions(browserName, browserVersion) {
|
4
|
+
if (browserName.toLowerCase() === 'chrome' && !isNaN(browserVersion)) {
|
5
|
+
const CHROME_VERSION_NO_EXTENSIONS = 139;
|
6
|
+
const chromeSupportMessage = `Branded versions of Google Chrome v${CHROME_VERSION_NO_EXTENSIONS} and higher removed support for tools like @axe-core/watcher. Use Chrome for Testing or Chromium instead. Please refer to our System Requirements for more information: https://docs.deque.com/developer-hub/2/en/dh-system-requirements`;
|
7
|
+
if (browserVersion >= CHROME_VERSION_NO_EXTENSIONS) {
|
8
|
+
throw new Error(chromeSupportMessage);
|
9
|
+
}
|
10
|
+
else {
|
11
|
+
console.warn('Warning: ' + chromeSupportMessage);
|
12
|
+
}
|
13
|
+
}
|
14
|
+
}
|
15
|
+
exports.default = handleNoSupportForChromeLoadExtensions;
|
16
|
+
//# sourceMappingURL=handleNoSupportForChromeLoadExtensions.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"handleNoSupportForChromeLoadExtensions.js","sourceRoot":"","sources":["../../src/utils/handleNoSupportForChromeLoadExtensions.ts"],"names":[],"mappings":";;AAOA,SAAS,sCAAsC,CAC7C,WAAmB,EACnB,cAAsB;IAEtB,IAAI,WAAW,CAAC,WAAW,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QACrE,MAAM,4BAA4B,GAAG,GAAG,CAAA;QACxC,MAAM,oBAAoB,GAAG,sCAAsC,4BAA4B,0OAA0O,CAAA;QACzU,IAAI,cAAc,IAAI,4BAA4B,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACvC,CAAC;aAAM,CAAC;YAEN,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;AACH,CAAC;AAED,kBAAe,sCAAsC,CAAA"}
|
@@ -6,7 +6,8 @@
|
|
6
6
|
* @param disableOtherExtensions Whether to disable other extensions.
|
7
7
|
* @returns The merged arguments to pass to Chrome.
|
8
8
|
*/
|
9
|
-
declare function mergeChromeArgs(userArgs: string[], { disableOtherExtensions }: {
|
9
|
+
declare function mergeChromeArgs(userArgs: string[], { disableOtherExtensions, disableLoadExtensionCommandFeature }: {
|
10
10
|
disableOtherExtensions: boolean;
|
11
|
+
disableLoadExtensionCommandFeature?: boolean;
|
11
12
|
}): string[];
|
12
13
|
export default mergeChromeArgs;
|
@@ -4,10 +4,12 @@ const constantsNode_1 = require("./constantsNode");
|
|
4
4
|
const DISABLE_OTHER_EXTENSIONS_FLAG = '--disable-extensions-except';
|
5
5
|
const LOAD_EXTENSION_FLAG = '--load-extension';
|
6
6
|
const DISABLE_EXTENSIONS_FLAG = '--disable-extensions';
|
7
|
-
|
7
|
+
const DISABLE_FEATURES = '--disable-features';
|
8
|
+
function mergeChromeArgs(userArgs, { disableOtherExtensions, disableLoadExtensionCommandFeature }) {
|
8
9
|
let loadExtensionFlagIndex = -1;
|
9
10
|
let disableExtensionsExceptFlagIndex = -1;
|
10
11
|
let disableExtensionFlagIndex = -1;
|
12
|
+
let disableFeaturesFlagIndex = -1;
|
11
13
|
for (const [index, arg] of userArgs.entries()) {
|
12
14
|
const hasLoadExtension = arg.includes(LOAD_EXTENSION_FLAG) || arg.includes('load-extension');
|
13
15
|
const hasDisableExtensionsExcept = arg.includes(DISABLE_OTHER_EXTENSIONS_FLAG) ||
|
@@ -15,6 +17,7 @@ function mergeChromeArgs(userArgs, { disableOtherExtensions }) {
|
|
15
17
|
const hasDisableExtensions = (arg.includes(DISABLE_EXTENSIONS_FLAG) ||
|
16
18
|
arg.includes('disable-extensions')) &&
|
17
19
|
!hasDisableExtensionsExcept;
|
20
|
+
const hasDisableFeatures = arg.includes(DISABLE_FEATURES) || arg.includes('disable-features');
|
18
21
|
if (hasLoadExtension) {
|
19
22
|
loadExtensionFlagIndex = index;
|
20
23
|
}
|
@@ -24,6 +27,9 @@ function mergeChromeArgs(userArgs, { disableOtherExtensions }) {
|
|
24
27
|
if (hasDisableExtensions) {
|
25
28
|
disableExtensionFlagIndex = index;
|
26
29
|
}
|
30
|
+
if (hasDisableFeatures) {
|
31
|
+
disableFeaturesFlagIndex = index;
|
32
|
+
}
|
27
33
|
}
|
28
34
|
if (loadExtensionFlagIndex !== -1) {
|
29
35
|
userArgs[loadExtensionFlagIndex] += `,${constantsNode_1.PATH_TO_EXTENSION}`;
|
@@ -37,6 +43,15 @@ function mergeChromeArgs(userArgs, { disableOtherExtensions }) {
|
|
37
43
|
else if (disableOtherExtensions || disableExtensionFlagIndex !== -1) {
|
38
44
|
userArgs.push(`${DISABLE_OTHER_EXTENSIONS_FLAG}=${constantsNode_1.PATH_TO_EXTENSION}`);
|
39
45
|
}
|
46
|
+
if (disableLoadExtensionCommandFeature) {
|
47
|
+
if (disableFeaturesFlagIndex !== -1) {
|
48
|
+
userArgs[disableFeaturesFlagIndex] +=
|
49
|
+
`,DisableLoadExtensionCommandLineSwitch`;
|
50
|
+
}
|
51
|
+
else {
|
52
|
+
userArgs.push(`${DISABLE_FEATURES}=DisableLoadExtensionCommandLineSwitch`);
|
53
|
+
}
|
54
|
+
}
|
40
55
|
return userArgs;
|
41
56
|
}
|
42
57
|
exports.default = mergeChromeArgs;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mergeChromeArgs.js","sourceRoot":"","sources":["../../src/utils/mergeChromeArgs.ts"],"names":[],"mappings":";;AAAA,mDAAmD;AAGnD,MAAM,6BAA6B,GAAG,6BAA6B,CAAA;AACnE,MAAM,mBAAmB,GAAG,kBAAkB,CAAA;AAC9C,MAAM,uBAAuB,GAAG,sBAAsB,CAAA;
|
1
|
+
{"version":3,"file":"mergeChromeArgs.js","sourceRoot":"","sources":["../../src/utils/mergeChromeArgs.ts"],"names":[],"mappings":";;AAAA,mDAAmD;AAGnD,MAAM,6BAA6B,GAAG,6BAA6B,CAAA;AACnE,MAAM,mBAAmB,GAAG,kBAAkB,CAAA;AAC9C,MAAM,uBAAuB,GAAG,sBAAsB,CAAA;AACtD,MAAM,gBAAgB,GAAG,oBAAoB,CAAA;AAW7C,SAAS,eAAe,CACtB,QAAkB,EAClB,EACE,sBAAsB,EACtB,kCAAkC,EAInC;IASD,IAAI,sBAAsB,GAAG,CAAC,CAAC,CAAA;IAC/B,IAAI,gCAAgC,GAAG,CAAC,CAAC,CAAA;IACzC,IAAI,yBAAyB,GAAG,CAAC,CAAC,CAAA;IAClC,IAAI,wBAAwB,GAAG,CAAC,CAAC,CAAA;IAWjC,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,MAAM,gBAAgB,GACpB,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QACrE,MAAM,0BAA0B,GAC9B,GAAG,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YAC3C,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAA;QAC3C,MAAM,oBAAoB,GACxB,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACpC,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YACrC,CAAC,0BAA0B,CAAA;QAC7B,MAAM,kBAAkB,GACtB,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;QAEpE,IAAI,gBAAgB,EAAE,CAAC;YACrB,sBAAsB,GAAG,KAAK,CAAA;QAChC,CAAC;QAED,IAAI,0BAA0B,EAAE,CAAC;YAC/B,gCAAgC,GAAG,KAAK,CAAA;QAC1C,CAAC;QAED,IAAI,oBAAoB,EAAE,CAAC;YACzB,yBAAyB,GAAG,KAAK,CAAA;QACnC,CAAC;QAED,IAAI,kBAAkB,EAAE,CAAC;YACvB,wBAAwB,GAAG,KAAK,CAAA;QAClC,CAAC;IACH,CAAC;IAID,IAAI,sBAAsB,KAAK,CAAC,CAAC,EAAE,CAAC;QAClC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,IAAI,iCAAiB,EAAE,CAAA;IAC7D,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,GAAG,mBAAmB,IAAI,iCAAiB,EAAE,CAAC,CAAA;IAC9D,CAAC;IAID,IAAI,gCAAgC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC5C,QAAQ,CAAC,gCAAgC,CAAC,IAAI,IAAI,iCAAiB,EAAE,CAAA;IAiBvE,CAAC;SAAM,IAAI,sBAAsB,IAAI,yBAAyB,KAAK,CAAC,CAAC,EAAE,CAAC;QACtE,QAAQ,CAAC,IAAI,CAAC,GAAG,6BAA6B,IAAI,iCAAiB,EAAE,CAAC,CAAA;IACxE,CAAC;IAED,IAAI,kCAAkC,EAAE,CAAC;QACvC,IAAI,wBAAwB,KAAK,CAAC,CAAC,EAAE,CAAC;YACpC,QAAQ,CAAC,wBAAwB,CAAC;gBAChC,wCAAwC,CAAA;QAC5C,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,GAAG,gBAAgB,wCAAwC,CAAC,CAAA;QAC5E,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,kBAAe,eAAe,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":""}
|
@@ -105,6 +105,17 @@ interface AxeConfiguration {
|
|
105
105
|
*/
|
106
106
|
configurationOverrides?: ConfigurationOverrides;
|
107
107
|
}
|
108
|
+
export type CypressTestingType = 'e2e' | 'component';
|
109
|
+
export interface CypressAxeConfiguration extends AxeConfiguration {
|
110
|
+
/**
|
111
|
+
* Which Cypress Testing Type(s) (e2e or component) to enable @axe-core/watcher for.
|
112
|
+
* Default: 'e2e'
|
113
|
+
*/
|
114
|
+
testingTypes?: CypressTestingType | CypressTestingType[];
|
115
|
+
}
|
116
|
+
export interface CypressConfiguration {
|
117
|
+
axe: CypressAxeConfiguration;
|
118
|
+
}
|
108
119
|
export interface Configuration {
|
109
120
|
axe: AxeConfiguration;
|
110
121
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"writeVariables.js","sourceRoot":"","sources":["../../src/utils/writeVariables.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4CAA6B;AAC7B,4CAAmB;AACnB,2CAAgD;AAChD,mDAGwB;AACxB,mEAAgF;AAChF,uEAA8C;AAC9C,4EAA6E;AAC7E,mEAA+D;AAC/D,oFAA2D;AAC3D,sFAAoD;AAEpD,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,uBAAuB,CAAC,CAAA;AAI3D,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;AA4BjD,MAAM,6BAA6B,GAA4B;IAC7D,KAAK;IACL,cAAc;IACd,aAAa;IACb,YAAY;IACZ,cAAc;IACd,aAAa;IACb,YAAY;IACZ,cAAc;IACd,aAAa;IACb,YAAY;IACZ,mBAAmB;IACnB,YAAY;CACb,CAAA;
|
1
|
+
{"version":3,"file":"writeVariables.js","sourceRoot":"","sources":["../../src/utils/writeVariables.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4CAA6B;AAC7B,4CAAmB;AACnB,2CAAgD;AAChD,mDAGwB;AACxB,mEAAgF;AAChF,uEAA8C;AAC9C,4EAA6E;AAC7E,mEAA+D;AAC/D,oFAA2D;AAC3D,sFAAoD;AAEpD,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,uBAAuB,CAAC,CAAA;AAI3D,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;AA4BjD,MAAM,6BAA6B,GAA4B;IAC7D,KAAK;IACL,cAAc;IACd,aAAa;IACb,YAAY;IACZ,cAAc;IACd,aAAa;IACb,YAAY;IACZ,cAAc;IACd,aAAa;IACb,YAAY;IACZ,mBAAmB;IACnB,YAAY;CACb,CAAA;AAwJD,MAAM,eAAe,GAAuB;IAC1C,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,IAAI;CACZ,CAAA;AAGD,SAAS,cAAc,CAAC,EACtB,MAAM,EACN,WAAW,EACX,sBAAsB,EACtB,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,OAAO,EACP,OAAO,GAAG,EAAE,EACZ,eAAe,EACf,yBAAyB,EACzB,SAAS,EACY;IAErB,WAAW,CAAC,yBAAyB,EAAE;QACrC,MAAM,EAAE,YAAY;QACpB,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;QACjD,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;QAC/C,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;QAC/C,GAAG,CAAC,sBAAsB,KAAK,SAAS,IAAI,EAAE,sBAAsB,EAAE,CAAC;QACvE,GAAG,CAAC,kBAAkB,KAAK,SAAS,IAAI,EAAE,kBAAkB,EAAE,CAAC;QAC/D,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC;QACzC,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;KAC9C,CAAC,CAAA;IAEF,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAA;IAE9C,IAAI,sBAAsB,IAAI,UAAU,EAAE,OAAO,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,gIAAgI,CACjI,CAAA;IACH,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,8BAAkB,CAAA;IAChC,CAAC;IAED,IAAI,SAAS,CAAA;IACb,IAAI,CAAC;QACH,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,4EAA4E,GAAG,EAAE,CAClF,CAAA;IACH,CAAC;IAED,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;QACtC,IAAA,6CAAqB,EAAC,UAAU,CAAC,CAAA;QACjC,WAAW,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;QACtC,IAAA,6CAAqB,EAAC,UAAU,CAAC,CAAA;QACjC,WAAW,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,sBAAsB,EAAE,CAAC;QAC3B,WAAW,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CAAA;QAC9D,MAAM,+BAA+B,GACnC,sBAAsB,CAAC,qBAAqB;YAC5C,CAAC,6BAA6B,CAAC,QAAQ,CACrC,sBAAsB,CAAC,qBAAqB,CAC7C,CAAA;QAEH,IAAI,+BAA+B,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,mCAAmC,sBAAsB,CAAC,qBAAqB,sBAAsB,6BAA6B,CAAC,IAAI,CACrI,IAAI,CACL,EAAE,CACJ,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAY,EAAE,CAAA;IAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,EAAE,CAAA;IACpC,IAAI,SAAS,EAAE,CAAC;QACd,WAAW,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;QACpD,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,aAAa,EAAE,CAAA;QACxC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,CAAA;QAC9B,OAAO,CAAC,kBAAkB,GAAG,GAAG,CAAC,oBAAoB,EAAE,CAAA;QACvD,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,CAAA;QACpC,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,OAAO,EAAE,CAAA;QAEpC,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,EAAE,CAAA;QAChC,OAAO,CAAC,cAAc,GAAG,IAAI,EAAE,IAAI,CAAA;QACnC,OAAO,CAAC,iBAAiB,GAAG,IAAI,EAAE,MAAM,CAAA;QACxC,OAAO,CAAC,gBAAgB,GAAG,IAAI,EAAE,KAAK,CAAA;QACtC,OAAO,CAAC,kBAAkB,GAAG,IAAI,EAAE,OAAO,CAAA;IAC5C,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,EAAE,CAAC;QAMvD,IAAI,CAAC,SAAS,IAAI,YAAE,CAAC,UAAU,CAAC,oCAAoB,CAAC,EAAE,CAAC;YACtD,WAAW,CAAC,8BAA8B,CAAC,CAAA;YAC3C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,oCAAoB,EAAE,MAAM,CAAC,CAAC,CAAA;gBACtE,SAAS,GAAG,IAAI,CAAC,EAAY,CAAA;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,6BAA6B,GACjC,sBAAsB,IAAI,sBAAsB,CAAC,WAAW,EAAE,KAAK,MAAM,CAAA;IAG3E,IAAI,6BAA6B,IAAI,CAAC,SAAS,EAAE,CAAC;QAEhD,OAAO,CAAC,IAAI,CACV,6JAA6J,CAC9J,CAAA;IACH,CAAC;IAED,WAAW,CAAC,kCAAkC,CAAC,CAAA;IAG/C,MAAM,cAAc,GAClB,6BAA6B,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;IAE/D,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,IAAA,2BAAiB,EAAC;QAC1D,MAAM;QACN,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,SAAS;QACpB,cAAc,EAAE,OAAO;QACvB,SAAS,EAAE,SAAS,IAAI,IAAI;QAC5B,OAAO,EAAE,OAAO,IAAI,IAAI;QACxB,YAAY,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI;QAC5C,MAAM,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;QAC/B,SAAS,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;QACrC,eAAe,EAAE,OAAO,CAAC,iBAAiB,IAAI,IAAI;QAClD,UAAU,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK;QACzC,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,IAAI,IAAI;QACpD,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,IAAI,IAAI;QACpD,MAAM,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;QAC/B,cAAc,EAAE,OAAO,CAAC,gBAAgB,IAAI,IAAI;QAChD,eAAe,EAAE,sBAAsB,IAAI,IAAI;QAC/C,UAAU,EAAE,UAAU,IAAI,IAAI;KAC/B,CAAC,CAAA;IAEF,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;QACvC,WAAW,GAAG,IAAI,CAAA;IACpB,CAAC;IAED,IAAI,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC/B,IAAA,+BAAqB,EAAC,kBAAkB,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,SAAS,GAAc;QAC3B,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,cAAc;QAC1B,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,UAAU,IAAI,SAAS;QACnC,gBAAgB,EAAE,CAAC,CAAC,eAAe;QACnC,YAAY,EAAE,CAAC,CAAC,WAAW;QAC3B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,2BAA2B,EAAE,CAAC,CAAC,yBAAyB;QACxD,WAAW,EAAE,UAAU,IAAI,IAAI;QAC/B,WAAW,EAAE,UAAU,IAAI,IAAI;QAC/B,QAAQ,EAAE,OAAO;QACjB,oBAAoB,EAAE,kBAAkB,IAAI,IAAI;QAChD,iBAAiB,EAAE,iBAAiB,IAAI,IAAI;QAC5C,OAAO,EAAE;YACP,GAAG,eAAe;YAClB,GAAG,OAAO;SACX;KACF,CAAA;IAED,YAAE,CAAC,aAAa,CAAC,2CAA2B,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAA;IAExE,IAAI,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;QAIxC,IAAA,gCAAa,EAAC;YACZ,EAAE,EAAE;gBACF,yBAAyB,iBAAiB,EAAE,gBAAgB,aAAa;gBACzE,YAAY;aACb;SACF,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,kBAAe,cAAc,CAAA"}
|
package/dist/wdio/wdio.js
CHANGED
@@ -14,6 +14,7 @@ const headlessNotSupportedError_1 = require("../utils/headlessNotSupportedError"
|
|
14
14
|
const mergeChromeArgs_1 = __importDefault(require("../utils/mergeChromeArgs"));
|
15
15
|
const checkUserArgs_1 = require("../utils/checkUserArgs");
|
16
16
|
const writeSessionFile_1 = __importDefault(require("../utils/writeSessionFile"));
|
17
|
+
const handleNoSupportForChromeLoadExtensions_1 = __importDefault(require("../utils/handleNoSupportForChromeLoadExtensions"));
|
17
18
|
const noop = () => {
|
18
19
|
};
|
19
20
|
function wdioConfig({ axe, ...options }) {
|
@@ -30,7 +31,10 @@ function wdioConfig({ axe, ...options }) {
|
|
30
31
|
...options?.capabilities,
|
31
32
|
browserName: 'chrome',
|
32
33
|
'goog:chromeOptions': {
|
33
|
-
args: (0, mergeChromeArgs_1.default)(args, {
|
34
|
+
args: (0, mergeChromeArgs_1.default)(args, {
|
35
|
+
disableOtherExtensions: true,
|
36
|
+
disableLoadExtensionCommandFeature: true
|
37
|
+
})
|
34
38
|
}
|
35
39
|
}
|
36
40
|
};
|
@@ -61,7 +65,10 @@ function wdioTestRunner(...params) {
|
|
61
65
|
throw new headlessNotSupportedError_1.HeadlessNotSupportedError(`In WebdriverIO, use "headless=new" instead of "headless" in the "args" property of your "${CHROME_OPTIONS}" browser capability configuration.`);
|
62
66
|
}
|
63
67
|
(0, checkUserArgs_1.checkUserArgs)(args);
|
64
|
-
chromeOpts.args = (0, mergeChromeArgs_1.default)(args, {
|
68
|
+
chromeOpts.args = (0, mergeChromeArgs_1.default)(args, {
|
69
|
+
disableOtherExtensions: false,
|
70
|
+
disableLoadExtensionCommandFeature: true
|
71
|
+
});
|
65
72
|
const { onPrepare = noop, onComplete = noop } = config;
|
66
73
|
return {
|
67
74
|
...config,
|
@@ -87,6 +94,11 @@ class WdioController extends Controller_1.default {
|
|
87
94
|
configurationFunction: 'wdioConfig()'
|
88
95
|
});
|
89
96
|
this.driver = driver;
|
97
|
+
const browserMajorVersion = Number(driver.capabilities?.browserVersion?.split('.')[0]);
|
98
|
+
const browserName = driver.capabilities?.browserName;
|
99
|
+
if (browserMajorVersion && browserName) {
|
100
|
+
(0, handleNoSupportForChromeLoadExtensions_1.default)(browserName, browserMajorVersion);
|
101
|
+
}
|
90
102
|
}
|
91
103
|
async executeScript(fn, ...args) {
|
92
104
|
const script = `
|
package/dist/wdio/wdio.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"wdio.js","sourceRoot":"","sources":["../../src/wdio/wdio.ts"],"names":[],"mappings":";;;;;;
|
1
|
+
{"version":3,"file":"wdio.js","sourceRoot":"","sources":["../../src/wdio/wdio.ts"],"names":[],"mappings":"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"}
|
@@ -15,5 +15,6 @@ export declare function webdriverConfig(arg: WebDriverArgs): Options;
|
|
15
15
|
export declare class WebdriverController extends Controller {
|
16
16
|
private driver;
|
17
17
|
constructor(driver: WebDriver);
|
18
|
+
checkBrowserCompatibility(): Promise<void>;
|
18
19
|
protected executeScript<T>(fn: string | (() => Promise<T>), ...args: unknown[]): Promise<T>;
|
19
20
|
}
|
@@ -10,6 +10,7 @@ const writeVariables_1 = __importDefault(require("../utils/writeVariables"));
|
|
10
10
|
const headlessNotSupportedError_1 = require("../utils/headlessNotSupportedError");
|
11
11
|
const mergeChromeArgs_1 = __importDefault(require("../utils/mergeChromeArgs"));
|
12
12
|
const checkUserArgs_1 = require("../utils/checkUserArgs");
|
13
|
+
const handleNoSupportForChromeLoadExtensions_1 = __importDefault(require("../utils/handleNoSupportForChromeLoadExtensions"));
|
13
14
|
var webdriverWrapping_1 = require("./webdriverWrapping");
|
14
15
|
Object.defineProperty(exports, "wrapWebdriver", { enumerable: true, get: function () { return webdriverWrapping_1.wrapDriver; } });
|
15
16
|
function webdriverConfig(arg) {
|
@@ -20,7 +21,8 @@ function webdriverConfig(arg) {
|
|
20
21
|
const existingArgs = (opts?.options_?.args || []);
|
21
22
|
(0, checkUserArgs_1.checkUserArgs)(existingArgs);
|
22
23
|
opts.options_.args = (0, mergeChromeArgs_1.default)(existingArgs, {
|
23
|
-
disableOtherExtensions: false
|
24
|
+
disableOtherExtensions: false,
|
25
|
+
disableLoadExtensionCommandFeature: true
|
24
26
|
});
|
25
27
|
if (['headless', '--headless'].some(flag => opts?.options_?.args?.includes(flag))) {
|
26
28
|
throw new headlessNotSupportedError_1.HeadlessNotSupportedError('In WebdriverJS, use "chromeOptions.addArguments(\'--headless=new\')" instead of "setHeadless(true)" or "addArguments(\'--headless\')"');
|
@@ -35,6 +37,24 @@ class WebdriverController extends Controller_1.default {
|
|
35
37
|
configurationFunction: 'webdriverConfig()'
|
36
38
|
});
|
37
39
|
this.driver = driver;
|
40
|
+
this.checkBrowserCompatibility();
|
41
|
+
}
|
42
|
+
async checkBrowserCompatibility() {
|
43
|
+
let capabilities;
|
44
|
+
try {
|
45
|
+
capabilities = await this.driver.getCapabilities();
|
46
|
+
if (!capabilities) {
|
47
|
+
return;
|
48
|
+
}
|
49
|
+
const browserMajorVersion = Number(capabilities.get('browserVersion')?.split('.')[0]);
|
50
|
+
const browserName = capabilities.get('browserName');
|
51
|
+
if (browserMajorVersion && browserName) {
|
52
|
+
(0, handleNoSupportForChromeLoadExtensions_1.default)(browserName, browserMajorVersion);
|
53
|
+
}
|
54
|
+
}
|
55
|
+
catch (error) {
|
56
|
+
console.warn('Unable to determine browser. ' + error.message);
|
57
|
+
}
|
38
58
|
}
|
39
59
|
async executeScript(fn, ...args) {
|
40
60
|
const script = `
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../../src/webdriver/webdriver.ts"],"names":[],"mappings":";;;;;;
|
1
|
+
{"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../../src/webdriver/webdriver.ts"],"names":[],"mappings":";;;;;;AAqBA,0CA+BC;AAlDD,+DAAsC;AACtC,6EAA4E;AAC5E,kFAA8E;AAC9E,+EAAsD;AACtD,0DAAsD;AACtD,6HAAoG;AAEpG,yDAAiE;AAAxD,kHAAA,UAAU,OAAiB;AAYpC,SAAgB,eAAe,CAAC,GAAkB;IAGhD,MAAM,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAEnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;IAC5B,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;IAE9D,MAAM,YAAY,GAAG,CAAE,IAAY,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAa,CAAA;IACtE,IAAA,6BAAa,EAAC,YAAY,CAAC,CAE1B;IAAC,IAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAA,yBAAe,EAAC,YAAY,EAAE;QAC3D,sBAAsB,EAAE,KAAK;QAC7B,kCAAkC,EAAE,IAAI;KACzC,CAAC,CAAA;IAGF,IACE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAEpC,IAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAC9C,EACD,CAAC;QACD,MAAM,IAAI,qDAAyB,CACjC,wIAAwI,CACzI,CAAA;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAa,mBAAoB,SAAQ,oBAAU;IAGjD,YAAY,MAAiB;QAC3B,KAAK,CAAC;YACJ,eAAe,EAAE,qBAAqB;YACtC,eAAe,EAAE,WAAW;YAC5B,qBAAqB,EAAE,mBAAmB;SAC3C,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,yBAAyB,EAAE,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,IAAI,YAAY,CAAA;QAChB,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAA;YAClD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAM;YACR,CAAC;YAED,MAAM,mBAAmB,GAAG,MAAM,CAChC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAClD,CAAA;YACD,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YACnD,IAAI,mBAAmB,IAAI,WAAW,EAAE,CAAC;gBACvC,IAAA,gDAAsC,EAAC,WAAW,EAAE,mBAAmB,CAAC,CAAA;YAC1E,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,OAAO,CAAC,IAAI,CAAC,+BAA+B,GAAI,KAAe,CAAC,OAAO,CAAC,CAAA;QAC1E,CAAC;IACH,CAAC;IAES,KAAK,CAAC,aAAa,CAC3B,EAA+B,EAC/B,GAAG,IAAe;QAElB,MAAM,MAAM,GAAG;;;gBAGH,EAAE;;KAEb,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;QACpE,OAAO,MAAW,CAAA;IACpB,CAAC;CACF;AAhDD,kDAgDC"}
|