@wdio/browserstack-service 8.33.1 → 8.34.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.
@@ -12,12 +12,14 @@ declare class _AccessibilityHandler {
12
12
  private _accessibility?;
13
13
  private _accessibilityOptions?;
14
14
  private _testMetadata;
15
+ private static _a11yScanSessionMap;
16
+ private _sessionId;
15
17
  constructor(_browser: WebdriverIO.Browser | WebdriverIO.MultiRemoteBrowser, _capabilities: Capabilities.RemoteCapability, isAppAutomate?: boolean, _framework?: string | undefined, _accessibilityAutomation?: string | boolean | undefined, _accessibilityOpts?: {
16
18
  [key: string]: any;
17
19
  } | undefined);
18
20
  setSuiteFile(filename: string): void;
19
21
  _getCapabilityValue(caps: Capabilities.RemoteCapability, capType: string, legacyCapType: string): WebdriverIO.SafaridriverOptions | undefined;
20
- before(): Promise<void>;
22
+ before(sessionId: string): Promise<void>;
21
23
  beforeTest(suiteTitle: string | undefined, test: Frameworks.Test): Promise<void>;
22
24
  afterTest(suiteTitle: string | undefined, test: Frameworks.Test): Promise<void>;
23
25
  /**
@@ -25,12 +27,12 @@ declare class _AccessibilityHandler {
25
27
  */
26
28
  beforeScenario(world: ITestCaseHookParameter): Promise<void>;
27
29
  afterScenario(world: ITestCaseHookParameter): Promise<void>;
28
- private sendTestStartEvent;
29
- private sendTestForceStopEvent;
30
+ private commandWrapper;
30
31
  private sendTestStopEvent;
31
32
  private getIdentifier;
32
33
  private shouldRunTestHooks;
33
34
  private checkIfPageOpened;
35
+ private static shouldPatchExecuteScript;
34
36
  }
35
37
  declare const AccessibilityHandler: typeof _AccessibilityHandler;
36
38
  type AccessibilityHandler = _AccessibilityHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"accessibility-handler.d.ts","sourceRoot":"","sources":["../src/accessibility-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAiBjE,cAAM,qBAAqB;IASnB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;IAErB,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,wBAAwB,CAAC;IACjC,OAAO,CAAC,kBAAkB,CAAC;IAb/B,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,qBAAqB,CAAC,CAAyB;IACvD,OAAO,CAAC,aAAa,CAA8B;gBAGvC,QAAQ,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,kBAAkB,EAC9D,aAAa,EAAE,YAAY,CAAC,gBAAgB,EACpD,aAAa,CAAC,EAAE,OAAO,EACf,UAAU,CAAC,oBAAQ,EACnB,wBAAwB,CAAC,8BAAkB,EAC3C,kBAAkB,CAAC;;iBAAyB;IAgBxD,YAAY,CAAC,QAAQ,EAAE,MAAM;IAI7B,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IA6BzF,MAAM;IAmBN,UAAU,CAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI;IAiCjE,SAAS,CAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI;IA2CtE;;MAEE;IACI,cAAc,CAAE,KAAK,EAAE,sBAAsB;IAiC7C,aAAa,CAAE,KAAK,EAAE,sBAAsB;IA+ClD,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,kBAAkB;YAOZ,iBAAiB;CAiBlC;AAGD,QAAA,MAAM,oBAAoB,EAAE,OAAO,qBAAoE,CAAA;AACvG,KAAK,oBAAoB,GAAG,qBAAqB,CAAA;AAEjD,eAAe,oBAAoB,CAAA"}
1
+ {"version":3,"file":"accessibility-handler.d.ts","sourceRoot":"","sources":["../src/accessibility-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAmBjE,cAAM,qBAAqB;IAWnB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;IAErB,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,wBAAwB,CAAC;IACjC,OAAO,CAAC,kBAAkB,CAAC;IAf/B,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,qBAAqB,CAAC,CAAyB;IACvD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAA8B;IAChE,OAAO,CAAC,UAAU,CAAsB;gBAG5B,QAAQ,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,kBAAkB,EAC9D,aAAa,EAAE,YAAY,CAAC,gBAAgB,EACpD,aAAa,CAAC,EAAE,OAAO,EACf,UAAU,CAAC,oBAAQ,EACnB,wBAAwB,CAAC,8BAAkB,EAC3C,kBAAkB,CAAC;;iBAAyB;IAgBxD,YAAY,CAAC,QAAQ,EAAE,MAAM;IAI7B,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IA6BzF,MAAM,CAAE,SAAS,EAAE,MAAM;IAsCzB,UAAU,CAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI;IAgCjE,SAAS,CAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI;IA2CtE;;MAEE;IACI,cAAc,CAAE,KAAK,EAAE,sBAAsB;IAgC7C,aAAa,CAAE,KAAK,EAAE,sBAAsB;YA+CpC,cAAc;YAcd,iBAAiB;IAO/B,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,kBAAkB;YAOZ,iBAAiB;IAkB/B,OAAO,CAAC,MAAM,CAAC,wBAAwB;CAU1C;AAGD,QAAA,MAAM,oBAAoB,EAAE,OAAO,qBAAoE,CAAA;AACvG,KAAK,oBAAoB,GAAG,qBAAqB,CAAA;AAEjD,eAAe,oBAAoB,CAAA"}
@@ -1,5 +1,6 @@
1
- import { getA11yResultsSummary, getA11yResults, getUniqueIdentifier, getUniqueIdentifierForCucumber, isAccessibilityAutomationSession, isBrowserstackSession, o11yClassErrorHandler, shouldScanTestForAccessibility, validateCapsWithA11y, isTrue } from './util.js';
2
- import { testForceStop, testStartEvent, testStop } from './scripts/test-event-scripts.js';
1
+ import util from 'node:util';
2
+ import { getA11yResultsSummary, getA11yResults, performA11yScan, getUniqueIdentifier, getUniqueIdentifierForCucumber, isAccessibilityAutomationSession, isBrowserstackSession, o11yClassErrorHandler, shouldScanTestForAccessibility, validateCapsWithA11y, isTrue } from './util.js';
3
+ import accessibilityScripts from './scripts/accessibility-scripts.js';
3
4
  import { BStackLogger } from './bstackLogger.js';
4
5
  class _AccessibilityHandler {
5
6
  _browser;
@@ -13,6 +14,8 @@ class _AccessibilityHandler {
13
14
  _accessibility;
14
15
  _accessibilityOptions;
15
16
  _testMetadata = {};
17
+ static _a11yScanSessionMap = {};
18
+ _sessionId = null;
16
19
  constructor(_browser, _capabilities, isAppAutomate, _framework, _accessibilityAutomation, _accessibilityOpts) {
17
20
  this._browser = _browser;
18
21
  this._capabilities = _capabilities;
@@ -68,7 +71,8 @@ class _AccessibilityHandler {
68
71
  }
69
72
  }
70
73
  }
71
- async before() {
74
+ async before(sessionId) {
75
+ this._sessionId = sessionId;
72
76
  this._accessibility = isTrue(this._getCapabilityValue(this._caps, 'accessibility', 'browserstack.accessibility'));
73
77
  if (isBrowserstackSession(this._browser) && isAccessibilityAutomationSession(this._accessibility)) {
74
78
  const deviceName = this._getCapabilityValue(this._caps, 'deviceName', 'device');
@@ -81,25 +85,37 @@ class _AccessibilityHandler {
81
85
  this._browser.getAccessibilityResults = async () => {
82
86
  return await getA11yResults(this._browser, isBrowserstackSession(this._browser), this._accessibility);
83
87
  };
84
- }
85
- async beforeTest(suiteTitle, test) {
86
- if (this._framework !== 'mocha' ||
87
- !this.shouldRunTestHooks(this._browser, this._accessibility)) {
88
+ this._browser.performScan = async () => {
89
+ return await performA11yScan(this._browser, isBrowserstackSession(this._browser), this._accessibility);
90
+ };
91
+ if (!this._accessibility) {
88
92
  return;
89
93
  }
90
- const shouldScanTest = shouldScanTestForAccessibility(suiteTitle, test.title, this._accessibilityOptions);
91
- const testIdentifier = this.getIdentifier(test);
92
- const isPageOpened = await this.checkIfPageOpened(this._browser, testIdentifier, shouldScanTest);
93
- if (!isPageOpened) {
94
+ if (!('overwriteCommand' in this._browser && Array.isArray(accessibilityScripts.commandsToWrap))) {
94
95
  return;
95
96
  }
97
+ accessibilityScripts.commandsToWrap
98
+ .filter((command) => command.name && command.class)
99
+ .forEach((command) => {
100
+ const browser = this._browser;
101
+ browser.overwriteCommand(command.name, this.commandWrapper.bind(this, command), command.class === 'Element');
102
+ });
103
+ }
104
+ async beforeTest(suiteTitle, test) {
96
105
  try {
97
- if (shouldScanTest) {
98
- BStackLogger.info('Setup for Accessibility testing has started. Automate test case execution will begin momentarily.');
99
- await this.sendTestStartEvent(this._browser);
106
+ if (this._framework !== 'mocha' ||
107
+ !this.shouldRunTestHooks(this._browser, this._accessibility)) {
108
+ return;
100
109
  }
101
- else {
102
- await this.sendTestForceStopEvent(this._browser);
110
+ const shouldScanTest = shouldScanTestForAccessibility(suiteTitle, test.title, this._accessibilityOptions);
111
+ const testIdentifier = this.getIdentifier(test);
112
+ const isPageOpened = await this.checkIfPageOpened(this._browser, testIdentifier, shouldScanTest);
113
+ if (this._sessionId) {
114
+ /* For case with multiple tests under one browser, before hook of 2nd test should change this map value */
115
+ AccessibilityHandler._a11yScanSessionMap[this._sessionId] = shouldScanTest;
116
+ }
117
+ if (!isPageOpened) {
118
+ return;
103
119
  }
104
120
  this._testMetadata[testIdentifier].accessibilityScanStarted = shouldScanTest;
105
121
  if (shouldScanTest) {
@@ -149,25 +165,22 @@ class _AccessibilityHandler {
149
165
  * Cucumber Only
150
166
  */
151
167
  async beforeScenario(world) {
152
- if (!this.shouldRunTestHooks(this._browser, this._accessibility)) {
153
- return;
154
- }
155
168
  const pickleData = world.pickle;
156
169
  const gherkinDocument = world.gherkinDocument;
157
170
  const featureData = gherkinDocument.feature;
158
171
  const uniqueId = getUniqueIdentifierForCucumber(world);
159
- const shouldScanScenario = shouldScanTestForAccessibility(featureData?.name, pickleData.name, this._accessibilityOptions, world, true);
160
- const isPageOpened = await this.checkIfPageOpened(this._browser, uniqueId, shouldScanScenario);
161
- if (!isPageOpened) {
172
+ if (!this.shouldRunTestHooks(this._browser, this._accessibility)) {
162
173
  return;
163
174
  }
164
175
  try {
165
- if (shouldScanScenario) {
166
- BStackLogger.info('Setup for Accessibility testing has started. Automate test case execution will begin momentarily.');
167
- await this.sendTestStartEvent(this._browser);
176
+ const shouldScanScenario = shouldScanTestForAccessibility(featureData?.name, pickleData.name, this._accessibilityOptions, world, true);
177
+ const isPageOpened = await this.checkIfPageOpened(this._browser, uniqueId, shouldScanScenario);
178
+ if (this._sessionId) {
179
+ /* For case with multiple tests under one browser, before hook of 2nd test should change this map value */
180
+ AccessibilityHandler._a11yScanSessionMap[this._sessionId] = shouldScanScenario;
168
181
  }
169
- else {
170
- await this.sendTestForceStopEvent(this._browser);
182
+ if (!isPageOpened) {
183
+ return;
171
184
  }
172
185
  this._testMetadata[uniqueId].accessibilityScanStarted = shouldScanScenario;
173
186
  if (shouldScanScenario) {
@@ -218,14 +231,20 @@ class _AccessibilityHandler {
218
231
  /*
219
232
  * private methods
220
233
  */
221
- sendTestStartEvent(browser) {
222
- return browser.executeAsync(testStartEvent);
223
- }
224
- sendTestForceStopEvent(browser) {
225
- return browser.execute(testForceStop);
234
+ async commandWrapper(command, origFunction, ...args) {
235
+ if (this._sessionId && AccessibilityHandler._a11yScanSessionMap[this._sessionId] &&
236
+ (!command.name.includes('execute') ||
237
+ !AccessibilityHandler.shouldPatchExecuteScript(args.length ? args[0] : null))) {
238
+ BStackLogger.debug(`Performing scan for ${command.class} ${command.name}`);
239
+ await performA11yScan(this._browser, true, true, command.name);
240
+ }
241
+ return origFunction(...args);
226
242
  }
227
- sendTestStopEvent(browser, dataForExtension) {
228
- return browser.executeAsync(testStop, dataForExtension);
243
+ async sendTestStopEvent(browser, dataForExtension) {
244
+ BStackLogger.debug('Performing scan before saving results');
245
+ await performA11yScan(browser, true, true);
246
+ const results = await browser.executeAsync(accessibilityScripts.saveTestResults, dataForExtension);
247
+ BStackLogger.debug(util.format(results));
229
248
  }
230
249
  getIdentifier(test) {
231
250
  if ('pickle' in test) {
@@ -255,6 +274,13 @@ class _AccessibilityHandler {
255
274
  }
256
275
  return pageOpen;
257
276
  }
277
+ static shouldPatchExecuteScript(script) {
278
+ if (!script || typeof script !== 'string') {
279
+ return true;
280
+ }
281
+ return (script.toLowerCase().indexOf('browserstack_executor') !== -1 ||
282
+ script.toLowerCase().indexOf('browserstack_accessibility_automation_script') !== -1);
283
+ }
258
284
  }
259
285
  // https://github.com/microsoft/TypeScript/issues/6543
260
286
  const AccessibilityHandler = o11yClassErrorHandler(_AccessibilityHandler);
@@ -0,0 +1,26 @@
1
+ declare class AccessibilityScripts {
2
+ private static instance;
3
+ performScan: string | null;
4
+ getResults: string | null;
5
+ getResultsSummary: string | null;
6
+ saveTestResults: string | null;
7
+ commandsToWrap: Array<any> | null;
8
+ browserstackFolderPath: string;
9
+ commandsPath: string;
10
+ private constructor();
11
+ static checkAndGetInstance(): AccessibilityScripts;
12
+ readFromExistingFile(): void;
13
+ update(data: {
14
+ commands: [any];
15
+ scripts: {
16
+ scan: null;
17
+ getResults: null;
18
+ getResultsSummary: null;
19
+ saveResults: null;
20
+ };
21
+ }): void;
22
+ store(): void;
23
+ }
24
+ declare const _default: AccessibilityScripts;
25
+ export default _default;
26
+ //# sourceMappingURL=accessibility-scripts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessibility-scripts.d.ts","sourceRoot":"","sources":["../../src/scripts/accessibility-scripts.ts"],"names":[],"mappings":"AAIA,cAAM,oBAAoB;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoC;IAEpD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAO;IACjC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAO;IAChC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAO;IACvC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAO;IACrC,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAO;IAExC,sBAAsB,SAA2C;IACjE,YAAY,SAA0D;IAG7E,OAAO;WAEO,mBAAmB;IAQ1B,oBAAoB;IAapB,MAAM,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,EAAE;YAAE,IAAI,EAAE,IAAI,CAAC;YAAC,UAAU,EAAE,IAAI,CAAC;YAAC,iBAAiB,EAAE,IAAI,CAAC;YAAC,WAAW,EAAE,IAAI,CAAC;SAAE,CAAC;KAAE;IAYzH,KAAK;CAef;;AAED,wBAAyD"}
@@ -0,0 +1,61 @@
1
+ import path from 'node:path';
2
+ import fs from 'node:fs';
3
+ import os from 'node:os';
4
+ class AccessibilityScripts {
5
+ static instance = null;
6
+ performScan = null;
7
+ getResults = null;
8
+ getResultsSummary = null;
9
+ saveTestResults = null;
10
+ commandsToWrap = null;
11
+ browserstackFolderPath = path.join(os.homedir(), '.browserstack');
12
+ commandsPath = path.join(this.browserstackFolderPath, 'commands.json');
13
+ // don't allow to create instances from it other than through `checkAndGetInstance`
14
+ constructor() { }
15
+ static checkAndGetInstance() {
16
+ if (!AccessibilityScripts.instance) {
17
+ AccessibilityScripts.instance = new AccessibilityScripts();
18
+ AccessibilityScripts.instance.readFromExistingFile();
19
+ }
20
+ return AccessibilityScripts.instance;
21
+ }
22
+ readFromExistingFile() {
23
+ try {
24
+ if (fs.existsSync(this.commandsPath)) {
25
+ const data = fs.readFileSync(this.commandsPath, 'utf8');
26
+ if (data) {
27
+ this.update(JSON.parse(data));
28
+ }
29
+ }
30
+ }
31
+ catch (error) {
32
+ /* Do nothing */
33
+ }
34
+ }
35
+ update(data) {
36
+ if (data.scripts) {
37
+ this.performScan = data.scripts.scan;
38
+ this.getResults = data.scripts.getResults;
39
+ this.getResultsSummary = data.scripts.getResultsSummary;
40
+ this.saveTestResults = data.scripts.saveResults;
41
+ }
42
+ if (data.commands && data.commands.length) {
43
+ this.commandsToWrap = data.commands;
44
+ }
45
+ }
46
+ store() {
47
+ if (!fs.existsSync(this.browserstackFolderPath)) {
48
+ fs.mkdirSync(this.browserstackFolderPath);
49
+ }
50
+ fs.writeFileSync(this.commandsPath, JSON.stringify({
51
+ commands: this.commandsToWrap,
52
+ scripts: {
53
+ scan: this.performScan,
54
+ getResults: this.getResults,
55
+ getResultsSummary: this.getResultsSummary,
56
+ saveResults: this.saveTestResults,
57
+ }
58
+ }));
59
+ }
60
+ }
61
+ export default AccessibilityScripts.checkAndGetInstance();
package/build/service.js CHANGED
@@ -105,6 +105,15 @@ export default class BrowserstackService {
105
105
  this._insightsHandler = new InsightsHandler(this._browser, this._isAppAutomate(), this._config.framework, this._caps);
106
106
  await this._insightsHandler.before();
107
107
  }
108
+ if (isBrowserstackSession(this._browser)) {
109
+ try {
110
+ this._accessibilityHandler = new AccessibilityHandler(this._browser, this._caps, this._isAppAutomate(), this._config.framework, this._accessibility, this._options.accessibilityOptions);
111
+ await this._accessibilityHandler.before(sessionId);
112
+ }
113
+ catch (err) {
114
+ BStackLogger.error(`[Accessibility Test Run] Error in service class before function: ${err}`);
115
+ }
116
+ }
108
117
  /**
109
118
  * register command event
110
119
  */
@@ -131,15 +140,6 @@ export default class BrowserstackService {
131
140
  }
132
141
  }
133
142
  }
134
- if (this._browser && isBrowserstackSession(this._browser)) {
135
- try {
136
- this._accessibilityHandler = new AccessibilityHandler(this._browser, this._caps, this._isAppAutomate(), this._config.framework, this._accessibility, this._options.accessibilityOptions);
137
- await this._accessibilityHandler.before();
138
- }
139
- catch (err) {
140
- BStackLogger.error(`[Accessibility Test Run] Error in service class before function: ${err}`);
141
- }
142
- }
143
143
  return await this._printSessionURL();
144
144
  }
145
145
  /**
package/build/util.d.ts CHANGED
@@ -55,6 +55,9 @@ export declare const shouldScanTestForAccessibility: (suiteTitle: string | undef
55
55
  } | undefined, isCucumber?: boolean) => boolean;
56
56
  export declare const isAccessibilityAutomationSession: (accessibilityFlag?: boolean | string) => boolean | "" | undefined;
57
57
  export declare const createAccessibilityTestRun: (...args: any) => any;
58
+ export declare const performA11yScan: (browser: WebdriverIO.Browser | WebdriverIO.MultiRemoteBrowser, isBrowserStackSession?: boolean, isAccessibility?: boolean | string, commandName?: string) => Promise<{
59
+ [key: string]: any;
60
+ } | undefined>;
58
61
  export declare const getA11yResults: (browser: WebdriverIO.Browser, isBrowserStackSession?: boolean, isAccessibility?: boolean | string) => Promise<{
59
62
  [key: string]: any;
60
63
  }[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;AAIA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,KAAK,MAAM,YAAY,CAAA;AAI9B,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAGzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAIjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC,OAAO,KAAK,EAAc,UAAU,EAAkB,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC5F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAwBjE,eAAO,MAAM,sBAAsB;;;;;;;;;CASlC,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAO5C,CAAA;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,YAAY,CAAC,mBAAmB,UAa1E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,YAAY,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAAE,MAAM,4BAS/J;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,YAAY,WAWtE;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAUpF;AAaD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,aACf,GAAG,SAehC;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,aACX,GAAG,SAYhC;AAED,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAe,gBAiCjI;AAOD,KAAK,SAAS,GAAG;IAAE,KAAI,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;CAAE,CAAC;AAC/C,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,CA8B3E;AAED,eAAO,MAAM,iBAAiB,YAzGA,GAAG,QAyL/B,CAAA;AAEF,eAAO,MAAM,oBAAoB,gBAAiB,GAAG;;+BAA0D,GAAG,YA0BjH,CAAA;AAED,eAAO,MAAM,8BAA8B,eAAgB,MAAM,GAAG,SAAS,aAAa,MAAM;;;;4BAAgG,OAAO,YAuBtM,CAAA;AAED,eAAO,MAAM,gCAAgC,uBAAwB,OAAO,GAAG,MAAM,6BAQpF,CAAA;AAED,eAAO,MAAM,0BAA0B,YAxOT,GAAG,QA4T/B,CAAA;AAEF,eAAO,MAAM,cAAc,YAAmB,YAAY,OAAO,0BAA0B,OAAO,oBAAoB,OAAO,GAAG,MAAM;;IAkBrI,CAAA;AAED,eAAO,MAAM,qBAAqB,YAAmB,YAAY,OAAO,0BAA0B,OAAO,oBAAoB,OAAO,GAAG,MAAM;;EAiB5I,CAAA;AAED,eAAO,MAAM,wBAAwB,YArWP,GAAG,QAkZ/B,CAAA;AAEF,eAAO,MAAM,iBAAiB,YAtaA,GAAG,QAsd/B,CAAA;AAEF,wBAAgB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA4NxB;AAED,wBAAsB,cAAc;;;;;;;;;;;;;;;;;;;;eAyBnC;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAWrF;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CAEpF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,kBAAkB,GAAG,MAAM,CAKtG;AAED,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,kBAAkB,uBAEnG;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,wBAsChE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAWnD;AAGD,wBAAgB,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,YAK9C;AAED,wBAAgB,WAAW,CAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAWrD;AAED,wBAAgB,mBAAmB,CAAE,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,4BAE9E;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,WAKzD;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAG,OAAO,CAKxG;AAED,wBAAsB,kBAAkB,CAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,iBAyB3F;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,sBAQhH;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,sBAQ/G;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,MAAM,sBAQnH;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,MAAM,UAQ/G;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAW7H;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,sBAK7D;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,sBAK5D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,WAErC;AAED,wBAAgB,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,WAEjC;AAED,wBAAgB,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,WAElC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,WAUrE;AAED,wBAAgB,gBAAgB,SAiB/B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAC,KAAK;;;;;;EAUnD;AAED,eAAO,MAAM,KAAK,mCAAkE,CAAA;AAEpF,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,eAAe,EAAE,MAAM,gBAwB1G;AAED,eAAO,MAAM,QAAQ,WAAY,GAAG,YAEnC,CAAA;AAED,eAAO,MAAM,eAAe,YAAa,GAAG,WAAW,GAAG,YAezD,CAAA;AAED,eAAO,MAAM,kBAAkB,YArhCD,GAAG,QAoiC/B,CAAA;AAEF,eAAO,MAAM,aAAa,eAAgB,OAAO,YAMhD,CAAA;AAED,eAAO,MAAM,cAAc,QAAS,OAAO,uBAS1C,CAAA"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
package/build/util.js CHANGED
@@ -14,9 +14,9 @@ import logPatcher from './logPatcher.js';
14
14
  import PerformanceTester from './performance-tester.js';
15
15
  import { ACCESSIBILITY_API_URL, BROWSER_DESCRIPTION, DATA_ENDPOINT, UPLOAD_LOGS_ADDRESS, UPLOAD_LOGS_ENDPOINT, consoleHolder, TESTOPS_SCREENSHOT_ENV, TESTOPS_BUILD_ID_ENV, PERF_MEASUREMENT_ENV, RERUN_ENV, TESTOPS_BUILD_COMPLETED_ENV, TESTOPS_JWT_ENV } from './constants.js';
16
16
  import CrashReporter from './crash-reporter.js';
17
- import { accessibilityResults, accessibilityResultsSummary } from './scripts/test-event-scripts.js';
18
17
  import { BStackLogger } from './bstackLogger.js';
19
18
  import { FileStream } from './fileStream.js';
19
+ import AccessibilityScripts from './scripts/accessibility-scripts.js';
20
20
  import UsageStats from './testOps/usageStats.js';
21
21
  import TestOpsConfig from './testOps/testOpsConfig.js';
22
22
  const pGitconfig = promisify(gitconfig);
@@ -357,7 +357,10 @@ export const createAccessibilityTestRun = errorHandler(async function createAcce
357
357
  'source': {
358
358
  frameworkName: 'WebdriverIO-' + config.framework,
359
359
  frameworkVersion: bsConfig.bstackServiceVersion,
360
- sdkVersion: bsConfig.bstackServiceVersion
360
+ sdkVersion: bsConfig.bstackServiceVersion,
361
+ language: 'ECMAScript',
362
+ testFramework: 'webdriverIO',
363
+ testFrameworkVersion: bsConfig.bstackServiceVersion
361
364
  },
362
365
  'settings': bsConfig.accessibilityOptions || {},
363
366
  'versionControl': await getGitMetaData(),
@@ -377,7 +380,7 @@ export const createAccessibilityTestRun = errorHandler(async function createAcce
377
380
  password: getBrowserStackKey(config),
378
381
  };
379
382
  try {
380
- const response = await nodeRequest('POST', 'test_runs', requestOptions, ACCESSIBILITY_API_URL);
383
+ const response = await nodeRequest('POST', 'v2/test_runs', requestOptions, ACCESSIBILITY_API_URL);
381
384
  BStackLogger.debug(`[Create Accessibility Test Run] Success response: ${JSON.stringify(response)}`);
382
385
  if (response.data.accessibilityToken) {
383
386
  process.env.BSTACK_A11Y_JWT = response.data.accessibilityToken;
@@ -386,6 +389,10 @@ export const createAccessibilityTestRun = errorHandler(async function createAcce
386
389
  process.env.BS_A11Y_TEST_RUN_ID = response.data.id;
387
390
  }
388
391
  BStackLogger.debug(`BrowserStack Accessibility Automation Test Run ID: ${response.data.id}`);
392
+ if (response.data) {
393
+ AccessibilityScripts.update(response.data);
394
+ AccessibilityScripts.store();
395
+ }
389
396
  return response.data.scannerVersion;
390
397
  }
391
398
  catch (error) {
@@ -407,6 +414,25 @@ export const createAccessibilityTestRun = errorHandler(async function createAcce
407
414
  return null;
408
415
  }
409
416
  });
417
+ export const performA11yScan = async (browser, isBrowserStackSession, isAccessibility, commandName) => {
418
+ if (!isBrowserStackSession) {
419
+ BStackLogger.warn('Not a BrowserStack Automate session, cannot perform Accessibility scan.');
420
+ return; // since we are running only on Automate as of now
421
+ }
422
+ if (!isAccessibilityAutomationSession(isAccessibility)) {
423
+ BStackLogger.warn('Not an Accessibility Automation session, cannot perform Accessibility scan.');
424
+ return;
425
+ }
426
+ try {
427
+ const results = await browser.executeAsync(AccessibilityScripts.performScan, { 'method': commandName || '' });
428
+ BStackLogger.debug(util.format(results));
429
+ return results;
430
+ }
431
+ catch (err) {
432
+ BStackLogger.error('Accessibility Scan could not be performed : ' + err);
433
+ return;
434
+ }
435
+ };
410
436
  export const getA11yResults = async (browser, isBrowserStackSession, isAccessibility) => {
411
437
  if (!isBrowserStackSession) {
412
438
  BStackLogger.warn('Not a BrowserStack Automate session, cannot retrieve Accessibility results.');
@@ -417,7 +443,9 @@ export const getA11yResults = async (browser, isBrowserStackSession, isAccessibi
417
443
  return [];
418
444
  }
419
445
  try {
420
- const results = await browser.execute(accessibilityResults);
446
+ BStackLogger.debug('Performing scan before getting results');
447
+ await performA11yScan(browser, isBrowserStackSession, isAccessibility);
448
+ const results = await browser.executeAsync(AccessibilityScripts.getResults);
421
449
  return results;
422
450
  }
423
451
  catch {
@@ -434,7 +462,9 @@ export const getA11yResultsSummary = async (browser, isBrowserStackSession, isAc
434
462
  return {};
435
463
  }
436
464
  try {
437
- const summaryResults = await browser.execute(accessibilityResultsSummary);
465
+ BStackLogger.debug('Performing scan before getting results summary');
466
+ await performA11yScan(browser, isBrowserStackSession, isAccessibility);
467
+ const summaryResults = await browser.executeAsync(AccessibilityScripts.getResultsSummary);
438
468
  return summaryResults;
439
469
  }
440
470
  catch {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wdio/browserstack-service",
3
- "version": "8.33.1",
3
+ "version": "8.34.0",
4
4
  "description": "WebdriverIO service for better Browserstack integration",
5
5
  "author": "Adam Bjerstedt <abjerstedt@gmail.com>",
6
6
  "homepage": "https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-browserstack-service",
@@ -44,7 +44,7 @@
44
44
  "gitconfiglocal": "^2.1.0",
45
45
  "got": "^12.6.1",
46
46
  "uuid": "^9.0.0",
47
- "webdriverio": "8.33.1",
47
+ "webdriverio": "8.34.0",
48
48
  "winston-transport": "^4.5.0",
49
49
  "yauzl": "^3.0.0"
50
50
  },
@@ -53,10 +53,10 @@
53
53
  },
54
54
  "devDependencies": {
55
55
  "@types/node": "^20.1.0",
56
- "@wdio/globals": "8.33.1"
56
+ "@wdio/globals": "8.34.0"
57
57
  },
58
58
  "publishConfig": {
59
59
  "access": "public"
60
60
  },
61
- "gitHead": "6ee4cdd36e9f10541ede896d18b785ac9c56dacf"
61
+ "gitHead": "72856f9e3e4c6ae0750a1d3f17b137724a30e4e5"
62
62
  }
@@ -1,10 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,65 +0,0 @@
1
- export function testStartEvent() {
2
- const callback = arguments[arguments.length - 1];
3
- const fn = () => {
4
- window.addEventListener('A11Y_TAP_STARTED', fn2);
5
- const e = new CustomEvent('A11Y_FORCE_START');
6
- window.dispatchEvent(e);
7
- };
8
- const fn2 = () => {
9
- window.removeEventListener('A11Y_TAP_STARTED', fn);
10
- callback();
11
- };
12
- fn();
13
- }
14
- export function testForceStop() {
15
- const e = new CustomEvent('A11Y_FORCE_STOP');
16
- window.dispatchEvent(e);
17
- }
18
- export function testStop() {
19
- const callback = arguments[arguments.length - 1];
20
- this.res = null;
21
- if (arguments[0].saveResults) {
22
- window.addEventListener('A11Y_TAP_TRANSPORTER', (event) => {
23
- window.tapTransporterData = event.detail;
24
- this.res = window.tapTransporterData;
25
- callback(this.res);
26
- });
27
- }
28
- const e = new CustomEvent('A11Y_TEST_END', { detail: arguments[0] });
29
- window.dispatchEvent(e);
30
- if (arguments[0].saveResults !== true) {
31
- callback();
32
- }
33
- }
34
- export function accessibilityResults() {
35
- return new Promise(function (resolve, reject) {
36
- try {
37
- const event = new CustomEvent('A11Y_TAP_GET_RESULTS');
38
- const fn = function (event) {
39
- window.removeEventListener('A11Y_RESULTS_RESPONSE', fn);
40
- resolve(event.detail.data);
41
- };
42
- window.addEventListener('A11Y_RESULTS_RESPONSE', fn);
43
- window.dispatchEvent(event);
44
- }
45
- catch {
46
- reject();
47
- }
48
- });
49
- }
50
- export function accessibilityResultsSummary() {
51
- return new Promise(function (resolve, reject) {
52
- try {
53
- const event = new CustomEvent('A11Y_TAP_GET_RESULTS_SUMMARY');
54
- const fn = function (event) {
55
- window.removeEventListener('A11Y_RESULTS_SUMMARY_RESPONSE', fn);
56
- resolve(event.detail.summary);
57
- };
58
- window.addEventListener('A11Y_RESULTS_SUMMARY_RESPONSE', fn);
59
- window.dispatchEvent(event);
60
- }
61
- catch {
62
- reject();
63
- }
64
- });
65
- }