@wdio/browserstack-service 8.33.1 → 9.0.0-alpha.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.
- package/build/Percy/Percy.js +1 -1
- package/build/Percy/PercyBinary.d.ts +2 -3
- package/build/Percy/PercyBinary.d.ts.map +1 -1
- package/build/Percy/PercyBinary.js +41 -48
- package/build/accessibility-handler.d.ts +5 -3
- package/build/accessibility-handler.d.ts.map +1 -1
- package/build/accessibility-handler.js +60 -34
- package/build/config.d.ts +1 -1
- package/build/config.d.ts.map +1 -1
- package/build/constants.d.ts.map +1 -1
- package/build/crash-reporter.d.ts.map +1 -1
- package/build/crash-reporter.js +15 -9
- package/build/data-store.d.ts +0 -1
- package/build/data-store.d.ts.map +1 -1
- package/build/data-store.js +1 -1
- package/build/exitHandler.d.ts.map +1 -1
- package/build/exitHandler.js +0 -3
- package/build/fetchWrapper.d.ts +6 -0
- package/build/fetchWrapper.d.ts.map +1 -0
- package/build/fetchWrapper.js +14 -0
- package/build/insights-handler.d.ts.map +1 -1
- package/build/insights-handler.js +0 -2
- package/build/instrumentation/funnelInstrumentation.d.ts.map +1 -1
- package/build/instrumentation/funnelInstrumentation.js +11 -10
- package/build/launcher.d.ts.map +1 -1
- package/build/launcher.js +15 -11
- package/build/reporter.d.ts.map +1 -1
- package/build/reporter.js +3 -0
- package/build/request-handler.d.ts +1 -1
- package/build/request-handler.d.ts.map +1 -1
- package/build/request-handler.js +1 -1
- package/build/scripts/accessibility-scripts.d.ts +26 -0
- package/build/scripts/accessibility-scripts.d.ts.map +1 -0
- package/build/scripts/accessibility-scripts.js +61 -0
- package/build/service.d.ts +1 -1
- package/build/service.d.ts.map +1 -1
- package/build/service.js +38 -26
- package/build/testOps/requestUtils.js +7 -7
- package/build/types.d.ts +0 -13
- package/build/types.d.ts.map +1 -1
- package/build/util.d.ts +5 -11
- package/build/util.d.ts.map +1 -1
- package/build/util.js +91 -56
- package/package.json +9 -9
- package/build/scripts/test-event-scripts.d.ts +0 -10
- package/build/scripts/test-event-scripts.d.ts.map +0 -1
- package/build/scripts/test-event-scripts.js +0 -65
package/build/launcher.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import got from 'got';
|
|
2
1
|
import { FormData } from 'formdata-node';
|
|
3
2
|
import { v4 as uuidv4 } from 'uuid';
|
|
4
3
|
import fs from 'node:fs';
|
|
@@ -11,14 +10,14 @@ import * as BrowserstackLocalLauncher from 'browserstack-local';
|
|
|
11
10
|
import PerformanceTester from './performance-tester.js';
|
|
12
11
|
import { startPercy, stopPercy, getBestPlatformForPercySnapshot } from './Percy/PercyHelper.js';
|
|
13
12
|
import { BSTACK_SERVICE_VERSION, NOT_ALLOWED_KEYS_IN_CAPS, PERF_MEASUREMENT_ENV, RERUN_ENV, RERUN_TESTS_ENV, TESTOPS_BUILD_ID_ENV, VALID_APP_EXTENSION } from './constants.js';
|
|
14
|
-
import { launchTestSession, createAccessibilityTestRun, shouldAddServiceVersion, stopBuildUpstream, getCiInfo, isBStackSession, isUndefined, isAccessibilityAutomationSession, stopAccessibilityTestRun, isTrue, getBrowserStackUser, getBrowserStackKey, uploadLogs, ObjectsAreEqual, } from './util.js';
|
|
13
|
+
import { launchTestSession, createAccessibilityTestRun, shouldAddServiceVersion, stopBuildUpstream, getCiInfo, isBStackSession, isUndefined, isAccessibilityAutomationSession, stopAccessibilityTestRun, isTrue, getBrowserStackUser, getBrowserStackKey, uploadLogs, ObjectsAreEqual, getBasicAuthHeader, } from './util.js';
|
|
15
14
|
import CrashReporter from './crash-reporter.js';
|
|
16
15
|
import { BStackLogger } from './bstackLogger.js';
|
|
17
16
|
import { PercyLogger } from './Percy/PercyLogger.js';
|
|
18
17
|
import { FileStream } from './fileStream.js';
|
|
19
|
-
import { sendStart, sendFinish } from './instrumentation/funnelInstrumentation.js';
|
|
20
18
|
import BrowserStackConfig from './config.js';
|
|
21
19
|
import { setupExitHandlers } from './exitHandler.js';
|
|
20
|
+
import { sendFinish, sendStart } from './instrumentation/funnelInstrumentation.js';
|
|
22
21
|
export default class BrowserstackLauncherService {
|
|
23
22
|
_options;
|
|
24
23
|
_config;
|
|
@@ -157,7 +156,7 @@ export default class BrowserstackLauncherService {
|
|
|
157
156
|
}
|
|
158
157
|
}
|
|
159
158
|
async onPrepare(config, capabilities) {
|
|
160
|
-
//
|
|
159
|
+
// Send Funnel start request
|
|
161
160
|
await sendStart(this.browserStackConfig);
|
|
162
161
|
/**
|
|
163
162
|
* Upload app to BrowserStack if valid file path to app is given.
|
|
@@ -325,12 +324,12 @@ export default class BrowserstackLauncherService {
|
|
|
325
324
|
catch (error) {
|
|
326
325
|
BStackLogger.debug(`Failed to upload BrowserStack WDIO Service logs ${error}`);
|
|
327
326
|
}
|
|
328
|
-
await sendFinish(this.browserStackConfig);
|
|
329
327
|
BStackLogger.clearLogger();
|
|
330
328
|
if (this._options.percy) {
|
|
331
329
|
await this.stopPercy();
|
|
332
330
|
}
|
|
333
331
|
PercyLogger.clearLogger();
|
|
332
|
+
await sendFinish(this.browserStackConfig);
|
|
334
333
|
if (!this.browserstackLocal || !this.browserstackLocal.isRunning()) {
|
|
335
334
|
return;
|
|
336
335
|
}
|
|
@@ -404,14 +403,19 @@ export default class BrowserstackLauncherService {
|
|
|
404
403
|
if (app.customId) {
|
|
405
404
|
form.append('custom_id', app.customId);
|
|
406
405
|
}
|
|
407
|
-
const
|
|
406
|
+
const headers = {
|
|
407
|
+
'Content-Type': 'multipart/form-data',
|
|
408
|
+
Authorization: getBasicAuthHeader(this._config.user, this._config.key),
|
|
409
|
+
};
|
|
410
|
+
const res = await fetch('https://api-cloud.browserstack.com/app-automate/upload', {
|
|
411
|
+
method: 'POST',
|
|
408
412
|
body: form,
|
|
409
|
-
|
|
410
|
-
password: this._config.key
|
|
411
|
-
}).json().catch((err) => {
|
|
412
|
-
throw new SevereServiceError(`app upload failed ${err.message}`);
|
|
413
|
+
headers
|
|
413
414
|
});
|
|
414
|
-
|
|
415
|
+
if (!res.ok) {
|
|
416
|
+
throw new SevereServiceError(`app upload failed ${res.body}`);
|
|
417
|
+
}
|
|
418
|
+
return await res.json();
|
|
415
419
|
}
|
|
416
420
|
/**
|
|
417
421
|
* @param {String | AppConfig} appConfig <string>: should be "app file path" or "app_url" or "custom_id" or "shareable_id".
|
package/build/reporter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACnF,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAKzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExD,OAAO,KAAK,EAAsB,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAaxE,cAAM,aAAc,SAAQ,YAAY;IACpC,OAAO,CAAC,aAAa,CAA+B;IACpD,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,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;IACzC,OAAO,CAAC,SAAS,CAAC,CAAoC;IACtD,OAAO,CAAC,QAAQ,CAAyB;IAEnC,aAAa,CAAE,WAAW,EAAE,WAAW;IAY7C,OAAO,CAAC,WAAW;IAInB,iBAAiB;IAQJ,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAW7C,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;IAY9B,WAAW,CAAC,SAAS,EAAE,SAAS;IAgBhC,WAAW,CAAC,SAAS,EAAE,SAAS;IAehC,SAAS,CAAC,SAAS,EAAE,SAAS;IAoBpC,iBAAiB,CAAC,SAAS,EAAE,SAAS;IAIhC,UAAU,CAAE,SAAS,EAAE,SAAS;IAWhC,UAAU,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACnF,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAKzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExD,OAAO,KAAK,EAAsB,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAaxE,cAAM,aAAc,SAAQ,YAAY;IACpC,OAAO,CAAC,aAAa,CAA+B;IACpD,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,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;IACzC,OAAO,CAAC,SAAS,CAAC,CAAoC;IACtD,OAAO,CAAC,QAAQ,CAAyB;IAEnC,aAAa,CAAE,WAAW,EAAE,WAAW;IAY7C,OAAO,CAAC,WAAW;IAInB,iBAAiB;IAQJ,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAW7C,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;IAY9B,WAAW,CAAC,SAAS,EAAE,SAAS;IAgBhC,WAAW,CAAC,SAAS,EAAE,SAAS;IAehC,SAAS,CAAC,SAAS,EAAE,SAAS;IAoBpC,iBAAiB,CAAC,SAAS,EAAE,SAAS;IAIhC,UAAU,CAAE,SAAS,EAAE,SAAS;IAWhC,UAAU,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM;CAuEvE;AAED,QAAA,MAAM,YAAY,EAAE,OAAO,aAAoD,CAAA;AAC/E,KAAK,YAAY,GAAG,aAAa,CAAA;AACjC,eAAe,YAAY,CAAA"}
|
package/build/reporter.js
CHANGED
|
@@ -237,6 +237,9 @@ class _TestReporter extends WDIOReporter {
|
|
|
237
237
|
}
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
|
+
if (eventType === 'TestRunSkipped') {
|
|
241
|
+
eventType = 'TestRunFinished';
|
|
242
|
+
}
|
|
240
243
|
if (eventType.match(/HookRun/)) {
|
|
241
244
|
testData.hook_type = testData.name?.toLowerCase() ? getHookType(testData.name.toLowerCase()) : 'undefined';
|
|
242
245
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { UploadType } from './types.js';
|
|
2
2
|
export default class RequestQueueHandler {
|
|
3
3
|
private queue;
|
|
4
|
+
private readonly callback;
|
|
4
5
|
private pollEventBatchInterval?;
|
|
5
|
-
private readonly callback?;
|
|
6
6
|
static tearDownInvoked: boolean;
|
|
7
7
|
static instance: RequestQueueHandler;
|
|
8
8
|
private constructor();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-handler.d.ts","sourceRoot":"","sources":["../src/request-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request-handler.d.ts","sourceRoot":"","sources":["../src/request-handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAG5C,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACpC,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,sBAAsB,CAAC,CAAgC;IAC/D,OAAc,eAAe,UAAQ;IAErC,MAAM,CAAC,QAAQ,EAAE,mBAAmB,CAAA;IAGpC,OAAO;WAKO,WAAW,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,mBAAmB;IAOnE,GAAG,CAAE,KAAK,EAAE,UAAU;IAehB,QAAQ;IAUd,sBAAsB;IAIhB,SAAS;IASf,YAAY,SAAgB,UAAU,EAAE,QAAQ,MAAM,mBAGrD;IAED,sBAAsB;IAKtB,uBAAuB,CAAE,GAAG,EAAE,MAAM;IAOpC,aAAa;CAOhB"}
|
package/build/request-handler.js
CHANGED
|
@@ -2,8 +2,8 @@ import { DATA_BATCH_SIZE, DATA_BATCH_INTERVAL, TESTOPS_BUILD_COMPLETED_ENV } fro
|
|
|
2
2
|
import { BStackLogger } from './bstackLogger.js';
|
|
3
3
|
export default class RequestQueueHandler {
|
|
4
4
|
queue = [];
|
|
5
|
-
pollEventBatchInterval;
|
|
6
5
|
callback;
|
|
6
|
+
pollEventBatchInterval;
|
|
7
7
|
static tearDownInvoked = false;
|
|
8
8
|
static instance;
|
|
9
9
|
// making it private to use singleton pattern
|
|
@@ -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.d.ts
CHANGED
|
@@ -55,7 +55,7 @@ export default class BrowserstackService implements Services.ServiceInstance {
|
|
|
55
55
|
_isAppAutomate(): boolean;
|
|
56
56
|
_updateJob(requestBody: any): Promise<any>;
|
|
57
57
|
_multiRemoteAction(action: MultiRemoteAction): Promise<any>;
|
|
58
|
-
_update(sessionId: string, requestBody: any): Promise<void> |
|
|
58
|
+
_update(sessionId: string, requestBody: any): Promise<void> | Promise<Response>;
|
|
59
59
|
_printSessionURL(): Promise<void>;
|
|
60
60
|
private _setSessionName;
|
|
61
61
|
private _setAnnotation;
|
package/build/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/build/service.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import got from 'got';
|
|
2
1
|
import PerformanceTester from './performance-tester.js';
|
|
3
2
|
import { getBrowserDescription, getBrowserCapabilities, isBrowserstackCapability, getParentSuiteName, isBrowserstackSession, patchConsoleLogs } from './util.js';
|
|
4
3
|
import InsightsHandler from './insights-handler.js';
|
|
@@ -105,6 +104,15 @@ export default class BrowserstackService {
|
|
|
105
104
|
this._insightsHandler = new InsightsHandler(this._browser, this._isAppAutomate(), this._config.framework, this._caps);
|
|
106
105
|
await this._insightsHandler.before();
|
|
107
106
|
}
|
|
107
|
+
if (isBrowserstackSession(this._browser)) {
|
|
108
|
+
try {
|
|
109
|
+
this._accessibilityHandler = new AccessibilityHandler(this._browser, this._caps, this._isAppAutomate(), this._config.framework, this._accessibility, this._options.accessibilityOptions);
|
|
110
|
+
await this._accessibilityHandler.before(sessionId);
|
|
111
|
+
}
|
|
112
|
+
catch (err) {
|
|
113
|
+
BStackLogger.error(`[Accessibility Test Run] Error in service class before function: ${err}`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
108
116
|
/**
|
|
109
117
|
* register command event
|
|
110
118
|
*/
|
|
@@ -131,15 +139,6 @@ export default class BrowserstackService {
|
|
|
131
139
|
}
|
|
132
140
|
}
|
|
133
141
|
}
|
|
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
142
|
return await this._printSessionURL();
|
|
144
143
|
}
|
|
145
144
|
/**
|
|
@@ -328,17 +327,22 @@ export default class BrowserstackService {
|
|
|
328
327
|
}
|
|
329
328
|
const sessionUrl = `${this._sessionBaseUrl}/${sessionId}.json`;
|
|
330
329
|
BStackLogger.debug(`Updating Browserstack session at ${sessionUrl} with request body: `, requestBody);
|
|
330
|
+
const encodedAuth = Buffer.from(`${this._config.user}:${this._config.key}`, 'utf8').toString('base64');
|
|
331
|
+
const headers = {
|
|
332
|
+
'Content-Type': 'application/json; charset=utf-8',
|
|
333
|
+
Authorization: `Basic ${encodedAuth}`,
|
|
334
|
+
};
|
|
331
335
|
if (this._turboScale) {
|
|
332
|
-
return
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
+
return fetch(sessionUrl, {
|
|
337
|
+
method: 'PATCH',
|
|
338
|
+
body: JSON.stringify(requestBody),
|
|
339
|
+
headers
|
|
336
340
|
});
|
|
337
341
|
}
|
|
338
|
-
return
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
+
return fetch(sessionUrl, {
|
|
343
|
+
method: 'PUT',
|
|
344
|
+
body: JSON.stringify(requestBody),
|
|
345
|
+
headers
|
|
342
346
|
});
|
|
343
347
|
}
|
|
344
348
|
async _printSessionURL() {
|
|
@@ -349,18 +353,26 @@ export default class BrowserstackService {
|
|
|
349
353
|
const sessionUrl = `${this._sessionBaseUrl}/${sessionId}.json`;
|
|
350
354
|
BStackLogger.debug(`Requesting Browserstack session URL at ${sessionUrl}`);
|
|
351
355
|
let browserUrl;
|
|
352
|
-
const
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
+
const encodedAuth = Buffer.from(`${this._config.user}:${this._config.key}`, 'utf8').toString('base64');
|
|
357
|
+
const headers = {
|
|
358
|
+
'Content-Type': 'application/json; charset=utf-8',
|
|
359
|
+
Authorization: `Basic ${encodedAuth}`,
|
|
356
360
|
};
|
|
357
361
|
if (this._turboScale) {
|
|
358
|
-
const response = await
|
|
359
|
-
|
|
362
|
+
const response = await fetch(sessionUrl, {
|
|
363
|
+
method: 'GET',
|
|
364
|
+
headers
|
|
365
|
+
});
|
|
366
|
+
const res = response.clone();
|
|
367
|
+
browserUrl = (await res.json()).url;
|
|
360
368
|
}
|
|
361
369
|
else {
|
|
362
|
-
const response = await
|
|
363
|
-
|
|
370
|
+
const response = await fetch(sessionUrl, {
|
|
371
|
+
method: 'GET',
|
|
372
|
+
headers
|
|
373
|
+
});
|
|
374
|
+
const res = response.clone();
|
|
375
|
+
browserUrl = (await res.json()).automation_session.browser_url;
|
|
364
376
|
}
|
|
365
377
|
if (!this._browser) {
|
|
366
378
|
return;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DATA_ENDPOINT, DATA_EVENT_ENDPOINT, DATA_SCREENSHOT_ENDPOINT, TESTOPS_BUILD_COMPLETED_ENV, TESTOPS_JWT_ENV } from '../constants.js';
|
|
2
2
|
import { BStackLogger } from '../bstackLogger.js';
|
|
3
3
|
import { DEFAULT_REQUEST_CONFIG, getLogTag } from '../util.js';
|
|
4
|
-
import
|
|
4
|
+
import fetchWrap from '../fetchWrapper.js';
|
|
5
5
|
export async function uploadEventData(eventData, eventUrl = DATA_EVENT_ENDPOINT) {
|
|
6
6
|
let logTag = 'BATCH_UPLOAD';
|
|
7
7
|
if (!Array.isArray(eventData)) {
|
|
@@ -19,19 +19,19 @@ export async function uploadEventData(eventData, eventUrl = DATA_EVENT_ENDPOINT)
|
|
|
19
19
|
}
|
|
20
20
|
try {
|
|
21
21
|
const url = `${DATA_ENDPOINT}/${eventUrl}`;
|
|
22
|
-
const data = await
|
|
23
|
-
|
|
22
|
+
const data = await fetchWrap(url, {
|
|
23
|
+
method: 'POST',
|
|
24
24
|
headers: {
|
|
25
25
|
...DEFAULT_REQUEST_CONFIG.headers,
|
|
26
26
|
'Authorization': `Bearer ${process.env[TESTOPS_JWT_ENV]}`
|
|
27
27
|
},
|
|
28
|
-
|
|
29
|
-
})
|
|
30
|
-
BStackLogger.debug(`[${logTag}] Success response: ${JSON.stringify(data)}`);
|
|
28
|
+
body: JSON.stringify(eventData)
|
|
29
|
+
});
|
|
30
|
+
BStackLogger.debug(`[${logTag}] Success response: ${JSON.stringify(await data.json())}`);
|
|
31
31
|
}
|
|
32
32
|
catch (error) {
|
|
33
33
|
BStackLogger.debug(`[${logTag}] Failed. Error: ${error}`);
|
|
34
|
-
throw
|
|
34
|
+
throw error;
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
export function sendScreenshots(eventData) {
|
package/build/types.d.ts
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
import type { Capabilities, Options, Frameworks } from '@wdio/types';
|
|
2
2
|
import type { Options as BSOptions } from 'browserstack-local';
|
|
3
|
-
export interface SessionResponse {
|
|
4
|
-
automation_session: {
|
|
5
|
-
browser_url: string;
|
|
6
|
-
};
|
|
7
|
-
}
|
|
8
|
-
export interface TurboScaleSessionResponse {
|
|
9
|
-
url: string;
|
|
10
|
-
}
|
|
11
3
|
export type MultiRemoteAction = (sessionId: string, browserName?: string) => Promise<any>;
|
|
12
4
|
export type AppConfig = {
|
|
13
5
|
id?: string;
|
|
@@ -298,11 +290,6 @@ export interface FeatureStatsOverview {
|
|
|
298
290
|
sentCount: number;
|
|
299
291
|
failedCount: number;
|
|
300
292
|
}
|
|
301
|
-
export interface FeaturesUsageData {
|
|
302
|
-
isTriggered?: boolean;
|
|
303
|
-
status?: string;
|
|
304
|
-
error?: string;
|
|
305
|
-
}
|
|
306
293
|
export interface CBTData {
|
|
307
294
|
uuid: string;
|
|
308
295
|
integrations: IntegrationObject;
|
package/build/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9D,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/build/util.d.ts
CHANGED
|
@@ -1,18 +1,9 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
-
import http from 'node:http';
|
|
4
|
-
import https from 'node:https';
|
|
5
1
|
import type { Capabilities, Frameworks, Options } from '@wdio/types';
|
|
6
2
|
import type { BeforeCommandArgs, AfterCommandArgs } from '@wdio/reporter';
|
|
7
|
-
import type { Method } from 'got';
|
|
8
3
|
import type { ColorName } from 'chalk';
|
|
9
4
|
import type { UploadType, BrowserstackConfig } from './types.js';
|
|
10
5
|
import type { ITestCaseHookParameter } from './cucumber-types.js';
|
|
11
6
|
export declare const DEFAULT_REQUEST_CONFIG: {
|
|
12
|
-
agent: {
|
|
13
|
-
http: http.Agent;
|
|
14
|
-
https: https.Agent;
|
|
15
|
-
};
|
|
16
7
|
headers: {
|
|
17
8
|
'Content-Type': string;
|
|
18
9
|
'X-BSTACK-OBS': string;
|
|
@@ -39,7 +30,7 @@ export declare function isBrowserstackCapability(cap?: WebdriverIO.Capabilities)
|
|
|
39
30
|
export declare function getParentSuiteName(fullTitle: string, testSuiteTitle: string): string;
|
|
40
31
|
export declare function o11yErrorHandler(fn: Function): (...args: any) => any;
|
|
41
32
|
export declare function errorHandler(fn: Function): (...args: any) => any;
|
|
42
|
-
export declare function nodeRequest(requestType:
|
|
33
|
+
export declare function nodeRequest(requestType: string, apiEndpoint: string, options: any, apiUrl: string, timeout?: number): Promise<any>;
|
|
43
34
|
type ClassType = {
|
|
44
35
|
new (...args: any[]): any;
|
|
45
36
|
};
|
|
@@ -55,6 +46,9 @@ export declare const shouldScanTestForAccessibility: (suiteTitle: string | undef
|
|
|
55
46
|
} | undefined, isCucumber?: boolean) => boolean;
|
|
56
47
|
export declare const isAccessibilityAutomationSession: (accessibilityFlag?: boolean | string) => boolean | "" | undefined;
|
|
57
48
|
export declare const createAccessibilityTestRun: (...args: any) => any;
|
|
49
|
+
export declare const performA11yScan: (browser: WebdriverIO.Browser | WebdriverIO.MultiRemoteBrowser, isBrowserStackSession?: boolean, isAccessibility?: boolean | string, commandName?: string) => Promise<{
|
|
50
|
+
[key: string]: any;
|
|
51
|
+
} | undefined>;
|
|
58
52
|
export declare const getA11yResults: (browser: WebdriverIO.Browser, isBrowserStackSession?: boolean, isAccessibility?: boolean | string) => Promise<{
|
|
59
53
|
[key: string]: any;
|
|
60
54
|
}[]>;
|
|
@@ -137,7 +131,6 @@ export declare function getBrowserStackUser(config: Options.Testrunner): string
|
|
|
137
131
|
export declare function getBrowserStackKey(config: Options.Testrunner): string | undefined;
|
|
138
132
|
export declare function isUndefined(value: any): boolean;
|
|
139
133
|
export declare function isTrue(value?: any): boolean;
|
|
140
|
-
export declare function isFalse(value?: any): boolean;
|
|
141
134
|
export declare function frameworkSupportsHook(hook: string, framework?: string): boolean;
|
|
142
135
|
export declare function patchConsoleLogs(): void;
|
|
143
136
|
export declare function getFailureObject(error: string | Error): {
|
|
@@ -152,6 +145,7 @@ export declare function uploadLogs(user: string | undefined, key: string | undef
|
|
|
152
145
|
export declare const isObject: (object: any) => boolean;
|
|
153
146
|
export declare const ObjectsAreEqual: (object1: any, object2: any) => boolean;
|
|
154
147
|
export declare const getPlatformVersion: (...args: any) => any;
|
|
148
|
+
export declare const getBasicAuthHeader: (username: string, password: string) => string;
|
|
155
149
|
export declare const isObjectEmpty: (objectName: unknown) => unknown;
|
|
156
150
|
export declare const getErrorString: (err: unknown) => string | undefined;
|
|
157
151
|
export {};
|
package/build/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|