@axe-core/watcher 3.21.1-next.d5d6de89 → 3.21.1-next.f4c2ad0d
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.js +3 -1
- package/dist/cypress/cypress.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/utils/handleNoSupportForChromeLoadExtensions.d.ts +9 -0
- package/dist/utils/handleNoSupportForChromeLoadExtensions.js +16 -0
- package/dist/utils/handleNoSupportForChromeLoadExtensions.js.map +1 -0
- package/dist/wdio/wdio.js +6 -0
- package/dist/wdio/wdio.js.map +1 -1
- package/dist/webdriver/webdriver.d.ts +1 -0
- package/dist/webdriver/webdriver.js +19 -0
- package/dist/webdriver/webdriver.js.map +1 -1
- package/extension/background.js +1 -1
- package/extension/content.js +1 -1
- package/package.json +1 -1
package/dist/cypress/cypress.js
CHANGED
@@ -13,6 +13,7 @@ const mergeChromeArgs_1 = __importDefault(require("../utils/mergeChromeArgs"));
|
|
13
13
|
const createDebugger_1 = __importDefault(require("../createDebugger"));
|
14
14
|
const readVariables_1 = __importDefault(require("../utils/readVariables"));
|
15
15
|
const checkUserArgs_1 = require("../utils/checkUserArgs");
|
16
|
+
const handleNoSupportForChromeLoadExtensions_1 = __importDefault(require("../utils/handleNoSupportForChromeLoadExtensions"));
|
16
17
|
const debugLogger = (0, createDebugger_1.default)('CypressController');
|
17
18
|
exports.configTimeout = '__AXE_WATCHER_TIMEOUT_CONFIG';
|
18
19
|
exports.cypressConfigRunFlag = '__AXE_WATCHER_CYPRESS_CONFIG_RUN';
|
@@ -109,8 +110,9 @@ const createSetupNodeEvents = (testType, userConfig) => {
|
|
109
110
|
on('before:browser:launch', (browser, launchOptions) => {
|
110
111
|
if (browser.name.startsWith('firefox') ||
|
111
112
|
browser.name.startsWith('electron')) {
|
112
|
-
throw new Error(`The @axe-core/watcher package only supports running in Chrome, but Cypress is configured with browser "${browser.name}". Please refer to our System Requirements for more information: https://docs.deque.com/developer-hub/2/en/dh-system-requirements`);
|
113
|
+
throw new Error(`The @axe-core/watcher package only supports running in Chrome browsers such as "Chrome", "Chrome for Testing" or "Chromium", but Cypress is configured with browser "${browser.name}". Please refer to our System Requirements for more information: https://docs.deque.com/developer-hub/2/en/dh-system-requirements`);
|
113
114
|
}
|
115
|
+
(0, handleNoSupportForChromeLoadExtensions_1.default)(browser.name, Number(browser.majorVersion));
|
114
116
|
if (browser.isHeadless && launchOptions.args.includes('--headless')) {
|
115
117
|
throw new headlessNotSupportedError_1.HeadlessNotSupportedError('In Cypress, "--headless=new" became the default headless mode in Cypress version 12.15.0. Ensure your Cypress version is up to date and that you are not using a "before:browser:launch" configuration that adds "--headless" to launchOptions.args.');
|
116
118
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cypress.js","sourceRoot":"","sources":["../../src/cypress/cypress.ts"],"names":[],"mappings":";;;;;;AACA,iFAAwD;AACxD,uEAA8C;AAC9C,6EAEgC;AAChC,6FAA2D;AAC3D,kFAA8E;AAC9E,+EAAsD;AACtD,uEAA8C;AAC9C,2EAAkD;AAClD,0DAAsD;
|
1
|
+
{"version":3,"file":"cypress.js","sourceRoot":"","sources":["../../src/cypress/cypress.ts"],"names":[],"mappings":"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"}
|
@@ -12,6 +12,7 @@ export declare function playwrightConfig(opts: Options): LaunchOptions;
|
|
12
12
|
export declare class PlaywrightController extends Controller {
|
13
13
|
private driver;
|
14
14
|
constructor(driver: Page);
|
15
|
+
checkBrowserCompatibility(): Promise<void>;
|
15
16
|
protected executeScript<T>(fn: string | (() => Promise<T>), ...args: unknown[]): Promise<T>;
|
16
17
|
}
|
17
18
|
/**
|
@@ -10,6 +10,7 @@ const mergeChromeArgs_1 = __importDefault(require("../utils/mergeChromeArgs"));
|
|
10
10
|
const writeVariables_1 = __importDefault(require("../utils/writeVariables"));
|
11
11
|
const checkUserArgs_1 = require("../utils/checkUserArgs");
|
12
12
|
const validateHeadlessPlaywright_1 = __importDefault(require("../utils/validateHeadlessPlaywright"));
|
13
|
+
const handleNoSupportForChromeLoadExtensions_1 = __importDefault(require("../utils/handleNoSupportForChromeLoadExtensions"));
|
13
14
|
function playwrightConfig(opts) {
|
14
15
|
const { axe, ...config } = opts;
|
15
16
|
let { args = [] } = config;
|
@@ -34,6 +35,22 @@ class PlaywrightController extends Controller_1.default {
|
|
34
35
|
configurationFunction: 'playwrightConfig()'
|
35
36
|
});
|
36
37
|
this.driver = driver;
|
38
|
+
this.checkBrowserCompatibility();
|
39
|
+
}
|
40
|
+
async checkBrowserCompatibility() {
|
41
|
+
try {
|
42
|
+
const page = await this.driver.context().newPage();
|
43
|
+
const cdp = await page.context().newCDPSession(page);
|
44
|
+
const browser = await cdp.send('Browser.getVersion');
|
45
|
+
const browserName = browser.product.split('/')[0];
|
46
|
+
const browserMajorVersion = Number(browser.product.split('/')[1]?.split('.')[0]);
|
47
|
+
if (browserName && browserMajorVersion) {
|
48
|
+
(0, handleNoSupportForChromeLoadExtensions_1.default)(browserName, browserMajorVersion);
|
49
|
+
}
|
50
|
+
}
|
51
|
+
catch (error) {
|
52
|
+
console.warn('Unable to determine browser. ' + error.message);
|
53
|
+
}
|
37
54
|
}
|
38
55
|
async executeScript(fn, ...args) {
|
39
56
|
const [arg] = args || [];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"playwright.js","sourceRoot":"","sources":["../../src/playwright/playwright.ts"],"names":[],"mappings":";;;;;;
|
1
|
+
{"version":3,"file":"playwright.js","sourceRoot":"","sources":["../../src/playwright/playwright.ts"],"names":[],"mappings":";;;;;;AAiBA,4CAmBC;AAnCD,+DAAsC;AACtC,+EAAsD;AACtD,6EAA4E;AAC5E,0DAAsD;AACtD,qGAA4E;AAC5E,6HAAoG;AAWpG,SAAgB,gBAAgB,CAAC,IAAa;IAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/B,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,MAAM,CAAA;IAE1B,IAAA,oCAA0B,EAAC;QACzB,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAA;IAEF,IAAA,6BAAa,EAAC,IAAI,CAAC,CAAA;IACnB,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,YAAY,GAAG,IAAI,CAAA;IACzB,IAAI,GAAG,IAAA,yBAAe,EAAC,YAAY,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtE,OAAO;QACL,GAAG,MAAM;QACT,IAAI;KACL,CAAA;AACH,CAAC;AAED,MAAa,oBAAqB,SAAQ,oBAAU;IAGlD,YAAY,MAAY;QACtB,KAAK,CAAC;YACJ,eAAe,EAAE,sBAAsB;YACvC,eAAe,EAAE,YAAY;YAC7B,qBAAqB,EAAE,oBAAoB;SAC5C,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,yBAAyB,EAAE,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAA;YAClD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;YACpD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;YAEpD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACjD,MAAM,mBAAmB,GAAG,MAAM,CAChC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAC7C,CAAA;YACD,IAAI,WAAW,IAAI,mBAAmB,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,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAA;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAI,EAAE,EAAE,GAAG,CAAC,CAAA;QACrD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAzCD,oDAyCC;AAKM,MAAM,cAAc,GAAG,CAE5B,cAA8B,EAE9B,oBAA0C,EAC1B,EAAE;IAClB,MAAM,IAAI,KAAK,CAAC;;;;;;GAMf,CAAC,CAAA;AACJ,CAAC,CAAA;AAbY,QAAA,cAAc,kBAa1B;AAED,2DAAqE;AAA5D,wHAAA,QAAQ,OAAsB"}
|
@@ -11,6 +11,7 @@ export declare function puppeteerConfig(opts: Configuration & LaunchOptions): No
|
|
11
11
|
export declare class PuppeteerController extends Controller {
|
12
12
|
private driver;
|
13
13
|
constructor(driver: Page);
|
14
|
+
checkBrowserCompatibility(): Promise<void>;
|
14
15
|
protected executeScript<T>(fn: string | (() => Promise<T>), ...args: unknown[]): Promise<T>;
|
15
16
|
}
|
16
17
|
/**
|
@@ -10,6 +10,7 @@ const headlessNotSupportedError_1 = require("../utils/headlessNotSupportedError"
|
|
10
10
|
const mergeChromeArgs_1 = __importDefault(require("../utils/mergeChromeArgs"));
|
11
11
|
const writeVariables_1 = __importDefault(require("../utils/writeVariables"));
|
12
12
|
const checkUserArgs_1 = require("../utils/checkUserArgs");
|
13
|
+
const handleNoSupportForChromeLoadExtensions_1 = __importDefault(require("../utils/handleNoSupportForChromeLoadExtensions"));
|
13
14
|
function headlessNotSupportedError(config) {
|
14
15
|
if (!config?.headless || config.headless === 'new') {
|
15
16
|
return;
|
@@ -41,6 +42,23 @@ class PuppeteerController extends Controller_1.default {
|
|
41
42
|
configurationFunction: 'puppeteerConfig()'
|
42
43
|
});
|
43
44
|
this.driver = driver;
|
45
|
+
this.checkBrowserCompatibility();
|
46
|
+
}
|
47
|
+
async checkBrowserCompatibility() {
|
48
|
+
try {
|
49
|
+
const browser = await this.driver.browser().version();
|
50
|
+
if (!browser) {
|
51
|
+
return;
|
52
|
+
}
|
53
|
+
const browserName = browser.split('/')[0];
|
54
|
+
const browserMajorVersion = Number(browser.split('/')[1]?.split('.')[0]);
|
55
|
+
if (browserMajorVersion && browserName) {
|
56
|
+
(0, handleNoSupportForChromeLoadExtensions_1.default)(browserName, browserMajorVersion);
|
57
|
+
}
|
58
|
+
}
|
59
|
+
catch (error) {
|
60
|
+
console.warn('Unable to determine browser. ' + error.message);
|
61
|
+
}
|
44
62
|
}
|
45
63
|
async executeScript(fn, ...args) {
|
46
64
|
const result = await this.driver.evaluate(fn, ...args);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../../src/puppeteer/puppeteer.ts"],"names":[],"mappings":";;;;;;
|
1
|
+
{"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../../src/puppeteer/puppeteer.ts"],"names":[],"mappings":";;;;;;AAyCA,0CAqBC;AA7DD,+DAAsC;AACtC,kFAA8E;AAC9E,+EAAsD;AACtD,6EAA4E;AAC5E,0DAAsD;AACtD,6HAAoG;AAWpG,SAAS,yBAAyB,CAChC,MAAuD;IAEvD,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QACnD,OAAM;IACR,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,qDAAyB,CACjC,mGAAmG,CACpG,CAAA;IACH,CAAC;IAED,MAAM,IAAI,qDAAyB,CACjC,8HAA8H,CAC/H,CAAA;AACH,CAAC;AAQD,SAAgB,eAAe,CAC7B,IAAmC;IAEnC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/B,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,MAAM,CAAA;IAE1B,IAAA,6BAAa,EAAC,IAAI,CAAC,CAAA;IACnB,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,yBAAyB,CACvB,MAAyD,CAC1D,CAAA;IAED,MAAM,YAAY,GAAG,IAAI,CAAA;IACzB,IAAI,GAAG,IAAA,yBAAe,EAAC,YAAY,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtE,OAAO;QACL,GAAG,MAAM;QACT,QAAQ,EAAE,KAAK;QACf,IAAI;KACL,CAAA;AACH,CAAC;AAED,MAAa,mBAAoB,SAAQ,oBAAU;IAGjD,YAAY,MAAY;QACtB,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,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAA;YACrD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAM;YACR,CAAC;YAED,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACzC,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACxE,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,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;QACtD,OAAO,MAAW,CAAA;IACpB,CAAC;CACF;AAxCD,kDAwCC;AAKM,MAAM,aAAa,GAAG,CAE3B,cAA8B,EAE9B,UAA+B,EACf,EAAE;IAClB,MAAM,IAAI,KAAK,CAAC;;;;;;KAMb,CAAC,CAAA;AACN,CAAC,CAAA;AAbY,QAAA,aAAa,iBAazB;AAED,yDAAmE;AAA1D,sHAAA,QAAQ,OAAqB"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
/**
|
2
|
+
* Checks the Chrome version and informs users that `--load-extensions` flag is no longer supported.
|
3
|
+
* For Chrome versions 139 and higher we are throwing an error since the load extensions flag is completely removed,
|
4
|
+
* see https://groups.google.com/a/chromium.org/g/chromium-extensions/c/1-g8EFx2BBY/m/S0ET5wPjCAAJ
|
5
|
+
* @param browserName - The name of the browser.
|
6
|
+
* @param browserVersion - The version of the browser.
|
7
|
+
*/
|
8
|
+
declare function handleNoSupportForChromeLoadExtensions(browserName: string, browserVersion: number): void;
|
9
|
+
export default handleNoSupportForChromeLoadExtensions;
|
@@ -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"}
|
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 }) {
|
@@ -93,6 +94,11 @@ class WdioController extends Controller_1.default {
|
|
93
94
|
configurationFunction: 'wdioConfig()'
|
94
95
|
});
|
95
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
|
+
}
|
96
102
|
}
|
97
103
|
async executeScript(fn, ...args) {
|
98
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) {
|
@@ -36,6 +37,24 @@ class WebdriverController extends Controller_1.default {
|
|
36
37
|
configurationFunction: 'webdriverConfig()'
|
37
38
|
});
|
38
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
|
+
}
|
39
58
|
}
|
40
59
|
async executeScript(fn, ...args) {
|
41
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"}
|