@wdio/browserstack-service 7.32.4 → 7.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/build/accessibility-handler.d.ts +39 -0
  2. package/build/accessibility-handler.d.ts.map +1 -0
  3. package/build/accessibility-handler.js +258 -0
  4. package/build/constants.d.ts +3 -0
  5. package/build/constants.d.ts.map +1 -1
  6. package/build/constants.js +6 -2
  7. package/build/cucumber-types.d.ts +17 -0
  8. package/build/cucumber-types.d.ts.map +1 -1
  9. package/build/index.d.ts +5 -0
  10. package/build/index.d.ts.map +1 -1
  11. package/build/index.js +5 -1
  12. package/build/insights-handler.d.ts +19 -3
  13. package/build/insights-handler.d.ts.map +1 -1
  14. package/build/insights-handler.js +274 -17
  15. package/build/launcher.d.ts +4 -0
  16. package/build/launcher.d.ts.map +1 -1
  17. package/build/launcher.js +152 -0
  18. package/build/log4jsAppender.d.ts +2 -0
  19. package/build/log4jsAppender.d.ts.map +1 -0
  20. package/build/log4jsAppender.js +26 -0
  21. package/build/logPatcher.d.ts +13 -0
  22. package/build/logPatcher.d.ts.map +1 -0
  23. package/build/logPatcher.js +43 -0
  24. package/build/logReportingAPI.d.ts +12 -0
  25. package/build/logReportingAPI.d.ts.map +1 -0
  26. package/build/logReportingAPI.js +61 -0
  27. package/build/reporter.d.ts +6 -1
  28. package/build/reporter.d.ts.map +1 -1
  29. package/build/reporter.js +42 -1
  30. package/build/scripts/test-event-scripts.d.ts +10 -0
  31. package/build/scripts/test-event-scripts.d.ts.map +1 -0
  32. package/build/scripts/test-event-scripts.js +73 -0
  33. package/build/service.d.ts +5 -3
  34. package/build/service.d.ts.map +1 -1
  35. package/build/service.js +24 -4
  36. package/build/types.d.ts +34 -1
  37. package/build/types.d.ts.map +1 -1
  38. package/build/util.d.ts +32 -0
  39. package/build/util.d.ts.map +1 -1
  40. package/build/util.js +313 -2
  41. package/package.json +6 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log4jsAppender.d.ts","sourceRoot":"","sources":["../src/log4jsAppender.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,SAAS,WAAY,GAAG,WAAW,GAAG,KAAG,QAMrD,CAAA"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.configure = void 0;
7
+ const logReportingAPI_js_1 = __importDefault(require("./logReportingAPI.js"));
8
+ const BSTestOpsLogger = new logReportingAPI_js_1.default({});
9
+ //Disabling eslint here as there params can be used later
10
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
+ function BSTestOpsLog4JSAppender(layout, timezoneOffset) {
12
+ return (loggingEvent) => {
13
+ BSTestOpsLogger.log({
14
+ level: loggingEvent.level ? loggingEvent.level.levelStr : null,
15
+ message: loggingEvent.data ? loggingEvent.data.join(' ') : null
16
+ });
17
+ };
18
+ }
19
+ const configure = (config, layouts) => {
20
+ let layout = layouts.colouredLayout;
21
+ if (config.layout) {
22
+ layout = layouts.layout(config.layout.type, config.layout);
23
+ }
24
+ return BSTestOpsLog4JSAppender(layout, config.timezoneOffset);
25
+ };
26
+ exports.configure = configure;
@@ -0,0 +1,13 @@
1
+ import Transport from 'winston-transport';
2
+ declare class logPatcher extends Transport {
3
+ constructor(opts: any);
4
+ logToTestOps: (level?: string, message?: string[]) => void;
5
+ trace: (...message: any) => void;
6
+ debug: (...message: any) => void;
7
+ info: (...message: any) => void;
8
+ warn: (...message: any) => void;
9
+ error: (...message: any) => void;
10
+ log: (...message: any) => void;
11
+ }
12
+ export default logPatcher;
13
+ //# sourceMappingURL=logPatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logPatcher.d.ts","sourceRoot":"","sources":["../src/logPatcher.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAA;AAMzC,cAAM,UAAW,SAAQ,SAAS;gBAClB,IAAI,EAAE,GAAG;IAIrB,YAAY,+CAQX;IAGD,KAAK,eAAgB,GAAG,UAEvB;IAED,KAAK,eAAgB,GAAG,UAEvB;IAED,IAAI,eAAgB,GAAG,UAEtB;IAED,IAAI,eAAgB,GAAG,UAEtB;IAED,KAAK,eAAgB,GAAG,UAEvB;IAED,GAAG,eAAgB,GAAG,UAErB;CACJ;AACD,eAAe,UAAU,CAAA"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const winston_transport_1 = __importDefault(require("winston-transport"));
7
+ const LOG_LEVELS = {
8
+ INFO: 'INFO', ERROR: 'ERROR', DEBUG: 'DEBUG', TRACE: 'TRACE', WARN: 'WARN',
9
+ };
10
+ class logPatcher extends winston_transport_1.default {
11
+ constructor(opts) {
12
+ super(opts);
13
+ this.logToTestOps = (level = LOG_LEVELS.INFO, message = ['']) => {
14
+ process.emit(`bs:addLog:${process.pid}`, {
15
+ timestamp: new Date().toISOString(),
16
+ level: level.toUpperCase(),
17
+ message: `"${message.join(', ')}"`,
18
+ kind: 'TEST_LOG',
19
+ http_response: {}
20
+ });
21
+ };
22
+ /* Patching this would show user an extended trace on their cli */
23
+ this.trace = (...message) => {
24
+ this.logToTestOps(LOG_LEVELS.TRACE, message);
25
+ };
26
+ this.debug = (...message) => {
27
+ this.logToTestOps(LOG_LEVELS.DEBUG, message);
28
+ };
29
+ this.info = (...message) => {
30
+ this.logToTestOps(LOG_LEVELS.INFO, message);
31
+ };
32
+ this.warn = (...message) => {
33
+ this.logToTestOps(LOG_LEVELS.WARN, message);
34
+ };
35
+ this.error = (...message) => {
36
+ this.logToTestOps(LOG_LEVELS.ERROR, message);
37
+ };
38
+ this.log = (...message) => {
39
+ this.logToTestOps(LOG_LEVELS.INFO, message);
40
+ };
41
+ }
42
+ }
43
+ exports.default = logPatcher;
@@ -0,0 +1,12 @@
1
+ import Transport = require('winston-transport');
2
+ declare class logReportingAPI extends Transport {
3
+ log(info: any, callback?: undefined | Function): void;
4
+ logToTestOps: (level?: string, message?: string, consoleLog?: boolean) => void;
5
+ trace: (message: any) => void;
6
+ debug: (message: any) => void;
7
+ info: (message: any) => void;
8
+ warn: (message: any) => void;
9
+ error: (message: any) => void;
10
+ }
11
+ export default logReportingAPI;
12
+ //# sourceMappingURL=logReportingAPI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logReportingAPI.d.ts","sourceRoot":"","sources":["../src/logReportingAPI.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,GAAG,QAAQ,mBAAmB,CAAC,CAAC;AAWhD,cAAM,eAAgB,SAAQ,SAAS;IACnC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,GAAE,SAAS,GAAC,QAAoB;IAkBvD,YAAY,mEAWX;IAGD,KAAK,YAAa,GAAG,UAEpB;IAED,KAAK,YAAa,GAAG,UAEpB;IAED,IAAI,YAAa,GAAG,UAEnB;IAED,IAAI,YAAa,GAAG,UAEnB;IAED,KAAK,YAAa,GAAG,UAEpB;CACJ;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Transport = require("winston-transport");
4
+ const constants_js_1 = require("./constants.js");
5
+ const LOG_LEVELS = {
6
+ INFO: 'INFO',
7
+ ERROR: 'ERROR',
8
+ DEBUG: 'DEBUG',
9
+ TRACE: 'TRACE',
10
+ WARN: 'WARN',
11
+ };
12
+ class logReportingAPI extends Transport {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.logToTestOps = (level = LOG_LEVELS.INFO, message = '', consoleLog = true) => {
16
+ if (consoleLog) {
17
+ constants_js_1.consoleHolder[level.toLowerCase()](message);
18
+ }
19
+ process.emit(`bs:addLog:${process.pid}`, {
20
+ timestamp: new Date().toISOString(),
21
+ level: level.toUpperCase(),
22
+ message: message,
23
+ kind: 'TEST_LOG',
24
+ http_response: {}
25
+ });
26
+ };
27
+ /* Patching this would show user an extended trace on their cli */
28
+ this.trace = (message) => {
29
+ this.logToTestOps(LOG_LEVELS.TRACE, message);
30
+ };
31
+ this.debug = (message) => {
32
+ this.logToTestOps(LOG_LEVELS.DEBUG, message);
33
+ };
34
+ this.info = (message) => {
35
+ this.logToTestOps(LOG_LEVELS.INFO, message);
36
+ };
37
+ this.warn = (message) => {
38
+ this.logToTestOps(LOG_LEVELS.WARN, message);
39
+ };
40
+ this.error = (message) => {
41
+ this.logToTestOps(LOG_LEVELS.ERROR, message);
42
+ };
43
+ }
44
+ log(info, callback = undefined) {
45
+ setImmediate(() => {
46
+ this.emit('logged', info);
47
+ });
48
+ if (typeof (info) === 'object') {
49
+ /* From log appender */
50
+ this.logToTestOps(info.level || LOG_LEVELS.INFO, info.message, false);
51
+ }
52
+ else {
53
+ /* From default console */
54
+ this.logToTestOps(LOG_LEVELS.INFO, info);
55
+ }
56
+ if (callback && typeof callback === 'function') {
57
+ callback();
58
+ }
59
+ }
60
+ }
61
+ exports.default = logReportingAPI;
@@ -1,5 +1,5 @@
1
1
  import WDIOReporter, { SuiteStats, TestStats, RunnerStats, HookStats } from '@wdio/reporter';
2
- import { TestMeta } from './types';
2
+ import type { CurrentRunInfo, StdLog, TestMeta } from './types';
3
3
  declare class _TestReporter extends WDIOReporter {
4
4
  private _capabilities;
5
5
  private _config?;
@@ -11,7 +11,12 @@ declare class _TestReporter extends WDIOReporter {
11
11
  private static _tests;
12
12
  private _gitConfigPath?;
13
13
  private _gitConfigured;
14
+ private _currentHook;
15
+ private _currentTest;
14
16
  onRunnerStart(runnerStats: RunnerStats): Promise<void>;
17
+ registerListeners(): void;
18
+ appendTestItemLog(stdLog: StdLog): Promise<void>;
19
+ setCurrentHook(hookDetails: CurrentRunInfo): void;
15
20
  configureGit(): Promise<void>;
16
21
  static getTests(): Record<string, TestMeta>;
17
22
  onSuiteStart(suiteStats: SuiteStats): void;
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"AAEA,OAAO,YAAY,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAO5F,OAAO,EAAgC,QAAQ,EAAc,MAAM,SAAS,CAAA;AAa5E,cAAM,aAAc,SAAQ,YAAY;IACpC,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,OAAO,CAAC,CAAyC;IACzD,OAAO,CAAC,cAAc,CAAO;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,oBAAoB,CAAoC;IAChE,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,MAAM,CAAC,MAAM,CAA+B;IACpD,OAAO,CAAC,cAAc,CAAC,CAAQ;IAC/B,OAAO,CAAC,cAAc,CAAiB;IAEjC,aAAa,CAAE,WAAW,EAAE,WAAW;IAQvC,YAAY;IAWlB,MAAM,CAAC,QAAQ;IAIf,YAAY,CAAE,UAAU,EAAE,UAAU;IAoBpC,UAAU;IAIV,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAe1C,SAAS,CAAC,SAAS,EAAE,SAAS;IAQ9B,WAAW,CAAC,SAAS,EAAE,SAAS;IAUhC,WAAW,CAAC,SAAS,EAAE,SAAS;IAchC,SAAS,CAAC,SAAS,EAAE,SAAS;IAmBpC,iBAAiB,CAAC,SAAS,EAAE,SAAS;IAIhC,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAC,SAAS,EAAE,SAAS,EAAE,MAAM;IAkFlE,UAAU,CAAE,SAAS,EAAE,SAAS;CAQzC;AAED,QAAA,MAAM,YAAY,EAAE,OAAO,aAAoD,CAAA;AAC/E,KAAK,YAAY,GAAG,aAAa,CAAA;AACjC,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"AAEA,OAAO,YAAY,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAO5F,OAAO,KAAK,EAAsB,cAAc,EAAE,MAAM,EAAY,QAAQ,EAAc,MAAM,SAAS,CAAA;AAczG,cAAM,aAAc,SAAQ,YAAY;IACpC,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,OAAO,CAAC,CAAyC;IACzD,OAAO,CAAC,cAAc,CAAO;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,oBAAoB,CAAoC;IAChE,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,MAAM,CAAC,MAAM,CAA+B;IACpD,OAAO,CAAC,cAAc,CAAC,CAAQ;IAC/B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,YAAY,CAAqB;IAEnC,aAAa,CAAE,WAAW,EAAE,WAAW;IAS7C,iBAAiB;IAQJ,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAc7C,cAAc,CAAC,WAAW,EAAE,cAAc;IAapC,YAAY;IAWlB,MAAM,CAAC,QAAQ;IAIf,YAAY,CAAE,UAAU,EAAE,UAAU;IAoBpC,UAAU;IAIV,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAe1C,SAAS,CAAC,SAAS,EAAE,SAAS;IAQ9B,WAAW,CAAC,SAAS,EAAE,SAAS;IAahC,WAAW,CAAC,SAAS,EAAE,SAAS;IAehC,SAAS,CAAC,SAAS,EAAE,SAAS;IAqBpC,iBAAiB,CAAC,SAAS,EAAE,SAAS;IAIhC,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAC,SAAS,EAAE,SAAS,EAAE,MAAM;IAkFlE,UAAU,CAAE,SAAS,EAAE,SAAS;CAQzC;AAED,QAAA,MAAM,YAAY,EAAE,OAAO,aAAoD,CAAA;AAC/E,KAAK,YAAY,GAAG,aAAa,CAAA;AACjC,eAAe,YAAY,CAAA"}
package/build/reporter.js CHANGED
@@ -19,6 +19,8 @@ class _TestReporter extends reporter_1.default {
19
19
  this._requestQueueHandler = request_handler_1.default.getInstance();
20
20
  this._suites = [];
21
21
  this._gitConfigured = false;
22
+ this._currentHook = {};
23
+ this._currentTest = {};
22
24
  }
23
25
  async onRunnerStart(runnerStats) {
24
26
  this._capabilities = runnerStats.capabilities;
@@ -27,6 +29,41 @@ class _TestReporter extends reporter_1.default {
27
29
  if (typeof this._config.testObservability !== 'undefined')
28
30
  this._observability = this._config.testObservability;
29
31
  await this.configureGit();
32
+ this.registerListeners();
33
+ }
34
+ registerListeners() {
35
+ var _a;
36
+ if (((_a = this._config) === null || _a === void 0 ? void 0 : _a.framework) !== 'jasmine') {
37
+ return;
38
+ }
39
+ process.removeAllListeners(`bs:addLog:${process.pid}`);
40
+ process.on(`bs:addLog:${process.pid}`, this.appendTestItemLog.bind(this));
41
+ }
42
+ async appendTestItemLog(stdLog) {
43
+ if (this._currentHook.uuid && !this._currentHook.finished) {
44
+ stdLog.hook_run_uuid = this._currentHook.uuid;
45
+ }
46
+ else if (this._currentTest.uuid) {
47
+ stdLog.test_run_uuid = this._currentTest.uuid;
48
+ }
49
+ if (stdLog.hook_run_uuid || stdLog.test_run_uuid) {
50
+ await (0, util_1.pushDataToQueue)({
51
+ event_type: 'LogCreated',
52
+ logs: [stdLog]
53
+ });
54
+ }
55
+ }
56
+ setCurrentHook(hookDetails) {
57
+ if (hookDetails.finished) {
58
+ if (this._currentHook.uuid === hookDetails.uuid) {
59
+ this._currentHook.finished = true;
60
+ }
61
+ return;
62
+ }
63
+ this._currentHook = {
64
+ uuid: hookDetails.uuid,
65
+ finished: false
66
+ };
30
67
  }
31
68
  async configureGit() {
32
69
  if (this._gitConfigured) {
@@ -92,8 +129,10 @@ class _TestReporter extends reporter_1.default {
92
129
  return;
93
130
  if (testStats.fullTitle === '<unknown test>')
94
131
  return;
132
+ const uuid = (0, uuid_1.v4)();
133
+ this._currentTest.uuid = uuid;
95
134
  _TestReporter._tests[testStats.fullTitle] = {
96
- uuid: (0, uuid_1.v4)(),
135
+ uuid: uuid,
97
136
  };
98
137
  await this.sendTestRunEvent(testStats, 'TestRunStarted');
99
138
  }
@@ -103,6 +142,7 @@ class _TestReporter extends reporter_1.default {
103
142
  }
104
143
  const identifier = this.getHookIdentifier(hookStats);
105
144
  const hookId = (0, uuid_1.v4)();
145
+ this.setCurrentHook({ uuid: hookId });
106
146
  _TestReporter._tests[identifier] = {
107
147
  uuid: hookId,
108
148
  startedAt: (new Date()).toISOString()
@@ -122,6 +162,7 @@ class _TestReporter extends reporter_1.default {
122
162
  finishedAt: (new Date()).toISOString()
123
163
  };
124
164
  }
165
+ this.setCurrentHook({ uuid: _TestReporter._tests[identifier].uuid, finished: true });
125
166
  if (!hookStats.state && !hookStats.error) {
126
167
  hookStats.state = 'passed';
127
168
  }
@@ -0,0 +1,10 @@
1
+ export declare function testStartEvent(): void;
2
+ export declare function testForceStop(): void;
3
+ export declare function testStop(this: any): void;
4
+ export declare function accessibilityResults(): Promise<Array<{
5
+ [key: string]: any;
6
+ }>>;
7
+ export declare function accessibilityResultsSummary(): Promise<{
8
+ [key: string]: any;
9
+ }>;
10
+ //# sourceMappingURL=test-event-scripts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-event-scripts.d.ts","sourceRoot":"","sources":["../../src/scripts/test-event-scripts.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,SAY7B;AAED,wBAAgB,aAAa,SAG5B;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,QAgBjC;AAED,wBAAgB,oBAAoB,IAAK,OAAO,CAAC,KAAK,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CAAE,CAAC,CAAC,CAc/E;AAED,wBAAgB,2BAA2B,IAAK,OAAO,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CAAE,CAAC,CAc/E"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.accessibilityResultsSummary = exports.accessibilityResults = exports.testStop = exports.testForceStop = exports.testStartEvent = void 0;
4
+ function testStartEvent() {
5
+ const callback = arguments[arguments.length - 1];
6
+ const fn = () => {
7
+ window.addEventListener('A11Y_TAP_STARTED', fn2);
8
+ const e = new CustomEvent('A11Y_FORCE_START');
9
+ window.dispatchEvent(e);
10
+ };
11
+ const fn2 = () => {
12
+ window.removeEventListener('A11Y_TAP_STARTED', fn);
13
+ callback();
14
+ };
15
+ fn();
16
+ }
17
+ exports.testStartEvent = testStartEvent;
18
+ function testForceStop() {
19
+ const e = new CustomEvent('A11Y_FORCE_STOP');
20
+ window.dispatchEvent(e);
21
+ }
22
+ exports.testForceStop = testForceStop;
23
+ function testStop() {
24
+ const callback = arguments[arguments.length - 1];
25
+ this.res = null;
26
+ if (arguments[0].saveResults) {
27
+ window.addEventListener('A11Y_TAP_TRANSPORTER', (event) => {
28
+ window.tapTransporterData = event.detail;
29
+ this.res = window.tapTransporterData;
30
+ callback(this.res);
31
+ });
32
+ }
33
+ const e = new CustomEvent('A11Y_TEST_END', { detail: arguments[0] });
34
+ window.dispatchEvent(e);
35
+ if (arguments[0].saveResults !== true) {
36
+ callback();
37
+ }
38
+ }
39
+ exports.testStop = testStop;
40
+ function accessibilityResults() {
41
+ return new Promise(function (resolve, reject) {
42
+ try {
43
+ const event = new CustomEvent('A11Y_TAP_GET_RESULTS');
44
+ const fn = function (event) {
45
+ window.removeEventListener('A11Y_RESULTS_RESPONSE', fn);
46
+ resolve(event.detail.data);
47
+ };
48
+ window.addEventListener('A11Y_RESULTS_RESPONSE', fn);
49
+ window.dispatchEvent(event);
50
+ }
51
+ catch {
52
+ reject();
53
+ }
54
+ });
55
+ }
56
+ exports.accessibilityResults = accessibilityResults;
57
+ function accessibilityResultsSummary() {
58
+ return new Promise(function (resolve, reject) {
59
+ try {
60
+ const event = new CustomEvent('A11Y_TAP_GET_RESULTS_SUMMARY');
61
+ const fn = function (event) {
62
+ window.removeEventListener('A11Y_RESULTS_SUMMARY_RESPONSE', fn);
63
+ resolve(event.detail.summary);
64
+ };
65
+ window.addEventListener('A11Y_RESULTS_SUMMARY_RESPONSE', fn);
66
+ window.dispatchEvent(event);
67
+ }
68
+ catch {
69
+ reject();
70
+ }
71
+ });
72
+ }
73
+ exports.accessibilityResultsSummary = accessibilityResultsSummary;
@@ -1,7 +1,7 @@
1
1
  import type { Services, Capabilities, Options, Frameworks } from '@wdio/types';
2
2
  import type { Browser, MultiRemoteBrowser } from 'webdriverio';
3
3
  import type { BrowserstackConfig, MultiRemoteAction } from './types';
4
- import type { Pickle, Feature, ITestCaseHookParameter } from './cucumber-types';
4
+ import type { Pickle, Feature, ITestCaseHookParameter, CucumberHook } from './cucumber-types';
5
5
  export default class BrowserstackService implements Services.ServiceInstance {
6
6
  private _caps;
7
7
  private _config;
@@ -17,6 +17,8 @@ export default class BrowserstackService implements Services.ServiceInstance {
17
17
  private _observability;
18
18
  private _currentTest?;
19
19
  private _insightsHandler?;
20
+ private _accessibility;
21
+ private _accessibilityHandler?;
20
22
  constructor(options: BrowserstackConfig & Options.Testrunner, _caps: Capabilities.RemoteCapability, _config: Options.Testrunner);
21
23
  _updateCaps(fn: (caps: Capabilities.Capabilities | Capabilities.DesiredCapabilities) => void): void;
22
24
  beforeSession(config: Omit<Options.Testrunner, 'capabilities'>): void;
@@ -29,8 +31,8 @@ export default class BrowserstackService implements Services.ServiceInstance {
29
31
  * and `suite.fullTitle` is `undefined`, so no alternative to use for the job name.
30
32
  */
31
33
  beforeSuite(suite: Frameworks.Suite): Promise<void>;
32
- beforeHook(test: Frameworks.Test, context: any): Promise<void>;
33
- afterHook(test: Frameworks.Test, context: unknown, result: Frameworks.TestResult): Promise<void>;
34
+ beforeHook(test: Frameworks.Test | CucumberHook, context: any): Promise<void>;
35
+ afterHook(test: Frameworks.Test | CucumberHook, context: unknown, result: Frameworks.TestResult): Promise<void>;
34
36
  beforeTest(test: Frameworks.Test): Promise<void>;
35
37
  afterTest(test: Frameworks.Test, context: never, results: Frameworks.TestResult): Promise<void>;
36
38
  after(result: number): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAmB,MAAM,SAAS,CAAA;AAIrF,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAgB7F,MAAM,CAAC,OAAO,OAAO,mBAAoB,YAAW,QAAQ,CAAC,eAAe;IAkBpE,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IAlBnB,OAAO,CAAC,eAAe,CAAmD;IAC1E,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,iBAAiB,CAAe;IACxC,OAAO,CAAC,gBAAgB,CAA4D;IACpF,OAAO,CAAC,QAAQ,CAAC,CAAgD;IACjE,OAAO,CAAC,WAAW,CAAC,CAAQ;IAC5B,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,cAAc,CAAA;IACtB,OAAO,CAAC,YAAY,CAAC,CAA0C;IAC/D,OAAO,CAAC,gBAAgB,CAAC,CAAiB;IAC1C,OAAO,CAAC,cAAc,CAAA;IACtB,OAAO,CAAC,qBAAqB,CAAC,CAAsB;gBAGhD,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EACxC,KAAK,EAAE,YAAY,CAAC,gBAAgB,EACpC,OAAO,EAAE,OAAO,CAAC,UAAU;IAuBvC,WAAW,CAAE,EAAE,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,YAAY,GAAG,YAAY,CAAC,mBAAmB,KAAK,IAAI;IAU7F,aAAa,CAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC;IAgBzD,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC;IA2D1H;;;;;;OAMG;IACG,WAAW,CAAE,KAAK,EAAE,UAAU,CAAC,KAAK;IAQpC,UAAU,CAAE,IAAI,EAAE,UAAU,CAAC,IAAI,GAAC,YAAY,EAAE,OAAO,EAAE,GAAG;IAK5D,SAAS,CAAE,IAAI,EAAE,UAAU,CAAC,IAAI,GAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU;IAI9F,UAAU,CAAE,IAAI,EAAE,UAAU,CAAC,IAAI;IAoBjC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,UAAU;IAW/E,KAAK,CAAE,MAAM,EAAE,MAAM;IA+B3B;;OAEG;IAEG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAOjD;;;OAGG;IACG,cAAc,CAAE,KAAK,EAAE,sBAAsB;IAQ7C,aAAa,CAAE,KAAK,EAAE,sBAAsB;IAuB5C,UAAU,CAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM;IAKzD,SAAS,CAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,YAAY;IAIzF,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IA+BzD,cAAc,IAAI,OAAO;IAOzB,UAAU,CAAE,WAAW,EAAE,GAAG;IAU5B,kBAAkB,CAAE,MAAM,EAAE,iBAAiB;IAqB7C,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG;IAarC,gBAAgB;YAuBR,eAAe;IA0B7B,OAAO,CAAC,cAAc;YAIR,eAAe;CAqBhC"}
package/build/service.js CHANGED
@@ -11,6 +11,7 @@ const insights_handler_1 = __importDefault(require("./insights-handler"));
11
11
  const util_1 = require("./util");
12
12
  const reporter_1 = __importDefault(require("./reporter"));
13
13
  const performance_tester_1 = __importDefault(require("./performance-tester"));
14
+ const accessibility_handler_1 = __importDefault(require("./accessibility-handler"));
14
15
  const log = (0, logger_1.default)('@wdio/browserstack-service');
15
16
  class BrowserstackService {
16
17
  constructor(options, _caps, _config) {
@@ -26,6 +27,7 @@ class BrowserstackService {
26
27
  // added to maintain backward compatibility with webdriverIO v5
27
28
  this._config || (this._config = this._options);
28
29
  this._observability = this._options.testObservability;
30
+ this._accessibility = this._options.accessibility;
29
31
  if (this._observability) {
30
32
  (_a = this._config.reporters) === null || _a === void 0 ? void 0 : _a.push(reporter_1.default);
31
33
  if (process.env.BROWSERSTACK_O11Y_PERF_MEASUREMENT) {
@@ -70,6 +72,7 @@ class BrowserstackService {
70
72
  this._scenariosThatRan = [];
71
73
  if (this._observability && this._browser) {
72
74
  try {
75
+ (0, util_1.patchConsoleLogs)();
73
76
  this._insightsHandler = new insights_handler_1.default(this._browser, this._browser.capabilities, this._isAppAutomate(), this._browser.sessionId, this._config.framework);
74
77
  await this._insightsHandler.before();
75
78
  /**
@@ -92,6 +95,15 @@ class BrowserstackService {
92
95
  crash_reporter_1.default.uploadCrashReport(`Error in service class before function: ${err}`, err && err.stack);
93
96
  }
94
97
  }
98
+ if (this._browser && (0, util_1.isBrowserstackSession)(this._browser)) {
99
+ try {
100
+ this._accessibilityHandler = new accessibility_handler_1.default(this._browser, this._caps, this._isAppAutomate(), this._config.framework, this._accessibility, this._options.accessibilityOptions);
101
+ await this._accessibilityHandler.before();
102
+ }
103
+ catch (err) {
104
+ log.error(`[Accessibility Test Run] Error in service class before function: ${err}`);
105
+ }
106
+ }
95
107
  return await this._printSessionURL();
96
108
  }
97
109
  /**
@@ -102,7 +114,9 @@ class BrowserstackService {
102
114
  * and `suite.fullTitle` is `undefined`, so no alternative to use for the job name.
103
115
  */
104
116
  async beforeSuite(suite) {
117
+ var _a;
105
118
  this._suiteTitle = suite.title;
119
+ (_a = this._accessibilityHandler) === null || _a === void 0 ? void 0 : _a.setSuiteFile(suite.file);
106
120
  if (suite.title && suite.title !== 'Jasmine__TopLevel__Suite') {
107
121
  await this._setSessionName(suite.title);
108
122
  }
@@ -118,7 +132,7 @@ class BrowserstackService {
118
132
  await ((_a = this._insightsHandler) === null || _a === void 0 ? void 0 : _a.afterHook(test, result));
119
133
  }
120
134
  async beforeTest(test) {
121
- var _a, _b;
135
+ var _a, _b, _c;
122
136
  this._currentTest = test;
123
137
  let suiteTitle = this._suiteTitle;
124
138
  if (test.fullName) {
@@ -135,15 +149,17 @@ class BrowserstackService {
135
149
  await this._setSessionName(suiteTitle, test);
136
150
  await this._setAnnotation(`Test: ${(_a = test.fullName) !== null && _a !== void 0 ? _a : test.title}`);
137
151
  await ((_b = this._insightsHandler) === null || _b === void 0 ? void 0 : _b.beforeTest(test));
152
+ await ((_c = this._accessibilityHandler) === null || _c === void 0 ? void 0 : _c.beforeTest(suiteTitle, test));
138
153
  }
139
154
  async afterTest(test, context, results) {
140
- var _a;
155
+ var _a, _b;
141
156
  this._specsRan = true;
142
157
  const { error, passed } = results;
143
158
  if (!passed) {
144
159
  this._failReasons.push((error && error.message) || 'Unknown Error');
145
160
  }
146
161
  await ((_a = this._insightsHandler) === null || _a === void 0 ? void 0 : _a.afterTest(test, results));
162
+ await ((_b = this._accessibilityHandler) === null || _b === void 0 ? void 0 : _b.afterTest(this._suiteTitle, test));
147
163
  }
148
164
  async after(result) {
149
165
  var _a, _b;
@@ -177,23 +193,26 @@ class BrowserstackService {
177
193
  * For CucumberJS
178
194
  */
179
195
  async beforeFeature(uri, feature) {
196
+ var _a;
180
197
  this._suiteTitle = feature.name;
181
198
  await this._setSessionName(feature.name);
182
199
  await this._setAnnotation(`Feature: ${feature.name}`);
200
+ await ((_a = this._insightsHandler) === null || _a === void 0 ? void 0 : _a.beforeFeature(uri, feature));
183
201
  }
184
202
  /**
185
203
  * Runs before a Cucumber Scenario.
186
204
  * @param world world object containing information on pickle and test step
187
205
  */
188
206
  async beforeScenario(world) {
189
- var _a;
207
+ var _a, _b;
190
208
  this._currentTest = world;
191
209
  await ((_a = this._insightsHandler) === null || _a === void 0 ? void 0 : _a.beforeScenario(world));
210
+ await ((_b = this._accessibilityHandler) === null || _b === void 0 ? void 0 : _b.beforeScenario(world));
192
211
  const scenarioName = world.pickle.name || 'unknown scenario';
193
212
  await this._setAnnotation(`Scenario: ${scenarioName}`);
194
213
  }
195
214
  async afterScenario(world) {
196
- var _a, _b;
215
+ var _a, _b, _c;
197
216
  this._specsRan = true;
198
217
  const status = (_a = world.result) === null || _a === void 0 ? void 0 : _a.status.toLowerCase();
199
218
  if (status !== 'skipped') {
@@ -207,6 +226,7 @@ class BrowserstackService {
207
226
  this._failReasons.push(exception);
208
227
  }
209
228
  await ((_b = this._insightsHandler) === null || _b === void 0 ? void 0 : _b.afterScenario(world));
229
+ await ((_c = this._accessibilityHandler) === null || _c === void 0 ? void 0 : _c.afterScenario(world));
210
230
  }
211
231
  async beforeStep(step, scenario) {
212
232
  var _a;
package/build/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Capabilities, Options } from '@wdio/types';
1
+ import type { Capabilities, Options, Frameworks } from '@wdio/types';
2
2
  export interface SessionResponse {
3
3
  automation_session: {
4
4
  browser_url: string;
@@ -47,6 +47,20 @@ export interface BrowserstackConfig {
47
47
  * For e.g. buildName, projectName, BrowserStack access credentials, etc.
48
48
  */
49
49
  testObservabilityOptions?: TestObservabilityOptions;
50
+ /**
51
+ * Set this to true to enable BrowserStack Accessibility Automation which will
52
+ * automically conduct accessibility testing on your pre-existing test builds
53
+ * and generate health reports which can be viewed in the Accessibility dashboard.
54
+ * @default false
55
+ */
56
+ accessibility?: boolean;
57
+ /**
58
+ * Customise the Accessibility-related config options under this key.
59
+ * For e.g. wcagVersion, bestPractice issues, needsReview issues etc.
60
+ */
61
+ accessibilityOptions?: {
62
+ [key: string]: any;
63
+ };
50
64
  /**
51
65
  * Set this with app file path present locally on your device or
52
66
  * app hashed id returned after uploading app to BrowserStack or
@@ -135,6 +149,13 @@ export interface TestMeta {
135
149
  name: string;
136
150
  };
137
151
  examples?: string[];
152
+ hookType?: string;
153
+ testRunId?: string;
154
+ }
155
+ export interface CurrentRunInfo {
156
+ uuid?: string;
157
+ test?: Frameworks.Test;
158
+ finished?: boolean;
138
159
  }
139
160
  export interface TestData {
140
161
  uuid?: string;
@@ -174,6 +195,9 @@ export interface UserConfig {
174
195
  buildTag?: string;
175
196
  bstackServiceVersion?: string;
176
197
  buildIdentifier?: string;
198
+ accessibilityOptions?: {
199
+ [key: string]: any;
200
+ };
177
201
  }
178
202
  export interface UploadType {
179
203
  event_type: string;
@@ -181,6 +205,15 @@ export interface UploadType {
181
205
  test_run?: TestData;
182
206
  logs?: any[];
183
207
  }
208
+ export interface StdLog {
209
+ timestamp: string;
210
+ kind: string;
211
+ level?: string;
212
+ message?: string;
213
+ http_response?: any;
214
+ test_run_uuid?: string;
215
+ hook_run_uuid?: string;
216
+ }
184
217
  export interface LaunchResponse {
185
218
  jwt: string;
186
219
  build_hashed_id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}