@wdio/browserstack-service 7.31.1 → 7.32.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/crash-reporter.d.ts +14 -0
- package/build/crash-reporter.d.ts.map +1 -0
- package/build/crash-reporter.js +117 -0
- package/build/insights-handler.d.ts +4 -1
- package/build/insights-handler.d.ts.map +1 -1
- package/build/insights-handler.js +77 -30
- package/build/launcher.d.ts.map +1 -1
- package/build/launcher.js +20 -0
- package/build/performance-tester.d.ts +15 -0
- package/build/performance-tester.d.ts.map +1 -0
- package/build/performance-tester.js +98 -0
- package/build/reporter.d.ts +21 -3
- package/build/reporter.d.ts.map +1 -1
- package/build/reporter.js +173 -34
- package/build/service.d.ts.map +1 -1
- package/build/service.js +36 -17
- package/build/types.d.ts +14 -0
- package/build/types.d.ts.map +1 -1
- package/build/util.d.ts +25 -7
- package/build/util.d.ts.map +1 -1
- package/build/util.js +108 -22
- package/package.json +4 -3
package/build/reporter.js
CHANGED
|
@@ -4,52 +4,159 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const node_path_1 = __importDefault(require("node:path"));
|
|
7
|
+
const node_url_1 = __importDefault(require("node:url"));
|
|
7
8
|
const reporter_1 = __importDefault(require("@wdio/reporter"));
|
|
8
9
|
const uuid_1 = require("uuid");
|
|
10
|
+
const logger_1 = __importDefault(require("@wdio/logger"));
|
|
9
11
|
const util_1 = require("./util");
|
|
10
12
|
const request_handler_1 = __importDefault(require("./request-handler"));
|
|
11
|
-
|
|
13
|
+
const log = (0, logger_1.default)('@wdio/browserstack-service');
|
|
14
|
+
class _TestReporter extends reporter_1.default {
|
|
12
15
|
constructor() {
|
|
13
16
|
super(...arguments);
|
|
14
17
|
this._capabilities = {};
|
|
15
18
|
this._observability = true;
|
|
16
19
|
this._requestQueueHandler = request_handler_1.default.getInstance();
|
|
20
|
+
this._suites = [];
|
|
21
|
+
this._gitConfigured = false;
|
|
17
22
|
}
|
|
18
|
-
onRunnerStart(runnerStats) {
|
|
23
|
+
async onRunnerStart(runnerStats) {
|
|
19
24
|
this._capabilities = runnerStats.capabilities;
|
|
20
25
|
this._config = runnerStats.config;
|
|
21
26
|
this._sessionId = runnerStats.sessionId;
|
|
22
27
|
if (typeof this._config.testObservability !== 'undefined')
|
|
23
28
|
this._observability = this._config.testObservability;
|
|
29
|
+
await this.configureGit();
|
|
30
|
+
}
|
|
31
|
+
async configureGit() {
|
|
32
|
+
if (this._gitConfigured) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const gitMeta = await (0, util_1.getGitMetaData)();
|
|
36
|
+
if (gitMeta) {
|
|
37
|
+
this._gitConfigPath = gitMeta.root;
|
|
38
|
+
}
|
|
39
|
+
this._gitConfigured = true;
|
|
40
|
+
}
|
|
41
|
+
static getTests() {
|
|
42
|
+
return _TestReporter._tests;
|
|
24
43
|
}
|
|
25
44
|
onSuiteStart(suiteStats) {
|
|
26
|
-
|
|
45
|
+
var _a;
|
|
46
|
+
let filename = suiteStats.file;
|
|
47
|
+
if (((_a = this._config) === null || _a === void 0 ? void 0 : _a.framework) == 'jasmine') {
|
|
48
|
+
try {
|
|
49
|
+
if (suiteStats.file.startsWith('file://')) {
|
|
50
|
+
filename = node_url_1.default.fileURLToPath(suiteStats.file);
|
|
51
|
+
}
|
|
52
|
+
if (filename === 'unknown spec file') {
|
|
53
|
+
// Sometimes in cases where a file has two suites. Then the file name be unknown for second suite, so getting the filename from first suite
|
|
54
|
+
filename = this._suiteName || suiteStats.file;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (e) {
|
|
58
|
+
log.debug('Error in decoding file name of suite');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
this._suiteName = filename;
|
|
62
|
+
this._suites.push(suiteStats);
|
|
27
63
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
64
|
+
onSuiteEnd() {
|
|
65
|
+
this._suites.pop();
|
|
66
|
+
}
|
|
67
|
+
needToSendData(testType, event) {
|
|
68
|
+
var _a;
|
|
69
|
+
if (!this._observability)
|
|
70
|
+
return false;
|
|
71
|
+
switch ((_a = this._config) === null || _a === void 0 ? void 0 : _a.framework) {
|
|
72
|
+
case 'mocha':
|
|
73
|
+
return event === 'skip';
|
|
74
|
+
case 'cucumber':
|
|
75
|
+
return false;
|
|
76
|
+
case 'jasmine':
|
|
77
|
+
return event !== 'skip';
|
|
78
|
+
default:
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
async onTestEnd(testStats) {
|
|
83
|
+
if (!this.needToSendData('test', 'end'))
|
|
84
|
+
return;
|
|
85
|
+
if (testStats.fullTitle === '<unknown test>')
|
|
86
|
+
return;
|
|
87
|
+
testStats.end || (testStats.end = new Date());
|
|
88
|
+
await this.sendTestRunEvent(testStats, 'TestRunFinished');
|
|
89
|
+
}
|
|
90
|
+
async onTestStart(testStats) {
|
|
91
|
+
if (!this.needToSendData('test', 'start'))
|
|
92
|
+
return;
|
|
93
|
+
if (testStats.fullTitle === '<unknown test>')
|
|
94
|
+
return;
|
|
95
|
+
_TestReporter._tests[testStats.fullTitle] = {
|
|
96
|
+
uuid: (0, uuid_1.v4)(),
|
|
97
|
+
};
|
|
98
|
+
await this.sendTestRunEvent(testStats, 'TestRunStarted');
|
|
99
|
+
}
|
|
100
|
+
async onHookStart(hookStats) {
|
|
101
|
+
if (!this.needToSendData('hook', 'start')) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const identifier = this.getHookIdentifier(hookStats);
|
|
105
|
+
const hookId = (0, uuid_1.v4)();
|
|
106
|
+
_TestReporter._tests[identifier] = {
|
|
107
|
+
uuid: hookId,
|
|
108
|
+
startedAt: (new Date()).toISOString()
|
|
109
|
+
};
|
|
110
|
+
await this.sendTestRunEvent(hookStats, 'HookRunStarted');
|
|
111
|
+
}
|
|
112
|
+
async onHookEnd(hookStats) {
|
|
113
|
+
const identifier = this.getHookIdentifier(hookStats);
|
|
114
|
+
if (_TestReporter._tests[identifier]) {
|
|
115
|
+
_TestReporter._tests[identifier].finishedAt = (new Date()).toISOString();
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
_TestReporter._tests[identifier] = {
|
|
119
|
+
finishedAt: (new Date()).toISOString()
|
|
52
120
|
};
|
|
121
|
+
}
|
|
122
|
+
await this.sendTestRunEvent(hookStats, 'HookRunFinished');
|
|
123
|
+
}
|
|
124
|
+
getHookIdentifier(hookStats) {
|
|
125
|
+
var _a;
|
|
126
|
+
return `${hookStats.title} for ${(_a = this._suites.at(-1)) === null || _a === void 0 ? void 0 : _a.title}`;
|
|
127
|
+
}
|
|
128
|
+
async sendTestRunEvent(testStats, eventType) {
|
|
129
|
+
var _a, _b, _c, _d, _e, _f;
|
|
130
|
+
const framework = (_a = this._config) === null || _a === void 0 ? void 0 : _a.framework;
|
|
131
|
+
const scopes = this._suites.map(s => s.title);
|
|
132
|
+
const identifier = testStats.type === 'test' ? testStats.fullTitle : this.getHookIdentifier(testStats);
|
|
133
|
+
const testMetaData = _TestReporter._tests[identifier];
|
|
134
|
+
const scope = testStats.type === 'test' ? testStats.fullTitle : `${this._suites[0].title} - ${testStats.title}`;
|
|
135
|
+
await this.configureGit();
|
|
136
|
+
let testData = {
|
|
137
|
+
uuid: testMetaData ? testMetaData.uuid : (0, uuid_1.v4)(),
|
|
138
|
+
type: testStats.type,
|
|
139
|
+
name: testStats.title,
|
|
140
|
+
body: {
|
|
141
|
+
lang: 'webdriverio',
|
|
142
|
+
code: null
|
|
143
|
+
},
|
|
144
|
+
scope: scope,
|
|
145
|
+
scopes: scopes,
|
|
146
|
+
identifier: identifier,
|
|
147
|
+
file_name: this._suiteName ? node_path_1.default.relative(process.cwd(), this._suiteName) : undefined,
|
|
148
|
+
location: this._suiteName ? node_path_1.default.relative(process.cwd(), this._suiteName) : undefined,
|
|
149
|
+
vc_filepath: (this._gitConfigPath && this._suiteName) ? node_path_1.default.relative(this._gitConfigPath, this._suiteName) : undefined,
|
|
150
|
+
started_at: testStats.start && testStats.start.toISOString(),
|
|
151
|
+
finished_at: testStats.end && testStats.end.toISOString(),
|
|
152
|
+
framework: framework,
|
|
153
|
+
duration_in_ms: testStats._duration,
|
|
154
|
+
result: testStats.state,
|
|
155
|
+
};
|
|
156
|
+
if (testStats.type === 'test') {
|
|
157
|
+
testData.retries = { limit: testStats.retries || 0, attempts: testStats.retries || 0 };
|
|
158
|
+
}
|
|
159
|
+
if (eventType.startsWith('TestRun')) {
|
|
53
160
|
/* istanbul ignore next */
|
|
54
161
|
const cloudProvider = (0, util_1.getCloudProvider)({ options: { hostname: (_b = this._config) === null || _b === void 0 ? void 0 : _b.hostname } });
|
|
55
162
|
testData.integrations = {};
|
|
@@ -61,15 +168,47 @@ class TestReporter extends reporter_1.default {
|
|
|
61
168
|
browser_version: (_d = this._capabilities) === null || _d === void 0 ? void 0 : _d.browserVersion,
|
|
62
169
|
platform: (_e = this._capabilities) === null || _e === void 0 ? void 0 : _e.platformName,
|
|
63
170
|
};
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
171
|
+
}
|
|
172
|
+
if (eventType == 'TestRunFinished' || eventType == 'HookRunFinished') {
|
|
173
|
+
const { error } = testStats;
|
|
174
|
+
const failed = testStats.state == 'failed';
|
|
175
|
+
if (failed) {
|
|
176
|
+
testData.result = (error && error.message && error.message.includes('sync skip; aborting execution')) ? 'ignore' : 'failed';
|
|
177
|
+
if (error && testData.result != 'skipped') {
|
|
178
|
+
testData.failure = [{ backtrace: [(0, util_1.removeAnsiColors)(error.message)] }]; // add all errors here
|
|
179
|
+
testData.failure_reason = (0, util_1.removeAnsiColors)(error.message);
|
|
180
|
+
testData.failure_type = error.message == null ? null : error.message.toString().match(/AssertionError/) ? 'AssertionError' : 'UnhandledError'; //verify if this is working
|
|
181
|
+
}
|
|
71
182
|
}
|
|
72
183
|
}
|
|
184
|
+
if (eventType == 'TestRunSkipped') {
|
|
185
|
+
eventType = 'TestRunFinished';
|
|
186
|
+
}
|
|
187
|
+
const uploadData = {
|
|
188
|
+
event_type: eventType,
|
|
189
|
+
};
|
|
190
|
+
if (eventType.match(/HookRun/)) {
|
|
191
|
+
testData.hook_type = ((_f = testData.name) === null || _f === void 0 ? void 0 : _f.toLowerCase()) ? (0, util_1.getHookType)(testData.name.toLowerCase()) : 'undefined';
|
|
192
|
+
uploadData.hook_run = testData;
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
uploadData.test_run = testData;
|
|
196
|
+
}
|
|
197
|
+
const req = this._requestQueueHandler.add(uploadData);
|
|
198
|
+
if (req.proceed && req.data) {
|
|
199
|
+
await (0, util_1.uploadEventData)(req.data, req.url);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
async onTestSkip(testStats) {
|
|
203
|
+
// cucumber steps call this method. We don't want step skipped state so skip for cucumber
|
|
204
|
+
if (!this.needToSendData('test', 'skip'))
|
|
205
|
+
return;
|
|
206
|
+
testStats.start || (testStats.start = new Date());
|
|
207
|
+
testStats.end || (testStats.end = new Date());
|
|
208
|
+
await this.sendTestRunEvent(testStats, 'TestRunSkipped');
|
|
73
209
|
}
|
|
74
210
|
}
|
|
211
|
+
_TestReporter._tests = {};
|
|
212
|
+
// https://github.com/microsoft/TypeScript/issues/6543
|
|
213
|
+
const TestReporter = (0, util_1.o11yClassErrorHandler)(_TestReporter);
|
|
75
214
|
exports.default = TestReporter;
|
package/build/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
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,MAAM,kBAAkB,CAAA;AAe/E,MAAM,CAAC,OAAO,OAAO,mBAAoB,YAAW,QAAQ,CAAC,eAAe;IAgBpE,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IAhBnB,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;gBAGtC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EACxC,KAAK,EAAE,YAAY,CAAC,gBAAgB,EACpC,OAAO,EAAE,OAAO,CAAC,UAAU;IAsBvC,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;IA0C1H;;;;;;OAMG;IACG,WAAW,CAAE,KAAK,EAAE,UAAU,CAAC,KAAK;IAOpC,UAAU,CAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG;IAK/C,SAAS,CAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU;IAIjF,UAAU,CAAE,IAAI,EAAE,UAAU,CAAC,IAAI;IAmBjC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,UAAU;IAU/E,KAAK,CAAE,MAAM,EAAE,MAAM;IA+B3B;;OAEG;IAEG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAMjD;;;OAGG;IACG,cAAc,CAAE,KAAK,EAAE,sBAAsB;IAO7C,aAAa,CAAE,KAAK,EAAE,sBAAsB;IAsB5C,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
|
@@ -4,11 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const logger_1 = __importDefault(require("@wdio/logger"));
|
|
7
|
+
const crash_reporter_1 = __importDefault(require("./crash-reporter"));
|
|
7
8
|
const constants_1 = require("./constants");
|
|
8
9
|
const got_1 = __importDefault(require("got"));
|
|
9
10
|
const insights_handler_1 = __importDefault(require("./insights-handler"));
|
|
10
11
|
const util_1 = require("./util");
|
|
11
12
|
const reporter_1 = __importDefault(require("./reporter"));
|
|
13
|
+
const performance_tester_1 = __importDefault(require("./performance-tester"));
|
|
12
14
|
const log = (0, logger_1.default)('@wdio/browserstack-service');
|
|
13
15
|
class BrowserstackService {
|
|
14
16
|
constructor(options, _caps, _config) {
|
|
@@ -26,6 +28,9 @@ class BrowserstackService {
|
|
|
26
28
|
this._observability = this._options.testObservability;
|
|
27
29
|
if (this._observability) {
|
|
28
30
|
(_a = this._config.reporters) === null || _a === void 0 ? void 0 : _a.push(reporter_1.default);
|
|
31
|
+
if (process.env.BROWSERSTACK_O11Y_PERF_MEASUREMENT) {
|
|
32
|
+
performance_tester_1.default.startMonitoring('performance-report-service.csv');
|
|
33
|
+
}
|
|
29
34
|
}
|
|
30
35
|
// Cucumber specific
|
|
31
36
|
const strict = Boolean(this._config.cucumberOpts && this._config.cucumberOpts.strict);
|
|
@@ -64,22 +69,28 @@ class BrowserstackService {
|
|
|
64
69
|
}
|
|
65
70
|
this._scenariosThatRan = [];
|
|
66
71
|
if (this._observability && this._browser) {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
72
|
+
try {
|
|
73
|
+
this._insightsHandler = new insights_handler_1.default(this._browser, this._browser.capabilities, this._isAppAutomate(), this._browser.sessionId, this._config.framework);
|
|
74
|
+
await this._insightsHandler.before();
|
|
75
|
+
/**
|
|
76
|
+
* register command event
|
|
77
|
+
*/
|
|
78
|
+
this._browser.on('command', async (command) => {
|
|
79
|
+
var _a, _b;
|
|
80
|
+
return await ((_a = this._insightsHandler) === null || _a === void 0 ? void 0 : _a.browserCommand('client:beforeCommand', Object.assign(command, { sessionId: (_b = this._browser) === null || _b === void 0 ? void 0 : _b.sessionId }), this._currentTest));
|
|
81
|
+
});
|
|
82
|
+
/**
|
|
83
|
+
* register result event
|
|
84
|
+
*/
|
|
85
|
+
this._browser.on('result', async (result) => {
|
|
86
|
+
var _a, _b;
|
|
87
|
+
return await ((_a = this._insightsHandler) === null || _a === void 0 ? void 0 : _a.browserCommand('client:afterCommand', Object.assign(result, { sessionId: (_b = this._browser) === null || _b === void 0 ? void 0 : _b.sessionId }), this._currentTest));
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
log.error(`Error in service class before function: ${err}`);
|
|
92
|
+
crash_reporter_1.default.uploadCrashReport(`Error in service class before function: ${err}`, err && err.stack);
|
|
93
|
+
}
|
|
83
94
|
}
|
|
84
95
|
return await this._printSessionURL();
|
|
85
96
|
}
|
|
@@ -152,6 +163,15 @@ class BrowserstackService {
|
|
|
152
163
|
}
|
|
153
164
|
await ((_a = this._insightsHandler) === null || _a === void 0 ? void 0 : _a.uploadPending());
|
|
154
165
|
await ((_b = this._insightsHandler) === null || _b === void 0 ? void 0 : _b.teardown());
|
|
166
|
+
if (process.env.BROWSERSTACK_O11Y_PERF_MEASUREMENT) {
|
|
167
|
+
await performance_tester_1.default.stopAndGenerate('performance-service.html');
|
|
168
|
+
performance_tester_1.default.calculateTimes([
|
|
169
|
+
'onRunnerStart', 'onSuiteStart', 'onSuiteEnd',
|
|
170
|
+
'onTestStart', 'onTestEnd', 'onTestSkip', 'before',
|
|
171
|
+
'beforeHook', 'afterHook', 'beforeTest', 'afterTest',
|
|
172
|
+
'uploadPending', 'teardown', 'browserCommand'
|
|
173
|
+
]);
|
|
174
|
+
}
|
|
155
175
|
}
|
|
156
176
|
/**
|
|
157
177
|
* For CucumberJS
|
|
@@ -219,7 +239,6 @@ class BrowserstackService {
|
|
|
219
239
|
});
|
|
220
240
|
}
|
|
221
241
|
this._scenariosThatRan = [];
|
|
222
|
-
delete this._suiteTitle;
|
|
223
242
|
delete this._fullTitle;
|
|
224
243
|
this._failReasons = [];
|
|
225
244
|
await this._printSessionURL();
|
package/build/types.d.ts
CHANGED
|
@@ -185,6 +185,20 @@ export interface LaunchResponse {
|
|
|
185
185
|
build_hashed_id: string;
|
|
186
186
|
allow_screenshots?: boolean;
|
|
187
187
|
}
|
|
188
|
+
export interface UserConfigforReporting {
|
|
189
|
+
framework?: string;
|
|
190
|
+
services?: any[];
|
|
191
|
+
capabilities?: Capabilities.RemoteCapability;
|
|
192
|
+
env?: {
|
|
193
|
+
'BROWSERSTACK_BUILD': string | undefined;
|
|
194
|
+
'BROWSERSTACK_BUILD_NAME': string | undefined;
|
|
195
|
+
'BUILD_TAG': string | undefined;
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
export interface CredentialsForCrashReportUpload {
|
|
199
|
+
username?: string;
|
|
200
|
+
password?: string;
|
|
201
|
+
}
|
|
188
202
|
interface IntegrationObject {
|
|
189
203
|
capabilities?: Capabilities.Capabilities;
|
|
190
204
|
session_id?: string;
|
package/build/types.d.ts.map
CHANGED
|
@@ -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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"}
|
package/build/util.d.ts
CHANGED
|
@@ -1,8 +1,22 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import http from 'http';
|
|
4
|
+
import https from 'https';
|
|
1
5
|
import type { Browser, MultiRemoteBrowser } from 'webdriverio';
|
|
2
6
|
import type { Capabilities, Frameworks, Options } from '@wdio/types';
|
|
3
7
|
import { BeforeCommandArgs, AfterCommandArgs } from '@wdio/reporter';
|
|
4
8
|
import type { ITestCaseHookParameter } from './cucumber-types';
|
|
5
|
-
import {
|
|
9
|
+
import { UploadType, BrowserstackConfig } from './types';
|
|
10
|
+
export declare const DEFAULT_REQUEST_CONFIG: {
|
|
11
|
+
agent: {
|
|
12
|
+
http: http.Agent;
|
|
13
|
+
https: https.Agent;
|
|
14
|
+
};
|
|
15
|
+
headers: {
|
|
16
|
+
'Content-Type': string;
|
|
17
|
+
'X-BSTACK-OBS': string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
6
20
|
/**
|
|
7
21
|
* get browser description for Browserstack service
|
|
8
22
|
* @param cap browser capablities
|
|
@@ -21,11 +35,13 @@ export declare function getBrowserCapabilities(browser: Browser<'async'> | Multi
|
|
|
21
35
|
*/
|
|
22
36
|
export declare function isBrowserstackCapability(cap?: Capabilities.Capabilities): boolean;
|
|
23
37
|
export declare function getParentSuiteName(fullTitle: string, testSuiteTitle: string): string;
|
|
24
|
-
export declare function
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
38
|
+
export declare function o11yErrorHandler(fn: Function): (...args: any) => any;
|
|
39
|
+
type ClassType = {
|
|
40
|
+
new (...args: any[]): any;
|
|
41
|
+
};
|
|
42
|
+
export declare function o11yClassErrorHandler<T extends ClassType>(errorClass: T): T;
|
|
43
|
+
export declare const launchTestSession: (...args: any) => any;
|
|
44
|
+
export declare const stopBuildUpstream: (...args: any) => any;
|
|
29
45
|
export declare function getCiInfo(): {
|
|
30
46
|
name: string;
|
|
31
47
|
build_url: string | undefined;
|
|
@@ -80,7 +96,7 @@ export declare function getGitMetaData(): Promise<{
|
|
|
80
96
|
url: any;
|
|
81
97
|
}[];
|
|
82
98
|
}>;
|
|
83
|
-
export declare function getUniqueIdentifier(test: Frameworks.Test): string;
|
|
99
|
+
export declare function getUniqueIdentifier(test: Frameworks.Test, framework?: string): string;
|
|
84
100
|
export declare function getUniqueIdentifierForCucumber(world: ITestCaseHookParameter): string;
|
|
85
101
|
export declare function getCloudProvider(browser: Browser<'async'> | MultiRemoteBrowser<'async'>): string;
|
|
86
102
|
export declare function isBrowserstackSession(browser?: Browser<'async'> | MultiRemoteBrowser<'async'>): boolean;
|
|
@@ -102,5 +118,7 @@ export declare function getObservabilityKey(options: BrowserstackConfig & Option
|
|
|
102
118
|
export declare function getObservabilityProject(options: BrowserstackConfig & Options.Testrunner, bstackProjectName?: string): string | undefined;
|
|
103
119
|
export declare function getObservabilityBuild(options: BrowserstackConfig & Options.Testrunner, bstackBuildName?: string): string;
|
|
104
120
|
export declare function getObservabilityBuildTags(options: BrowserstackConfig & Options.Testrunner, bstackBuildTag?: string): string[];
|
|
121
|
+
export declare function frameworkSupportsHook(hook: string, framework?: string): boolean;
|
|
105
122
|
export declare const sleep: (ms?: number) => Promise<unknown>;
|
|
123
|
+
export {};
|
|
106
124
|
//# sourceMappingURL=util.d.ts.map
|
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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"}
|