@wdio/browserstack-service 8.47.1 → 8.48.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliUtils.d.ts","sourceRoot":"","sources":["../../src/cli/cliUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AAiCxB,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAIpG,qBAAa,QAAQ;IACjB,MAAM,CAAC,yBAAyB,KAAK;IACrC,MAAM,CAAC,mBAAmB,KAAK;IAC/B,MAAM,CAAC,sBAAsB,WAAY;IAEzC,MAAM,CAAC,gBAAgB;IAIvB,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAOtD;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,EAAE,QAAQ,CAAC,EAAE,MAAM;IA2EnK,MAAM,CAAC,aAAa;IAIpB,MAAM,CAAC,cAAc;WAIR,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,GAAC,IAAI,CAAC;WAuB9D,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,GAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"cliUtils.d.ts","sourceRoot":"","sources":["../../src/cli/cliUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AAiCxB,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAIpG,qBAAa,QAAQ;IACjB,MAAM,CAAC,yBAAyB,KAAK;IACrC,MAAM,CAAC,mBAAmB,KAAK;IAC/B,MAAM,CAAC,sBAAsB,WAAY;IAEzC,MAAM,CAAC,gBAAgB;IAIvB,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAOtD;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,EAAE,QAAQ,CAAC,EAAE,MAAM;IA2EnK,MAAM,CAAC,aAAa;IAIpB,MAAM,CAAC,cAAc;WAIR,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,GAAC,IAAI,CAAC;WAuB9D,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,GAAC,IAAI,CAAC;IAgCzH,MAAM,CAAC,SAAS;IAiBhB,MAAM,CAAC,cAAc;IAsCrB,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM;IAyCxC,MAAM,CAAC,kBAAkB,gBAAuB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,OAAO,CAAC,UAAU,kBAejG;IAED,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB5E,MAAM,CAAC,oBAAoB,mBAA0B,MAAM,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,GAAC,IAAI,CAAC,CAmCjG;IAED,MAAM,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,GAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI;IA4D/L,MAAM,CAAC,sBAAsB;IAO7B,MAAM,CAAC,4BAA4B;IAOnC,MAAM,CAAC,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM;IAmB5E;;;OAGG;IACH,MAAM,CAAC,sBAAsB;IAI7B;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK;IAIjE,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM;IAMvC,MAAM,CAAC,yBAAyB,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,cAAc,CAAC,EAAE,MAAM;IAaxG,MAAM,CAAC,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;CAOnE"}
|
package/build/cli/cliUtils.js
CHANGED
|
@@ -139,7 +139,8 @@ export class CLIUtils {
|
|
|
139
139
|
sdk_language: this.getSdkLanguage(),
|
|
140
140
|
};
|
|
141
141
|
if (!isNullOrEmpty(existingCliPath)) {
|
|
142
|
-
|
|
142
|
+
const nullDevice = platform() === 'win32' ? 'NUL' : '/dev/null';
|
|
143
|
+
queryParams.cli_version = await this.runShellCommand(`${existingCliPath} version 2>${nullDevice}`);
|
|
143
144
|
}
|
|
144
145
|
const response = await this.requestToUpdateCLI(queryParams, config);
|
|
145
146
|
if (nestedKeyValue(response, ['updated_cli_version'])) {
|
|
@@ -13,6 +13,8 @@ export default class AccessibilityModule extends BaseModule {
|
|
|
13
13
|
static MODULE_NAME: string;
|
|
14
14
|
accessibilityMap: Map<number, boolean>;
|
|
15
15
|
LOG_DISABLED_SHOWN: Map<number, boolean>;
|
|
16
|
+
centralAuthA11yConfig: Record<string, unknown>;
|
|
17
|
+
centralAuthConfigFetched: boolean;
|
|
16
18
|
constructor(accessibilityConfig: Accessibility, isNonBstackA11y: boolean);
|
|
17
19
|
onBeforeExecute(): Promise<void>;
|
|
18
20
|
private commandWrapper;
|
|
@@ -28,6 +30,14 @@ export default class AccessibilityModule extends BaseModule {
|
|
|
28
30
|
getA11yResultsSummary(browser: WebdriverIO.Browser): Promise<{
|
|
29
31
|
[key: string]: any;
|
|
30
32
|
}>;
|
|
31
|
-
getDriverExecuteParams(): Promise<any>;
|
|
33
|
+
getDriverExecuteParams(scriptName: string): Promise<any>;
|
|
34
|
+
/**
|
|
35
|
+
* Fetch central auth accessibility configuration for the given script name.
|
|
36
|
+
* Returns cached config if already fetched, otherwise loads and caches it.
|
|
37
|
+
*
|
|
38
|
+
* @param scriptName - Name of the script to fetch config for
|
|
39
|
+
* @returns Configuration object, empty object if error occurs
|
|
40
|
+
*/
|
|
41
|
+
fetchCentralAuthA11yConfig(scriptName: string): Promise<Record<string, unknown>>;
|
|
32
42
|
}
|
|
33
43
|
//# sourceMappingURL=accessibilityModule.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessibilityModule.d.ts","sourceRoot":"","sources":["../../../src/cli/modules/accessibilityModule.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAQ9C,OAAO,oBAAoB,MAAM,wCAAwC,CAAA;AAIzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAO5E,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,UAAU;IAEvD,MAAM,sBAAe;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,OAAO,oBAAoB,CAAA;IAC3C,aAAa,EAAE,OAAO,CAAQ;IAC9B,kBAAkB,EAAE,OAAO,CAAA;IAC3B,eAAe,EAAE,OAAO,CAAA;IACxB,mBAAmB,EAAE,aAAa,CAAA;IAClC,MAAM,CAAC,WAAW,SAAwB;IAC1C,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"accessibilityModule.d.ts","sourceRoot":"","sources":["../../../src/cli/modules/accessibilityModule.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAQ9C,OAAO,oBAAoB,MAAM,wCAAwC,CAAA;AAIzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAO5E,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,UAAU;IAEvD,MAAM,sBAAe;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,OAAO,oBAAoB,CAAA;IAC3C,aAAa,EAAE,OAAO,CAAQ;IAC9B,kBAAkB,EAAE,OAAO,CAAA;IAC3B,eAAe,EAAE,OAAO,CAAA;IACxB,mBAAmB,EAAE,aAAa,CAAA;IAClC,MAAM,CAAC,WAAW,SAAwB;IAC1C,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAK;IACnD,wBAAwB,EAAE,OAAO,CAAQ;gBAE7B,mBAAmB,EAAE,aAAa,EAAE,eAAe,EAAE,OAAO;IAelE,eAAe;YAsFP,cAAc;IAkCtB,YAAY,CAAC,IAAI,EAAE,GAAG;IAqCtB,WAAW;IA6DjB,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,aAAa;YAuBP,cAAc;YA+Cd,iBAAiB;IAuBzB,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KAAE,CAAC,CAAC;IAsBrF,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KAAE,CAAC;IAqBrF,sBAAsB,CAAC,UAAU,EAAE,MAAM;IAa/C;;;;;;OAMG;IACG,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAczF"}
|
|
@@ -24,6 +24,8 @@ export default class AccessibilityModule extends BaseModule {
|
|
|
24
24
|
static MODULE_NAME = 'AccessibilityModule';
|
|
25
25
|
accessibilityMap;
|
|
26
26
|
LOG_DISABLED_SHOWN;
|
|
27
|
+
centralAuthA11yConfig = {};
|
|
28
|
+
centralAuthConfigFetched = false;
|
|
27
29
|
constructor(accessibilityConfig, isNonBstackA11y) {
|
|
28
30
|
super();
|
|
29
31
|
this.name = 'AccessibilityModule';
|
|
@@ -204,7 +206,7 @@ export default class AccessibilityModule extends BaseModule {
|
|
|
204
206
|
'thBuildUuid': process.env.BROWSERSTACK_TESTHUB_UUID,
|
|
205
207
|
'thJwtToken': process.env.BROWSERSTACK_TESTHUB_JWT
|
|
206
208
|
};
|
|
207
|
-
const driverExecuteParams = await this.getDriverExecuteParams();
|
|
209
|
+
const driverExecuteParams = await this.getDriverExecuteParams('saveResults');
|
|
208
210
|
dataForExtension = { ...dataForExtension, ...driverExecuteParams };
|
|
209
211
|
// final scan and saving the results
|
|
210
212
|
await this.sendTestStopEvent(browser, dataForExtension);
|
|
@@ -257,12 +259,23 @@ export default class AccessibilityModule extends BaseModule {
|
|
|
257
259
|
async performScanCli(browser, commandName) {
|
|
258
260
|
return await PerformanceTester.measureWrapper(PERFORMANCE_SDK_EVENTS.A11Y_EVENTS.PERFORM_SCAN, async () => {
|
|
259
261
|
try {
|
|
262
|
+
// Fetch central auth accessibility configuration
|
|
263
|
+
const centralAuthConfig = await this.fetchCentralAuthA11yConfig('scan');
|
|
260
264
|
if (!this.accessibility) {
|
|
261
265
|
this.logger.debug('Not an Accessibility Automation session.');
|
|
262
266
|
return;
|
|
263
267
|
}
|
|
264
268
|
if (this.isAppAccessibility) {
|
|
265
|
-
|
|
269
|
+
// Get app accessibility params and merge with central auth config
|
|
270
|
+
const appAccessibilityParams = _getParamsForAppAccessibility(commandName);
|
|
271
|
+
// Merge with central auth config
|
|
272
|
+
const mergedParams = { ...appAccessibilityParams, ...centralAuthConfig };
|
|
273
|
+
// Use centralAuthToken if available
|
|
274
|
+
if (centralAuthConfig.centralAuthToken) {
|
|
275
|
+
// Set the auth header with the token value
|
|
276
|
+
mergedParams.centralAuthHeader = centralAuthConfig.centralAuthToken;
|
|
277
|
+
}
|
|
278
|
+
const results = await browser.execute(formatString(this.scriptInstance.performScan, JSON.stringify(mergedParams)), {});
|
|
266
279
|
BStackLogger.debug(util.format(results));
|
|
267
280
|
return results;
|
|
268
281
|
}
|
|
@@ -332,10 +345,10 @@ export default class AccessibilityModule extends BaseModule {
|
|
|
332
345
|
}
|
|
333
346
|
})();
|
|
334
347
|
}
|
|
335
|
-
async getDriverExecuteParams() {
|
|
348
|
+
async getDriverExecuteParams(scriptName) {
|
|
336
349
|
const payload = {
|
|
337
350
|
product: 'accessibility',
|
|
338
|
-
scriptName:
|
|
351
|
+
scriptName: scriptName
|
|
339
352
|
};
|
|
340
353
|
const response = await GrpcClient.getInstance().fetchDriverExecuteParamsEvent(payload);
|
|
341
354
|
if (response.success) {
|
|
@@ -344,4 +357,25 @@ export default class AccessibilityModule extends BaseModule {
|
|
|
344
357
|
this.logger.error(`Failed to fetch driver execute params: ${response.error || 'Unknown error'}`);
|
|
345
358
|
return {};
|
|
346
359
|
}
|
|
360
|
+
/**
|
|
361
|
+
* Fetch central auth accessibility configuration for the given script name.
|
|
362
|
+
* Returns cached config if already fetched, otherwise loads and caches it.
|
|
363
|
+
*
|
|
364
|
+
* @param scriptName - Name of the script to fetch config for
|
|
365
|
+
* @returns Configuration object, empty object if error occurs
|
|
366
|
+
*/
|
|
367
|
+
async fetchCentralAuthA11yConfig(scriptName) {
|
|
368
|
+
try {
|
|
369
|
+
if (this.centralAuthConfigFetched) {
|
|
370
|
+
return this.centralAuthA11yConfig;
|
|
371
|
+
}
|
|
372
|
+
this.centralAuthA11yConfig = await this.getDriverExecuteParams(scriptName);
|
|
373
|
+
this.centralAuthConfigFetched = true;
|
|
374
|
+
return this.centralAuthA11yConfig;
|
|
375
|
+
}
|
|
376
|
+
catch (error) {
|
|
377
|
+
this.logger.error(`fetchCentralAuthA11yConfig: Failed to fetch driver execute params for ${scriptName}: ${util.format(error)}`);
|
|
378
|
+
return {};
|
|
379
|
+
}
|
|
380
|
+
}
|
|
347
381
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wdio/browserstack-service",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.48.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",
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
"publishConfig": {
|
|
63
63
|
"access": "public"
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "9a4aeb53bad8f86e8caa232f67a5b51fcde1fdf2"
|
|
66
66
|
}
|