@axe-core/webdriverjs 4.3.2-alpha.208 → 4.3.2
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/browser.d.ts +3 -3
- package/dist/browser.js +7 -3
- package/dist/browser.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/src/browser.ts +19 -10
- package/src/index.ts +4 -4
- package/tests/axe-webdriverjs.spec.ts +23 -0
package/dist/browser.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AxeResults, ContextObject, FrameContext, RunOptions, Spec
|
|
1
|
+
import { AxeResults, ContextObject, FrameContext, RunOptions, Spec } from 'axe-core';
|
|
2
2
|
import { WebDriver, WebElement } from 'selenium-webdriver';
|
|
3
3
|
declare type FrameContextWeb = FrameContext & {
|
|
4
4
|
frame: WebElement;
|
|
@@ -7,8 +7,8 @@ declare type FrameContextWeb = FrameContext & {
|
|
|
7
7
|
export declare function axeSourceInject(driver: WebDriver, axeSource: string, config: Spec | null): Promise<{
|
|
8
8
|
runPartialSupported: boolean;
|
|
9
9
|
}>;
|
|
10
|
-
export declare function axeRunPartial(driver: WebDriver, context: ContextObject, options: RunOptions): Promise<
|
|
11
|
-
export declare function axeFinishRun(driver: WebDriver, axeSource: string, config: Spec | null, partialResults: Array<
|
|
10
|
+
export declare function axeRunPartial(driver: WebDriver, context: ContextObject, options: RunOptions): Promise<string>;
|
|
11
|
+
export declare function axeFinishRun(driver: WebDriver, axeSource: string, config: Spec | null, partialResults: Array<string>, options: RunOptions): Promise<AxeResults>;
|
|
12
12
|
export declare function axeGetFrameContext(driver: WebDriver, context: ContextObject): Promise<FrameContextWeb[]>;
|
|
13
13
|
export declare function axeRunLegacy(driver: WebDriver, context: ContextObject, options: RunOptions, config: Spec | null): Promise<AxeResults>;
|
|
14
14
|
export {};
|
package/dist/browser.js
CHANGED
|
@@ -10,13 +10,15 @@ function axeSourceInject(driver, axeSource, config) {
|
|
|
10
10
|
}
|
|
11
11
|
exports.axeSourceInject = axeSourceInject;
|
|
12
12
|
function axeRunPartial(driver, context, options) {
|
|
13
|
-
return promisify(driver.executeAsyncScript("\n var callback = arguments[arguments.length - 1];\n var context = " + JSON.stringify(context) + " || document;\n var options = " + JSON.stringify(options) + " || {};\n window.axe.runPartial(context, options).then(callback);\n "));
|
|
13
|
+
return promisify(driver.executeAsyncScript("\n var callback = arguments[arguments.length - 1];\n var context = " + JSON.stringify(context) + " || document;\n var options = " + JSON.stringify(options) + " || {};\n window.axe.runPartial(context, options).then(res => JSON.stringify(res)).then(callback);\n "));
|
|
14
14
|
}
|
|
15
15
|
exports.axeRunPartial = axeRunPartial;
|
|
16
16
|
function axeFinishRun(driver, axeSource, config, partialResults, options) {
|
|
17
17
|
// Inject source and configuration a second time with a mock "this" context,
|
|
18
18
|
// to make it impossible to sniff the global window.axe for results.
|
|
19
|
-
return promisify(driver
|
|
19
|
+
return promisify(driver
|
|
20
|
+
.executeAsyncScript("\n var callback = arguments[arguments.length - 1];\n\n " + axeSource + ";\n window.axe.configure({\n branding: { application: 'webdriverjs' }\n });\n var config = " + JSON.stringify(config) + ";\n if (config) {\n window.axe.configure(config);\n }\n\n var partialResults = " + JSON.stringify(partialResults) + ";\n partialResults = partialResults.map(res => JSON.parse(res));\n var options = " + JSON.stringify(options || {}) + ";\n window.axe.finishRun(partialResults, options).then(res => JSON.stringify(res)).then(callback);\n ")
|
|
21
|
+
.then(function (res) { return JSON.parse(res); }));
|
|
20
22
|
}
|
|
21
23
|
exports.axeFinishRun = axeFinishRun;
|
|
22
24
|
function axeGetFrameContext(driver, context) {
|
|
@@ -26,7 +28,9 @@ exports.axeGetFrameContext = axeGetFrameContext;
|
|
|
26
28
|
function axeRunLegacy(driver, context, options, config) {
|
|
27
29
|
// https://github.com/vercel/pkg/issues/676
|
|
28
30
|
// we need to pass a string vs a function so we manually stringified the function
|
|
29
|
-
return promisify(driver
|
|
31
|
+
return promisify(driver
|
|
32
|
+
.executeAsyncScript("\n var callback = arguments[arguments.length - 1];\n var context = " + JSON.stringify(context) + " || document;\n var options = " + JSON.stringify(options) + " || {};\n var config = " + JSON.stringify(config) + " || null;\n if (config) {\n window.axe.configure(config);\n }\n window.axe.run(context, options).then(res => JSON.stringify(res)).then(callback);\n ")
|
|
33
|
+
.then(function (res) { return JSON.parse(res); }));
|
|
30
34
|
}
|
|
31
35
|
exports.axeRunLegacy = axeRunLegacy;
|
|
32
36
|
/**
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":";;;AAeA,2CAA2C;AAC3C,iFAAiF;AACjF,4EAA4E;AAC5E,2CAA2C;AAE3C,SAAgB,eAAe,CAC7B,MAAiB,EACjB,SAAiB,EACjB,MAAmB;IAEnB,OAAO,SAAS,CACd,MAAM,CAAC,aAAa,CAAmC,aACnD,SAAS,yHAII,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,yMAMtC,CAAC,CACH,CAAC;AACJ,CAAC;AAnBD,0CAmBC;AAED,SAAgB,aAAa,CAC3B,MAAiB,EACjB,OAAsB,EACtB,OAAmB;IAEnB,OAAO,SAAS,CACd,MAAM,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":";;;AAeA,2CAA2C;AAC3C,iFAAiF;AACjF,4EAA4E;AAC5E,2CAA2C;AAE3C,SAAgB,eAAe,CAC7B,MAAiB,EACjB,SAAiB,EACjB,MAAmB;IAEnB,OAAO,SAAS,CACd,MAAM,CAAC,aAAa,CAAmC,aACnD,SAAS,yHAII,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,yMAMtC,CAAC,CACH,CAAC;AACJ,CAAC;AAnBD,0CAmBC;AAED,SAAgB,aAAa,CAC3B,MAAiB,EACjB,OAAsB,EACtB,OAAmB;IAEnB,OAAO,SAAS,CACd,MAAM,CAAC,kBAAkB,CAAS,kFAEhB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2CACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kHAExC,CAAC,CACH,CAAC;AACJ,CAAC;AAbD,sCAaC;AAED,SAAgB,YAAY,CAC1B,MAAiB,EACjB,SAAiB,EACjB,MAAmB,EACnB,cAA6B,EAC7B,OAAmB;IAEnB,4EAA4E;IAC5E,oEAAoE;IACpE,OAAO,SAAS,CACd,MAAM;SACH,kBAAkB,CACjB,sEAGA,SAAS,yHAII,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,6GAKd,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,mGAErC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,kHAE9C,CACE;SACA,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAf,CAAe,CAAC,CAChC,CAAC;AACJ,CAAC;AAhCD,oCAgCC;AAED,SAAgB,kBAAkB,CAChC,MAAiB,EACjB,OAAsB;IAEtB,OAAO,SAAS,CACd,MAAM,CAAC,aAAa,CAAoB,2BACtB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,+UAQxC,CAAC,CACH,CAAC;AACJ,CAAC;AAhBD,gDAgBC;AAED,SAAgB,YAAY,CAC1B,MAAiB,EACjB,OAAsB,EACtB,OAAmB,EACnB,MAAmB;IAEnB,2CAA2C;IAC3C,iFAAiF;IACjF,OAAO,SAAS,CACd,MAAM;SACH,kBAAkB,CACjB,kFAEc,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2CACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oCACxB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kLAKtC,CACE;SACA,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAf,CAAe,CAAC,CAChC,CAAC;AACJ,CAAC;AAxBD,oCAwBC;AAED;;GAEG;AACH,SAAS,SAAS,CAAI,QAAoB;IACxC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QACjC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axe-core/webdriverjs",
|
|
3
|
-
"version": "4.3.2
|
|
3
|
+
"version": "4.3.2",
|
|
4
4
|
"description": "Provides a method to inject and analyze web pages using axe",
|
|
5
5
|
"contributors": [
|
|
6
6
|
{
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"axe-test-fixtures": "github:dequelabs/axe-test-fixtures#v1",
|
|
67
67
|
"chai": "^4.3.0",
|
|
68
68
|
"chaimocha": "^1.10.0",
|
|
69
|
-
"chromedriver": "^
|
|
69
|
+
"chromedriver": "^96.0.0",
|
|
70
70
|
"delay": "^5.0.0",
|
|
71
71
|
"express": "^4.17.1",
|
|
72
72
|
"http-server": "^0.12.3",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"mocha": "^8.4.0",
|
|
75
75
|
"nyc": "^15.1.0",
|
|
76
76
|
"rimraf": "^3.0.2",
|
|
77
|
-
"selenium-webdriver": "^4.0.0",
|
|
77
|
+
"selenium-webdriver": "^4.0.0-beta.4",
|
|
78
78
|
"sinon": "^9.2.4",
|
|
79
79
|
"test-listen": "^1.1.0",
|
|
80
80
|
"ts-node": "^9.1.1",
|
|
@@ -105,5 +105,5 @@
|
|
|
105
105
|
"functions": 85,
|
|
106
106
|
"lines": 85
|
|
107
107
|
},
|
|
108
|
-
"gitHead": "
|
|
108
|
+
"gitHead": "ad34c79d557ed9e63493be3fa5dc7ded409b943f"
|
|
109
109
|
}
|
package/src/browser.ts
CHANGED
|
@@ -43,13 +43,13 @@ export function axeRunPartial(
|
|
|
43
43
|
driver: WebDriver,
|
|
44
44
|
context: ContextObject,
|
|
45
45
|
options: RunOptions
|
|
46
|
-
): Promise<
|
|
46
|
+
): Promise<string> {
|
|
47
47
|
return promisify(
|
|
48
|
-
driver.executeAsyncScript<
|
|
48
|
+
driver.executeAsyncScript<string>(`
|
|
49
49
|
var callback = arguments[arguments.length - 1];
|
|
50
50
|
var context = ${JSON.stringify(context)} || document;
|
|
51
51
|
var options = ${JSON.stringify(options)} || {};
|
|
52
|
-
window.axe.runPartial(context, options).then(callback);
|
|
52
|
+
window.axe.runPartial(context, options).then(res => JSON.stringify(res)).then(callback);
|
|
53
53
|
`)
|
|
54
54
|
);
|
|
55
55
|
}
|
|
@@ -58,13 +58,15 @@ export function axeFinishRun(
|
|
|
58
58
|
driver: WebDriver,
|
|
59
59
|
axeSource: string,
|
|
60
60
|
config: Spec | null,
|
|
61
|
-
partialResults: Array<
|
|
61
|
+
partialResults: Array<string>,
|
|
62
62
|
options: RunOptions
|
|
63
63
|
): Promise<AxeResults> {
|
|
64
64
|
// Inject source and configuration a second time with a mock "this" context,
|
|
65
65
|
// to make it impossible to sniff the global window.axe for results.
|
|
66
66
|
return promisify(
|
|
67
|
-
driver
|
|
67
|
+
driver
|
|
68
|
+
.executeAsyncScript<string>(
|
|
69
|
+
`
|
|
68
70
|
var callback = arguments[arguments.length - 1];
|
|
69
71
|
|
|
70
72
|
${axeSource};
|
|
@@ -77,9 +79,12 @@ export function axeFinishRun(
|
|
|
77
79
|
}
|
|
78
80
|
|
|
79
81
|
var partialResults = ${JSON.stringify(partialResults)};
|
|
82
|
+
partialResults = partialResults.map(res => JSON.parse(res));
|
|
80
83
|
var options = ${JSON.stringify(options || {})};
|
|
81
|
-
window.axe.finishRun(partialResults, options).then(callback);
|
|
82
|
-
`
|
|
84
|
+
window.axe.finishRun(partialResults, options).then(res => JSON.stringify(res)).then(callback);
|
|
85
|
+
`
|
|
86
|
+
)
|
|
87
|
+
.then(res => JSON.parse(res))
|
|
83
88
|
);
|
|
84
89
|
}
|
|
85
90
|
|
|
@@ -110,7 +115,9 @@ export function axeRunLegacy(
|
|
|
110
115
|
// https://github.com/vercel/pkg/issues/676
|
|
111
116
|
// we need to pass a string vs a function so we manually stringified the function
|
|
112
117
|
return promisify(
|
|
113
|
-
driver
|
|
118
|
+
driver
|
|
119
|
+
.executeAsyncScript<string>(
|
|
120
|
+
`
|
|
114
121
|
var callback = arguments[arguments.length - 1];
|
|
115
122
|
var context = ${JSON.stringify(context)} || document;
|
|
116
123
|
var options = ${JSON.stringify(options)} || {};
|
|
@@ -118,8 +125,10 @@ export function axeRunLegacy(
|
|
|
118
125
|
if (config) {
|
|
119
126
|
window.axe.configure(config);
|
|
120
127
|
}
|
|
121
|
-
window.axe.run(context, options).then(callback);
|
|
122
|
-
`
|
|
128
|
+
window.axe.run(context, options).then(res => JSON.stringify(res)).then(callback);
|
|
129
|
+
`
|
|
130
|
+
)
|
|
131
|
+
.then(res => JSON.parse(res))
|
|
123
132
|
);
|
|
124
133
|
}
|
|
125
134
|
|
package/src/index.ts
CHANGED
|
@@ -203,13 +203,13 @@ class AxeBuilder {
|
|
|
203
203
|
private async runPartialRecursive(
|
|
204
204
|
context: ContextObject,
|
|
205
205
|
initiator = false
|
|
206
|
-
): Promise<
|
|
206
|
+
): Promise<string[]> {
|
|
207
207
|
if (!initiator) {
|
|
208
208
|
await axeSourceInject(this.driver, this.axeSource, this.config);
|
|
209
209
|
}
|
|
210
210
|
// IMPORTANT: axeGetFrameContext MUST be called before axeRunPartial
|
|
211
211
|
const frameContexts = await axeGetFrameContext(this.driver, context);
|
|
212
|
-
const partials:
|
|
212
|
+
const partials: string[] = [
|
|
213
213
|
await axeRunPartial(this.driver, context, this.option)
|
|
214
214
|
];
|
|
215
215
|
|
|
@@ -225,7 +225,7 @@ class AxeBuilder {
|
|
|
225
225
|
if (switchedFrame) {
|
|
226
226
|
await this.driver.switchTo().parentFrame();
|
|
227
227
|
}
|
|
228
|
-
partials.push(null);
|
|
228
|
+
partials.push('null');
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
231
|
return partials;
|
|
@@ -234,7 +234,7 @@ class AxeBuilder {
|
|
|
234
234
|
/**
|
|
235
235
|
* Use axe.finishRun() to turn partial results into actual results
|
|
236
236
|
*/
|
|
237
|
-
private async finishRun(partials:
|
|
237
|
+
private async finishRun(partials: string[]): Promise<AxeResults> {
|
|
238
238
|
const { driver, axeSource, config, option } = this;
|
|
239
239
|
|
|
240
240
|
const win = await driver.getWindowHandle();
|
|
@@ -11,6 +11,7 @@ import * as fs from 'fs';
|
|
|
11
11
|
import { Server, createServer } from 'http';
|
|
12
12
|
import { Webdriver, connectToChromeDriver } from './test-utils';
|
|
13
13
|
import AxeBuilder from '../src';
|
|
14
|
+
import { axeRunPartial } from '../src/browser';
|
|
14
15
|
const dylangConfig = require('./fixtures/external/dylang-config.json') as Spec;
|
|
15
16
|
|
|
16
17
|
describe('@axe-core/webdriverjs', () => {
|
|
@@ -68,6 +69,16 @@ describe('@axe-core/webdriverjs', () => {
|
|
|
68
69
|
assert.isArray(results.inapplicable);
|
|
69
70
|
});
|
|
70
71
|
|
|
72
|
+
it('handles undefineds', async () => {
|
|
73
|
+
await driver.get(`${addr}/external/index.html`);
|
|
74
|
+
const results = await new AxeBuilder(driver).analyze();
|
|
75
|
+
assert.isNotNull(results);
|
|
76
|
+
assert.isArray(results.violations);
|
|
77
|
+
assert.isArray(results.incomplete);
|
|
78
|
+
assert.isArray(results.passes);
|
|
79
|
+
assert.isArray(results.inapplicable);
|
|
80
|
+
});
|
|
81
|
+
|
|
71
82
|
it('returns correct results metadata', async () => {
|
|
72
83
|
await driver.get(`${addr}/index.html`);
|
|
73
84
|
const results = await new AxeBuilder(driver).analyze();
|
|
@@ -539,6 +550,18 @@ describe('@axe-core/webdriverjs', () => {
|
|
|
539
550
|
});
|
|
540
551
|
});
|
|
541
552
|
|
|
553
|
+
describe('browser functions', () => {
|
|
554
|
+
it('serializes results', async () => {
|
|
555
|
+
await driver.get(`${addr}/external/nested-iframes.html`);
|
|
556
|
+
await driver.executeScript(`
|
|
557
|
+
window.axe = {
|
|
558
|
+
runPartial: (c, o) => Promise.resolve({ violations: [], passes: [] })
|
|
559
|
+
};
|
|
560
|
+
`);
|
|
561
|
+
const res = await axeRunPartial(driver, null as any, null as any);
|
|
562
|
+
assert.equal(typeof res, 'string');
|
|
563
|
+
});
|
|
564
|
+
});
|
|
542
565
|
describe('for versions without axe.runPartial', () => {
|
|
543
566
|
let axe403Source: string;
|
|
544
567
|
before(() => {
|