@axe-core/watcher 1.2.0 → 1.3.0-next.571f4b77

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.
@@ -1,8 +1,12 @@
1
+ interface AnalyzeParams {
2
+ __UserRequestedAnalyze?: boolean;
3
+ }
1
4
  declare abstract class Controller {
2
- protected abstract executeScript(fn: string | (() => Promise<void>)): Promise<void>;
5
+ protected abstract executeScript(fn: string | ((...args: unknown[]) => Promise<void>), ...args: unknown[]): Promise<void>;
6
+ protected isStopped: boolean;
3
7
  start(): Promise<void>;
4
8
  stop(): Promise<void>;
5
- analyze(): Promise<void>;
9
+ analyze({ __UserRequestedAnalyze }?: AnalyzeParams): Promise<void>;
6
10
  /** Flush all axe-core results by sending them to the server. */
7
11
  flush(): Promise<void>;
8
12
  }
@@ -49,6 +49,7 @@ var updateAutoAnalyze = function (val) {
49
49
  };
50
50
  var Controller = /** @class */ (function () {
51
51
  function Controller() {
52
+ this.isStopped = false;
52
53
  }
53
54
  Controller.prototype.start = function () {
54
55
  return __awaiter(this, void 0, void 0, function () {
@@ -56,6 +57,7 @@ var Controller = /** @class */ (function () {
56
57
  switch (_a.label) {
57
58
  case 0:
58
59
  updateAutoAnalyze(true);
60
+ this.isStopped = false;
59
61
  return [4 /*yield*/, this.executeScript(function () {
60
62
  return new Promise(function (resolve) {
61
63
  var event = new CustomEvent('axe:start-auto-mode');
@@ -80,6 +82,7 @@ var Controller = /** @class */ (function () {
80
82
  switch (_a.label) {
81
83
  case 0:
82
84
  updateAutoAnalyze(false);
85
+ this.isStopped = true;
83
86
  return [4 /*yield*/, this.executeScript(function () {
84
87
  return new Promise(function (resolve) {
85
88
  var event = new CustomEvent('axe:stop-auto-mode');
@@ -98,23 +101,31 @@ var Controller = /** @class */ (function () {
98
101
  });
99
102
  });
100
103
  };
101
- Controller.prototype.analyze = function () {
104
+ Controller.prototype.analyze = function (_a) {
105
+ var _b = _a === void 0 ? {} : _a, _c = _b.__UserRequestedAnalyze, __UserRequestedAnalyze = _c === void 0 ? true : _c;
102
106
  return __awaiter(this, void 0, void 0, function () {
103
- return __generator(this, function (_a) {
104
- switch (_a.label) {
105
- case 0: return [4 /*yield*/, this.executeScript(function () {
106
- return new Promise(function (resolve) {
107
- var event = new CustomEvent('axe:manual-mode-analyze');
108
- var fn = function () {
109
- window.removeEventListener('axe:manual-mode-analyze-done', fn);
110
- resolve();
111
- };
112
- window.addEventListener('axe:manual-mode-analyze-done', fn);
113
- window.dispatchEvent(event);
114
- });
115
- })];
107
+ return __generator(this, function (_d) {
108
+ switch (_d.label) {
109
+ case 0:
110
+ // If the user didn't request an analyze, and we're in manual mode, don't do anything.
111
+ if (this.isStopped && !__UserRequestedAnalyze) {
112
+ return [2 /*return*/];
113
+ }
114
+ return [4 /*yield*/, this.executeScript(function (userRequestedAnalyze) {
115
+ return new Promise(function (resolve) {
116
+ var event = new CustomEvent('axe:manual-mode-analyze', {
117
+ detail: { userRequestedAnalyze: userRequestedAnalyze }
118
+ });
119
+ var fn = function () {
120
+ window.removeEventListener('axe:manual-mode-analyze-done', fn);
121
+ resolve();
122
+ };
123
+ window.addEventListener('axe:manual-mode-analyze-done', fn);
124
+ window.dispatchEvent(event);
125
+ });
126
+ }, __UserRequestedAnalyze)];
116
127
  case 1:
117
- _a.sent();
128
+ _d.sent();
118
129
  return [2 /*return*/];
119
130
  }
120
131
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Controller.js","sourceRoot":"","sources":["../src/Controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Controller.js","sourceRoot":"","sources":["../src/Controller.ts"],"names":[],"mappings":"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"}
package/dist/cypress.d.ts CHANGED
@@ -6,3 +6,7 @@ import { Configuration } from './util';
6
6
  * @param config Cypress config to extend
7
7
  */
8
8
  export declare const cypressConfig: (config: Cypress.ConfigOptions & Configuration) => Cypress.ConfigOptions;
9
+ /** Methods we wrap on the provided `cy` instance. */
10
+ export declare const WRAPPED_METHODS: ReadonlyArray<keyof Cypress.cy>;
11
+ /** Wrap the given Cypress `cy` object, ensuring axe-core analysis is run after each command. */
12
+ export declare const wrapCy: (cy: Cypress.cy) => Cypress.cy;
package/dist/cypress.js CHANGED
@@ -22,7 +22,7 @@ var __rest = (this && this.__rest) || function (s, e) {
22
22
  return t;
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.cypressConfig = void 0;
25
+ exports.wrapCy = exports.WRAPPED_METHODS = exports.cypressConfig = void 0;
26
26
  var uuid_1 = require("uuid");
27
27
  var util_1 = require("./util");
28
28
  /**
@@ -63,4 +63,48 @@ var cypressConfig = function (config) {
63
63
  } }) });
64
64
  };
65
65
  exports.cypressConfig = cypressConfig;
66
+ /** Methods we wrap on the provided `cy` instance. */
67
+ exports.WRAPPED_METHODS = [
68
+ 'blur',
69
+ 'check',
70
+ 'clear',
71
+ 'click',
72
+ 'dblclick',
73
+ 'focus',
74
+ 'go',
75
+ 'invoke',
76
+ 'reload',
77
+ 'scrollIntoView',
78
+ 'scrollTo',
79
+ 'select',
80
+ 'submit',
81
+ 'trigger',
82
+ 'type',
83
+ 'uncheck',
84
+ 'visit',
85
+ 'wait'
86
+ ];
87
+ /** Wrap the given Cypress `cy` object, ensuring axe-core analysis is run after each command. */
88
+ var wrapCy = function (cy) {
89
+ // We cannot wrap the `cy` instance itself, but instead, wrap its prototype.
90
+ // We don't have access to the $Chainer prototype, so use the returned value from `cy.wrap('')`.
91
+ var proto = Object.getPrototypeOf(cy.wrap(''));
92
+ var _loop_1 = function (method) {
93
+ var old = proto[method];
94
+ proto[method] = function () {
95
+ var params = [];
96
+ for (var _i = 0; _i < arguments.length; _i++) {
97
+ params[_i] = arguments[_i];
98
+ }
99
+ var c = old.apply(this, params);
100
+ return c.axeAnalyze({ __UserRequestedAnalyze: false });
101
+ };
102
+ };
103
+ for (var _i = 0, WRAPPED_METHODS_1 = exports.WRAPPED_METHODS; _i < WRAPPED_METHODS_1.length; _i++) {
104
+ var method = WRAPPED_METHODS_1[_i];
105
+ _loop_1(method);
106
+ }
107
+ return cy;
108
+ };
109
+ exports.wrapCy = wrapCy;
66
110
  //# sourceMappingURL=cypress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cypress.js","sourceRoot":"","sources":["../src/cypress.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,6BAAiC;AACjC,+BAMe;AAEf;;;;GAIG;AAEI,IAAM,aAAa,GAAG,UAC3B,MAA6C;IAErC,IAAA,GAAG,GAAoB,MAAM,IAA1B,EAAK,UAAU,UAAK,MAAM,EAA/B,OAAsB,CAAF,CAAW;IAErC,IAAA,qBAAc,wBACT,GAAG;QACN,+CAA+C;QAC/C,kFAAkF;QAClF,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,IAAA,SAAI,GAAE;QAClC,sDAAsD;QACtD,OAAO,EAAE,IAAI,IACb,CAAA;IACF,IAAA,oBAAa,EAAC;QACZ,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE;YACb,0BAA0B;YAC1B,4BAA4B;YAC5B,4BAA4B;YAC5B,uBAAuB;SACxB;KACF,CAAC,CAAA;IAEF,6BACK,UAAU,KACb,GAAG,wBACE,UAAU,CAAC,GAAG,KACjB,eAAe,YAAC,EAAE;gBAChB,EAAE,CAAC,uBAAuB,EAAE,UAAC,OAAO,EAAE,aAAa;;oBACjD,0BAA0B;oBAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;wBAC7B,IAAI,OAAO,CAAC,UAAU,EAAE;4BACtB,MAAM,IAAI,gCAAyB,EAAE,CAAA;yBACtC;wBAED,sBAAsB;wBACtB,CAAA,KAAA,aAAa,CAAC,IAAI,CAAA,CAAC,IAAI,WAAI,oBAAa,EAAC;qBAC1C;oBAED,OAAO,aAAa,CAAA;gBACtB,CAAC,CAAC,CAAA;YACJ,CAAC,OAEJ;AACH,CAAC,CAAA;AA5CY,QAAA,aAAa,iBA4CzB"}
1
+ {"version":3,"file":"cypress.js","sourceRoot":"","sources":["../src/cypress.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,6BAAiC;AACjC,+BAMe;AAEf;;;;GAIG;AAEI,IAAM,aAAa,GAAG,UAC3B,MAA6C;IAErC,IAAA,GAAG,GAAoB,MAAM,IAA1B,EAAK,UAAU,UAAK,MAAM,EAA/B,OAAsB,CAAF,CAAW;IAErC,IAAA,qBAAc,wBACT,GAAG;QACN,+CAA+C;QAC/C,kFAAkF;QAClF,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,IAAA,SAAI,GAAE;QAClC,sDAAsD;QACtD,OAAO,EAAE,IAAI,IACb,CAAA;IACF,IAAA,oBAAa,EAAC;QACZ,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE;YACb,0BAA0B;YAC1B,4BAA4B;YAC5B,4BAA4B;YAC5B,uBAAuB;SACxB;KACF,CAAC,CAAA;IAEF,6BACK,UAAU,KACb,GAAG,wBACE,UAAU,CAAC,GAAG,KACjB,eAAe,YAAC,EAAE;gBAChB,EAAE,CAAC,uBAAuB,EAAE,UAAC,OAAO,EAAE,aAAa;;oBACjD,0BAA0B;oBAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;wBAC7B,IAAI,OAAO,CAAC,UAAU,EAAE;4BACtB,MAAM,IAAI,gCAAyB,EAAE,CAAA;yBACtC;wBAED,sBAAsB;wBACtB,CAAA,KAAA,aAAa,CAAC,IAAI,CAAA,CAAC,IAAI,WAAI,oBAAa,EAAC;qBAC1C;oBAED,OAAO,aAAa,CAAA;gBACtB,CAAC,CAAC,CAAA;YACJ,CAAC,OAEJ;AACH,CAAC,CAAA;AA5CY,QAAA,aAAa,iBA4CzB;AAED,qDAAqD;AACxC,QAAA,eAAe,GAAoC;IAC9D,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,IAAI;IACJ,QAAQ;IACR,QAAQ;IACR,gBAAgB;IAChB,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;CACP,CAAA;AAED,gGAAgG;AACzF,IAAM,MAAM,GAAG,UAAC,EAAc;IACnC,4EAA4E;IAC5E,gGAAgG;IAChG,IAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;4BAErC,MAAM;QACf,IAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;QACzB,KAAK,CAAC,MAAM,CAAC,GAAG;YAAU,gBAAoB;iBAApB,UAAoB,EAApB,qBAAoB,EAApB,IAAoB;gBAApB,2BAAoB;;YAC5C,IAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACjC,OAAO,CAAC,CAAC,UAAU,CAAC,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,CAAA;QACxD,CAAC,CAAA;;IALH,KAAqB,UAAe,EAAf,oBAAA,uBAAe,EAAf,6BAAe,EAAf,IAAe;QAA/B,IAAM,MAAM,wBAAA;gBAAN,MAAM;KAMhB;IAED,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAdY,QAAA,MAAM,UAclB"}
@@ -1,11 +1,15 @@
1
1
  export {};
2
+ interface AxeAnalyzeParams {
3
+ /** Was this analyze call created internally or by the end-user. */
4
+ __UserRequestedAnalyze?: boolean;
5
+ }
2
6
  declare global {
3
7
  namespace Cypress {
4
8
  interface Chainable {
5
9
  /** Flush the axe-core result queue by sending results to the server. */
6
10
  axeFlush(): Chainable<void>;
7
- /** Perform a manual axe-core analysis. */
8
- axeAnalyze(): Chainable<void>;
11
+ /** Perform an axe-core analysis. */
12
+ axeAnalyze(params?: AxeAnalyzeParams): Chainable<void>;
9
13
  /** Start automatic analysis mode. */
10
14
  axeStart(): Chainable<void>;
11
15
  /** Stop automatic analysis mode. */
@@ -1,5 +1,15 @@
1
1
  "use strict";
2
+ /* istanbul ignore file: This file is basically untestable due to how Cypress works. Instead, it's covered by our E2E suite and manual testing. */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ /**
5
+ * Has the user stopped automatic mode.
6
+ *
7
+ * This code runs in the Cypress browser, so we're unable to
8
+ * read `variables.json` like we do with other integrations.
9
+ * As result, we need this top-level state for managing
10
+ * analyze calls created by "wrapped" methods.
11
+ */
12
+ var isStopped = false;
3
13
  Cypress.Commands.add('axeFlush', function () {
4
14
  cy.window().then(function (win) {
5
15
  return new Promise(function (resolve) {
@@ -13,10 +23,18 @@ Cypress.Commands.add('axeFlush', function () {
13
23
  });
14
24
  });
15
25
  });
16
- Cypress.Commands.add('axeAnalyze', function () {
26
+ Cypress.Commands.add('axeAnalyze',
27
+ // __UserRequestedAnalyze allows us to differentiate between user-initiated and automatic analysis.
28
+ function (_a) {
29
+ var _b = _a === void 0 ? {} : _a, _c = _b.__UserRequestedAnalyze, __UserRequestedAnalyze = _c === void 0 ? true : _c;
30
+ if (!__UserRequestedAnalyze && isStopped) {
31
+ return;
32
+ }
17
33
  cy.window().then(function (win) {
18
34
  return new Promise(function (resolve) {
19
- var event = new CustomEvent('axe:manual-mode-analyze');
35
+ var event = new CustomEvent('axe:manual-mode-analyze', {
36
+ detail: { userRequestedAnalyze: __UserRequestedAnalyze }
37
+ });
20
38
  var fn = function () {
21
39
  win.removeEventListener('axe:manual-mode-analyze-done', fn);
22
40
  resolve();
@@ -31,6 +49,7 @@ Cypress.Commands.add('axeStart', function () {
31
49
  return new Promise(function (resolve) {
32
50
  var event = new CustomEvent('axe:start-auto-mode');
33
51
  var fn = function () {
52
+ isStopped = false;
34
53
  win.removeEventListener('axe:start-auto-mode-done', fn);
35
54
  resolve();
36
55
  };
@@ -44,6 +63,7 @@ Cypress.Commands.add('axeStop', function () {
44
63
  return new Promise(function (resolve) {
45
64
  var event = new CustomEvent('axe:stop-auto-mode');
46
65
  var fn = function () {
66
+ isStopped = true;
47
67
  win.removeEventListener('axe:stop-auto-mode-done', fn);
48
68
  resolve();
49
69
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cypressCommands.js","sourceRoot":"","sources":["../src/cypressCommands.ts"],"names":[],"mappings":";;AAmBA,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE;IAC/B,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAA,GAAG;QAClB,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;YAC9B,IAAM,EAAE,GAAG;gBACT,GAAG,CAAC,mBAAmB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;gBAC5C,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;YACzC,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,iBAAiB,CAAC,CAAA;YAChD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE;IACjC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAA,GAAG;QAClB,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;YAC9B,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,yBAAyB,CAAC,CAAA;YACxD,IAAM,EAAE,GAAG;gBACT,GAAG,CAAC,mBAAmB,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;gBAC3D,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;YACxD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE;IAC/B,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAA,GAAG;QAClB,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;YAC9B,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAA;YACpD,IAAM,EAAE,GAAG;gBACT,GAAG,CAAC,mBAAmB,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAA;gBACvD,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAA;YACpD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE;IAC9B,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAA,GAAG;QAClB,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;YAC9B,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,oBAAoB,CAAC,CAAA;YACnD,IAAM,EAAE,GAAG;gBACT,GAAG,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAA;gBACtD,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAA;YACnD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"cypressCommands.js","sourceRoot":"","sources":["../src/cypressCommands.ts"],"names":[],"mappings":";AAAA,kJAAkJ;;AA0BlJ;;;;;;;GAOG;AAEH,IAAI,SAAS,GAAG,KAAK,CAAA;AAErB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE;IAC/B,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAA,GAAG;QAClB,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;YAC9B,IAAM,EAAE,GAAG;gBACT,GAAG,CAAC,mBAAmB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;gBAC5C,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;YACzC,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,iBAAiB,CAAC,CAAA;YAChD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAClB,YAAY;AACZ,mGAAmG;AACnG,UAAC,EAAwD;QAAxD,qBAAsD,EAAE,KAAA,EAAtD,8BAA6B,EAA7B,sBAAsB,mBAAG,IAAI,KAAA;IAC9B,IAAI,CAAC,sBAAsB,IAAI,SAAS,EAAE;QACxC,OAAM;KACP;IAED,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAA,GAAG;QAClB,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;YAC9B,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,yBAAyB,EAAE;gBACvD,MAAM,EAAE,EAAE,oBAAoB,EAAE,sBAAsB,EAAE;aACzD,CAAC,CAAA;YACF,IAAM,EAAE,GAAG;gBACT,GAAG,CAAC,mBAAmB,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;gBAC3D,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;YACxD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CACF,CAAA;AAED,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE;IAC/B,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAA,GAAG;QAClB,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;YAC9B,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAA;YACpD,IAAM,EAAE,GAAG;gBACT,SAAS,GAAG,KAAK,CAAA;gBACjB,GAAG,CAAC,mBAAmB,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAA;gBACvD,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAA;YACpD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE;IAC9B,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAA,GAAG;QAClB,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;YAC9B,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,oBAAoB,CAAC,CAAA;YACnD,IAAM,EAAE,GAAG;gBACT,SAAS,GAAG,IAAI,CAAA;gBAChB,GAAG,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAA;gBACtD,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAA;YACnD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /*! Copyright Deque 2021-2022 All Rights Reserved */
2
2
  export { puppeteerConfig, PuppeteerController } from './puppeteer';
3
- export { wdioConfig, wdioTestRunner, WdioController } from './wdio';
3
+ export { wdioConfig, wdioTestRunner, WdioController, wrapWdio } from './wdio';
4
4
  export { webdriverConfig, WebdriverController } from './webdriver';
5
5
  export { playwrightConfig, PlaywrightController } from './playwright';
6
- export { cypressConfig } from './cypress';
6
+ export { cypressConfig, wrapCy } from './cypress';
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /*! Copyright Deque 2021-2022 All Rights Reserved */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.cypressConfig = exports.PlaywrightController = exports.playwrightConfig = exports.WebdriverController = exports.webdriverConfig = exports.WdioController = exports.wdioTestRunner = exports.wdioConfig = exports.PuppeteerController = exports.puppeteerConfig = void 0;
4
+ exports.wrapCy = exports.cypressConfig = exports.PlaywrightController = exports.playwrightConfig = exports.WebdriverController = exports.webdriverConfig = exports.wrapWdio = exports.WdioController = exports.wdioTestRunner = exports.wdioConfig = exports.PuppeteerController = exports.puppeteerConfig = void 0;
5
5
  var puppeteer_1 = require("./puppeteer");
6
6
  Object.defineProperty(exports, "puppeteerConfig", { enumerable: true, get: function () { return puppeteer_1.puppeteerConfig; } });
7
7
  Object.defineProperty(exports, "PuppeteerController", { enumerable: true, get: function () { return puppeteer_1.PuppeteerController; } });
@@ -9,6 +9,7 @@ var wdio_1 = require("./wdio");
9
9
  Object.defineProperty(exports, "wdioConfig", { enumerable: true, get: function () { return wdio_1.wdioConfig; } });
10
10
  Object.defineProperty(exports, "wdioTestRunner", { enumerable: true, get: function () { return wdio_1.wdioTestRunner; } });
11
11
  Object.defineProperty(exports, "WdioController", { enumerable: true, get: function () { return wdio_1.WdioController; } });
12
+ Object.defineProperty(exports, "wrapWdio", { enumerable: true, get: function () { return wdio_1.wrapWdio; } });
12
13
  var webdriver_1 = require("./webdriver");
13
14
  Object.defineProperty(exports, "webdriverConfig", { enumerable: true, get: function () { return webdriver_1.webdriverConfig; } });
14
15
  Object.defineProperty(exports, "WebdriverController", { enumerable: true, get: function () { return webdriver_1.WebdriverController; } });
@@ -17,4 +18,5 @@ Object.defineProperty(exports, "playwrightConfig", { enumerable: true, get: func
17
18
  Object.defineProperty(exports, "PlaywrightController", { enumerable: true, get: function () { return playwright_1.PlaywrightController; } });
18
19
  var cypress_1 = require("./cypress");
19
20
  Object.defineProperty(exports, "cypressConfig", { enumerable: true, get: function () { return cypress_1.cypressConfig; } });
21
+ Object.defineProperty(exports, "wrapCy", { enumerable: true, get: function () { return cypress_1.wrapCy; } });
20
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,yCAAkE;AAAzD,4GAAA,eAAe,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AAC7C,+BAAmE;AAA1D,kGAAA,UAAU,OAAA;AAAE,sGAAA,cAAc,OAAA;AAAE,sGAAA,cAAc,OAAA;AACnD,yCAAkE;AAAzD,4GAAA,eAAe,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AAC7C,2CAAqE;AAA5D,8GAAA,gBAAgB,OAAA;AAAE,kHAAA,oBAAoB,OAAA;AAC/C,qCAAyC;AAAhC,wGAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,yCAAkE;AAAzD,4GAAA,eAAe,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AAC7C,+BAA6E;AAApE,kGAAA,UAAU,OAAA;AAAE,sGAAA,cAAc,OAAA;AAAE,sGAAA,cAAc,OAAA;AAAE,gGAAA,QAAQ,OAAA;AAC7D,yCAAkE;AAAzD,4GAAA,eAAe,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AAC7C,2CAAqE;AAA5D,8GAAA,gBAAgB,OAAA;AAAE,kHAAA,oBAAoB,OAAA;AAC/C,qCAAiD;AAAxC,wGAAA,aAAa,OAAA;AAAE,iGAAA,MAAM,OAAA"}
@@ -10,5 +10,5 @@ export declare function playwrightConfig(opts: Configuration & LaunchOptions): L
10
10
  export declare class PlaywrightController extends Controller {
11
11
  private driver;
12
12
  constructor(driver: Page);
13
- protected executeScript(fn: string | (() => Promise<void>)): Promise<void>;
13
+ protected executeScript(fn: string | (() => Promise<void>), ...args: unknown[]): Promise<void>;
14
14
  }
@@ -103,10 +103,14 @@ var PlaywrightController = /** @class */ (function (_super) {
103
103
  return _this;
104
104
  }
105
105
  PlaywrightController.prototype.executeScript = function (fn) {
106
+ var args = [];
107
+ for (var _i = 1; _i < arguments.length; _i++) {
108
+ args[_i - 1] = arguments[_i];
109
+ }
106
110
  return __awaiter(this, void 0, void 0, function () {
107
111
  return __generator(this, function (_a) {
108
112
  switch (_a.label) {
109
- case 0: return [4 /*yield*/, this.driver.evaluate(fn)];
113
+ case 0: return [4 /*yield*/, this.driver.evaluate(fn, args)];
110
114
  case 1:
111
115
  _a.sent();
112
116
  return [2 /*return*/];
@@ -1 +1 @@
1
- {"version":3,"file":"playwright.js","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+BAKe;AACf,4DAAqC;AAErC;;;;GAIG;AAEH,SAAgB,gBAAgB,CAC9B,IAAmC;IAE3B,IAAA,GAAG,GAAgB,IAAI,IAApB,EAAK,MAAM,UAAK,IAAI,EAAzB,OAAkB,CAAF,CAAS;IACzB,IAAA,KAAc,MAAM,KAAX,EAAT,IAAI,mBAAG,EAAE,KAAA,CAAW;IAC1B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,MAAM,IAAI,gCAAyB,EAAE,CAAA;KACtC;IAED,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAa,CAAC,CAAA;IAEjC,6BACK,MAAM,KACT,QAAQ,EAAE,KAAK,EACf,IAAI,MAAA,IACL;AACH,CAAC;AAlBD,4CAkBC;AAED;IAA0C,wCAAU;IAGlD,8BAAY,MAAY;QAAxB,YACE,iBAAO,SAER;QADC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAA;;IACtB,CAAC;IAEe,4CAAa,GAA7B,UACE,EAAkC;;;;4BAElC,qBAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAA;;wBAA9B,SAA8B,CAAA;;;;;KAC/B;IACH,2BAAC;AAAD,CAAC,AAbD,CAA0C,oBAAU,GAanD;AAbY,oDAAoB"}
1
+ {"version":3,"file":"playwright.js","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+BAKe;AACf,4DAAqC;AAErC;;;;GAIG;AAEH,SAAgB,gBAAgB,CAC9B,IAAmC;IAE3B,IAAA,GAAG,GAAgB,IAAI,IAApB,EAAK,MAAM,UAAK,IAAI,EAAzB,OAAkB,CAAF,CAAS;IACzB,IAAA,KAAc,MAAM,KAAX,EAAT,IAAI,mBAAG,EAAE,KAAA,CAAW;IAC1B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,MAAM,IAAI,gCAAyB,EAAE,CAAA;KACtC;IAED,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAa,CAAC,CAAA;IAEjC,6BACK,MAAM,KACT,QAAQ,EAAE,KAAK,EACf,IAAI,MAAA,IACL;AACH,CAAC;AAlBD,4CAkBC;AAED;IAA0C,wCAAU;IAGlD,8BAAY,MAAY;QAAxB,YACE,iBAAO,SAER;QADC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAA;;IACtB,CAAC;IAEe,4CAAa,GAA7B,UACE,EAAkC;QAClC,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,6BAAkB;;;;;4BAElB,qBAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAA;;wBAApC,SAAoC,CAAA;;;;;KACrC;IACH,2BAAC;AAAD,CAAC,AAdD,CAA0C,oBAAU,GAcnD;AAdY,oDAAoB"}
@@ -11,6 +11,6 @@ export declare function puppeteerConfig(opts: Configuration & Options): Options;
11
11
  export declare class PuppeteerController extends Controller {
12
12
  private driver;
13
13
  constructor(driver: Page);
14
- protected executeScript(fn: string | (() => Promise<void>)): Promise<void>;
14
+ protected executeScript(fn: string | (() => Promise<void>), ...args: unknown[]): Promise<void>;
15
15
  }
16
16
  export {};
package/dist/puppeteer.js CHANGED
@@ -72,6 +72,15 @@ var __rest = (this && this.__rest) || function (s, e) {
72
72
  }
73
73
  return t;
74
74
  };
75
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
76
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
77
+ if (ar || !(i in from)) {
78
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
79
+ ar[i] = from[i];
80
+ }
81
+ }
82
+ return to.concat(ar || Array.prototype.slice.call(from));
83
+ };
75
84
  var __importDefault = (this && this.__importDefault) || function (mod) {
76
85
  return (mod && mod.__esModule) ? mod : { "default": mod };
77
86
  };
@@ -103,12 +112,17 @@ var PuppeteerController = /** @class */ (function (_super) {
103
112
  return _this;
104
113
  }
105
114
  PuppeteerController.prototype.executeScript = function (fn) {
115
+ var args = [];
116
+ for (var _i = 1; _i < arguments.length; _i++) {
117
+ args[_i - 1] = arguments[_i];
118
+ }
106
119
  return __awaiter(this, void 0, void 0, function () {
107
- return __generator(this, function (_a) {
108
- switch (_a.label) {
109
- case 0: return [4 /*yield*/, this.driver.evaluate(fn)];
120
+ var _a;
121
+ return __generator(this, function (_b) {
122
+ switch (_b.label) {
123
+ case 0: return [4 /*yield*/, (_a = this.driver).evaluate.apply(_a, __spreadArray([fn], args, false))];
110
124
  case 1:
111
- _a.sent();
125
+ _b.sent();
112
126
  return [2 /*return*/];
113
127
  }
114
128
  });
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,+BAKe;AACf,4DAAqC;AAMrC;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,IAA6B;IACnD,IAAA,GAAG,GAAgB,IAAI,IAApB,EAAK,MAAM,UAAK,IAAI,EAAzB,OAAkB,CAAF,CAAS;IACzB,IAAA,KAAc,MAAM,KAAX,EAAT,IAAI,mBAAG,EAAE,KAAA,CAAW;IAC1B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,MAAM,IAAI,gCAAyB,EAAE,CAAA;KACtC;IAED,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAa,CAAC,CAAA;IAEjC,6BACK,MAAM,KACT,QAAQ,EAAE,KAAK,EACf,IAAI,MAAA,IACL;AACH,CAAC;AAhBD,0CAgBC;AAED;IAAyC,uCAAU;IAGjD,6BAAY,MAAY;QAAxB,YACE,iBAAO,SAER;QADC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAA;;IACtB,CAAC;IAEe,2CAAa,GAA7B,UACE,EAAkC;;;;4BAElC,qBAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAA;;wBAA9B,SAA8B,CAAA;;;;;KAC/B;IACH,0BAAC;AAAD,CAAC,AAbD,CAAyC,oBAAU,GAalD;AAbY,kDAAmB"}
1
+ {"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,+BAKe;AACf,4DAAqC;AAMrC;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,IAA6B;IACnD,IAAA,GAAG,GAAgB,IAAI,IAApB,EAAK,MAAM,UAAK,IAAI,EAAzB,OAAkB,CAAF,CAAS;IACzB,IAAA,KAAc,MAAM,KAAX,EAAT,IAAI,mBAAG,EAAE,KAAA,CAAW;IAC1B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,MAAM,IAAI,gCAAyB,EAAE,CAAA;KACtC;IAED,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAa,CAAC,CAAA;IAEjC,6BACK,MAAM,KACT,QAAQ,EAAE,KAAK,EACf,IAAI,MAAA,IACL;AACH,CAAC;AAhBD,0CAgBC;AAED;IAAyC,uCAAU;IAGjD,6BAAY,MAAY;QAAxB,YACE,iBAAO,SAER;QADC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAA;;IACtB,CAAC;IAEe,2CAAa,GAA7B,UACE,EAAkC;QAClC,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,6BAAkB;;;;;;4BAElB,qBAAM,CAAA,KAAA,IAAI,CAAC,MAAM,CAAA,CAAC,QAAQ,0BAAC,EAAE,GAAK,IAAI,WAAC;;wBAAvC,SAAuC,CAAA;;;;;KACxC;IACH,0BAAC;AAAD,CAAC,AAdD,CAAyC,oBAAU,GAclD;AAdY,kDAAmB"}
@@ -4,9 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var sync_request_1 = __importDefault(require("sync-request"));
7
+ var assert_1 = __importDefault(require("assert"));
7
8
  /** Validate the given `apiKey`. This method is blocking and should not be called unnecessarily. */
8
9
  var validateApiKey = function (_a) {
9
10
  var apiKey = _a.apiKey, serverURL = _a.serverURL;
11
+ (0, assert_1.default)(apiKey, 'API key is required');
10
12
  var url = new URL("/api/api-keys/".concat(apiKey, "/validate/axe-devtools-watcher"), serverURL);
11
13
  var res = (0, sync_request_1.default)('GET', url.toString(), {
12
14
  maxRedirects: 2,
@@ -1 +1 @@
1
- {"version":3,"file":"validateApiKey.js","sourceRoot":"","sources":["../src/validateApiKey.ts"],"names":[],"mappings":";;;;;AAAA,8DAAkC;AAOlC,mGAAmG;AACnG,IAAM,cAAc,GAAG,UAAC,EAA6B;QAA3B,MAAM,YAAA,EAAE,SAAS,eAAA;IACzC,IAAM,GAAG,GAAG,IAAI,GAAG,CACjB,wBAAiB,MAAM,mCAAgC,EACvD,SAAS,CACV,CAAA;IACD,IAAM,GAAG,GAAG,IAAA,sBAAO,EAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE;QACzC,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,IAAI;QACrB,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,GAAG;KAChB,CAAC,CAAA;IACF,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5C,IAAI,IAAI,CAAC,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KAC5B;AACH,CAAC,CAAA;AAED,kBAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"validateApiKey.js","sourceRoot":"","sources":["../src/validateApiKey.ts"],"names":[],"mappings":";;;;;AAAA,8DAAkC;AAClC,kDAA2B;AAO3B,mGAAmG;AACnG,IAAM,cAAc,GAAG,UAAC,EAA6B;QAA3B,MAAM,YAAA,EAAE,SAAS,eAAA;IACzC,IAAA,gBAAM,EAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IACrC,IAAM,GAAG,GAAG,IAAI,GAAG,CACjB,wBAAiB,MAAM,mCAAgC,EACvD,SAAS,CACV,CAAA;IACD,IAAM,GAAG,GAAG,IAAA,sBAAO,EAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE;QACzC,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,IAAI;QACrB,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,GAAG;KAChB,CAAC,CAAA;IACF,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5C,IAAI,IAAI,CAAC,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KAC5B;AACH,CAAC,CAAA;AAED,kBAAe,cAAc,CAAA"}
package/dist/wdio.d.ts CHANGED
@@ -1,9 +1,8 @@
1
1
  import type { Options } from '@wdio/types';
2
+ import { Browser, BrowserCommandsType, ElementCommandsType } from 'webdriverio';
2
3
  import { Configuration } from './util';
3
4
  import Controller from './Controller';
4
- interface Browser {
5
- executeAsyncScript(script: string, args: object[]): void;
6
- }
5
+ declare type WdioBrowser = Browser<'async'> | Browser<'sync'>;
7
6
  interface WdioArg extends Configuration {
8
7
  options?: Options.WebDriver;
9
8
  }
@@ -16,7 +15,13 @@ export declare function wdioConfig(arg: WdioArg): Options.WebDriver;
16
15
  export declare function wdioTestRunner(axe: Configuration['axe'], config: Options.Testrunner): Options.Testrunner;
17
16
  export declare class WdioController extends Controller {
18
17
  private driver;
19
- constructor(driver: Browser);
20
- protected executeScript(fn: string | (() => Promise<void>)): Promise<void>;
18
+ constructor(driver: WdioBrowser);
19
+ protected executeScript(fn: string | (() => Promise<void>), ...args: unknown[]): Promise<void>;
21
20
  }
21
+ /** Webdriver `browser` methods. */
22
+ export declare const WRAPPED_BROWSER_METHODS: ReadonlyArray<keyof BrowserCommandsType>;
23
+ /** Wrapped `element` methods. */
24
+ export declare const WRAPPED_ELEMENT_METHODS: ReadonlyArray<keyof ElementCommandsType>;
25
+ /** Wrap the given WDIO `browser` object, ensuring axe-core analysis is run after each command. */
26
+ export declare const wrapWdio: (browser: WdioBrowser, controller: WdioController) => WdioBrowser;
22
27
  export {};
package/dist/wdio.js CHANGED
@@ -65,7 +65,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
65
65
  return (mod && mod.__esModule) ? mod : { "default": mod };
66
66
  };
67
67
  Object.defineProperty(exports, "__esModule", { value: true });
68
- exports.WdioController = exports.wdioTestRunner = exports.wdioConfig = void 0;
68
+ exports.wrapWdio = exports.WRAPPED_ELEMENT_METHODS = exports.WRAPPED_BROWSER_METHODS = exports.WdioController = exports.wdioTestRunner = exports.wdioConfig = void 0;
69
69
  var uuid_1 = require("uuid");
70
70
  var fs_1 = __importDefault(require("fs"));
71
71
  var util_1 = require("./util");
@@ -152,13 +152,17 @@ var WdioController = /** @class */ (function (_super) {
152
152
  return _this;
153
153
  }
154
154
  WdioController.prototype.executeScript = function (fn) {
155
+ var args = [];
156
+ for (var _i = 1; _i < arguments.length; _i++) {
157
+ args[_i - 1] = arguments[_i];
158
+ }
155
159
  return __awaiter(this, void 0, void 0, function () {
156
160
  var script;
157
161
  return __generator(this, function (_a) {
158
162
  switch (_a.label) {
159
163
  case 0:
160
- script = "\n const callback = arguments[arguments.length - 1];\n Promise.resolve()\n .then(".concat(fn, ")\n .then(callback);\n ");
161
- return [4 /*yield*/, this.driver.executeAsyncScript(script, [])];
164
+ script = "\n const callback = arguments[arguments.length - 1];\n Promise.resolve(...arguments)\n .then(".concat(fn, ")\n .then(callback);\n ");
165
+ return [4 /*yield*/, this.driver.executeAsync(script, args)];
162
166
  case 1:
163
167
  _a.sent();
164
168
  return [2 /*return*/];
@@ -169,4 +173,65 @@ var WdioController = /** @class */ (function (_super) {
169
173
  return WdioController;
170
174
  }(Controller_1.default));
171
175
  exports.WdioController = WdioController;
176
+ /** Webdriver `browser` methods. */
177
+ exports.WRAPPED_BROWSER_METHODS = [
178
+ 'reloadSession',
179
+ 'setWindowSize',
180
+ 'switchWindow',
181
+ 'touchAction',
182
+ 'newWindow',
183
+ 'pause',
184
+ 'url',
185
+ 'waitUntil'
186
+ ];
187
+ /** Wrapped `element` methods. */
188
+ exports.WRAPPED_ELEMENT_METHODS = [
189
+ 'addValue',
190
+ 'clearValue',
191
+ 'click',
192
+ 'doubleClick',
193
+ 'dragAndDrop',
194
+ 'moveTo',
195
+ 'scrollIntoView',
196
+ 'setValue',
197
+ 'touchAction',
198
+ 'waitForClickable',
199
+ 'waitForDisplayed',
200
+ 'waitForEnabled',
201
+ 'waitForExist',
202
+ 'waitUntil'
203
+ ];
204
+ /** Wrap the given WDIO `browser` object, ensuring axe-core analysis is run after each command. */
205
+ var wrapWdio = function (browser, controller) {
206
+ var wrapper = function (fn) {
207
+ var args = [];
208
+ for (var _i = 1; _i < arguments.length; _i++) {
209
+ args[_i - 1] = arguments[_i];
210
+ }
211
+ return __awaiter(void 0, void 0, void 0, function () {
212
+ var res;
213
+ return __generator(this, function (_a) {
214
+ switch (_a.label) {
215
+ case 0: return [4 /*yield*/, fn.apply(void 0, args)];
216
+ case 1:
217
+ res = _a.sent();
218
+ return [4 /*yield*/, controller.analyze({ __UserRequestedAnalyze: false })];
219
+ case 2:
220
+ _a.sent();
221
+ return [2 /*return*/, res];
222
+ }
223
+ });
224
+ });
225
+ };
226
+ for (var _i = 0, WRAPPED_BROWSER_METHODS_1 = exports.WRAPPED_BROWSER_METHODS; _i < WRAPPED_BROWSER_METHODS_1.length; _i++) {
227
+ var method = WRAPPED_BROWSER_METHODS_1[_i];
228
+ browser.overwriteCommand(method, wrapper);
229
+ }
230
+ for (var _a = 0, WRAPPED_ELEMENT_METHODS_1 = exports.WRAPPED_ELEMENT_METHODS; _a < WRAPPED_ELEMENT_METHODS_1.length; _a++) {
231
+ var method = WRAPPED_ELEMENT_METHODS_1[_a];
232
+ browser.overwriteCommand(method, wrapper, true);
233
+ }
234
+ return browser;
235
+ };
236
+ exports.wrapWdio = wrapWdio;
172
237
  //# sourceMappingURL=wdio.js.map
package/dist/wdio.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wdio.js","sourceRoot":"","sources":["../src/wdio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wdio.js","sourceRoot":"","sources":["../src/wdio.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,6 @@ export declare function webdriverConfig(arg: WebDriverArgs): Options;
14
14
  export declare class WebdriverController extends Controller {
15
15
  private driver;
16
16
  constructor(driver: WebDriver);
17
- protected executeScript(fn: string | (() => Promise<void>)): Promise<void>;
17
+ protected executeScript(fn: string | (() => Promise<void>), ...args: unknown[]): Promise<void>;
18
18
  }
19
19
  export {};
package/dist/webdriver.js CHANGED
@@ -50,6 +50,15 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
50
50
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
51
  }
52
52
  };
53
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
54
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
55
+ if (ar || !(i in from)) {
56
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
57
+ ar[i] = from[i];
58
+ }
59
+ }
60
+ return to.concat(ar || Array.prototype.slice.call(from));
61
+ };
53
62
  var __importDefault = (this && this.__importDefault) || function (mod) {
54
63
  return (mod && mod.__esModule) ? mod : { "default": mod };
55
64
  };
@@ -87,15 +96,20 @@ var WebdriverController = /** @class */ (function (_super) {
87
96
  return _this;
88
97
  }
89
98
  WebdriverController.prototype.executeScript = function (fn) {
99
+ var args = [];
100
+ for (var _i = 1; _i < arguments.length; _i++) {
101
+ args[_i - 1] = arguments[_i];
102
+ }
90
103
  return __awaiter(this, void 0, void 0, function () {
91
104
  var script;
92
- return __generator(this, function (_a) {
93
- switch (_a.label) {
105
+ var _a;
106
+ return __generator(this, function (_b) {
107
+ switch (_b.label) {
94
108
  case 0:
95
- script = "\n const callback = arguments[arguments.length - 1];\n Promise.resolve()\n .then(".concat(fn, ")\n .then(callback);\n ");
96
- return [4 /*yield*/, this.driver.executeAsyncScript(script)];
109
+ script = "\n const callback = arguments[arguments.length - 1];\n Promise.resolve(...arguments)\n .then(".concat(fn, ")\n .then(callback);\n ");
110
+ return [4 /*yield*/, (_a = this.driver).executeAsyncScript.apply(_a, __spreadArray([script], args, false))];
97
111
  case 1:
98
- _a.sent();
112
+ _b.sent();
99
113
  return [2 /*return*/];
100
114
  }
101
115
  });
@@ -1 +1 @@
1
- {"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../src/webdriver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+BAKe;AACf,4DAAqC;AAMrC;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,GAAkB;;IAChD,gHAAgH;IAChH,8DAA8D;IAC9D,IAAM,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAE3C,IAAA,GAAG,GAAc,GAAG,IAAjB,EAAE,OAAO,GAAK,GAAG,QAAR,CAAQ;IAC5B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,IAAM,IAAI,GAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;IAC9D,IAAI,CAAC,YAAY,OAAjB,IAAI,EAAiB,oBAAa,EAAC;IAEnC,wEAAwE;IACxE,8DAA8D;IAC9D,IAAI,MAAA,MAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,QAAQ,0CAAE,IAAI,0CAAE,QAAQ,CAAC,UAAU,CAAC,EAAE;QACvD,MAAM,IAAI,gCAAyB,EAAE,CAAA;KACtC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAlBD,0CAkBC;AAED;IAAyC,uCAAU;IAGjD,6BAAY,MAAiB;QAA7B,YACE,iBAAO,SAER;QADC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAA;;IACtB,CAAC;IAEe,2CAAa,GAA7B,UACE,EAAkC;;;;;;wBAE5B,MAAM,GAAG,4GAGH,EAAE,sCAEb,CAAA;wBACD,qBAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAA;;wBAA5C,SAA4C,CAAA;;;;;KAC7C;IACH,0BAAC;AAAD,CAAC,AAnBD,CAAyC,oBAAU,GAmBlD;AAnBY,kDAAmB"}
1
+ {"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../src/webdriver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+BAKe;AACf,4DAAqC;AAMrC;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,GAAkB;;IAChD,gHAAgH;IAChH,8DAA8D;IAC9D,IAAM,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAE3C,IAAA,GAAG,GAAc,GAAG,IAAjB,EAAE,OAAO,GAAK,GAAG,QAAR,CAAQ;IAC5B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,IAAM,IAAI,GAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;IAC9D,IAAI,CAAC,YAAY,OAAjB,IAAI,EAAiB,oBAAa,EAAC;IAEnC,wEAAwE;IACxE,8DAA8D;IAC9D,IAAI,MAAA,MAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,QAAQ,0CAAE,IAAI,0CAAE,QAAQ,CAAC,UAAU,CAAC,EAAE;QACvD,MAAM,IAAI,gCAAyB,EAAE,CAAA;KACtC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAlBD,0CAkBC;AAED;IAAyC,uCAAU;IAGjD,6BAAY,MAAiB;QAA7B,YACE,iBAAO,SAER;QADC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAA;;IACtB,CAAC;IAEe,2CAAa,GAA7B,UACE,EAAkC;QAClC,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,6BAAkB;;;;;;;;wBAEZ,MAAM,GAAG,wHAGH,EAAE,sCAEb,CAAA;wBACD,qBAAM,CAAA,KAAA,IAAI,CAAC,MAAM,CAAA,CAAC,kBAAkB,0BAAC,MAAM,GAAK,IAAI,WAAC;;wBAArD,SAAqD,CAAA;;;;;KACtD;IACH,0BAAC;AAAD,CAAC,AApBD,CAAyC,oBAAU,GAoBlD;AApBY,kDAAmB"}