@wdio/browserstack-service 7.30.3 → 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 +81 -34
- package/build/launcher.d.ts.map +1 -1
- package/build/launcher.js +36 -12
- 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 +174 -34
- package/build/service.d.ts.map +1 -1
- package/build/service.js +39 -19
- package/build/types.d.ts +14 -0
- package/build/types.d.ts.map +1 -1
- package/build/util.d.ts +26 -7
- package/build/util.d.ts.map +1 -1
- package/build/util.js +115 -22
- package/package.json +4 -3
package/build/reporter.js
CHANGED
|
@@ -3,52 +3,160 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
7
|
+
const node_url_1 = __importDefault(require("node:url"));
|
|
6
8
|
const reporter_1 = __importDefault(require("@wdio/reporter"));
|
|
7
9
|
const uuid_1 = require("uuid");
|
|
10
|
+
const logger_1 = __importDefault(require("@wdio/logger"));
|
|
8
11
|
const util_1 = require("./util");
|
|
9
12
|
const request_handler_1 = __importDefault(require("./request-handler"));
|
|
10
|
-
|
|
13
|
+
const log = (0, logger_1.default)('@wdio/browserstack-service');
|
|
14
|
+
class _TestReporter extends reporter_1.default {
|
|
11
15
|
constructor() {
|
|
12
16
|
super(...arguments);
|
|
13
17
|
this._capabilities = {};
|
|
14
18
|
this._observability = true;
|
|
15
19
|
this._requestQueueHandler = request_handler_1.default.getInstance();
|
|
20
|
+
this._suites = [];
|
|
21
|
+
this._gitConfigured = false;
|
|
16
22
|
}
|
|
17
|
-
onRunnerStart(runnerStats) {
|
|
23
|
+
async onRunnerStart(runnerStats) {
|
|
18
24
|
this._capabilities = runnerStats.capabilities;
|
|
19
25
|
this._config = runnerStats.config;
|
|
20
26
|
this._sessionId = runnerStats.sessionId;
|
|
21
27
|
if (typeof this._config.testObservability !== 'undefined')
|
|
22
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;
|
|
23
43
|
}
|
|
24
44
|
onSuiteStart(suiteStats) {
|
|
25
|
-
|
|
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);
|
|
26
63
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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()
|
|
51
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')) {
|
|
52
160
|
/* istanbul ignore next */
|
|
53
161
|
const cloudProvider = (0, util_1.getCloudProvider)({ options: { hostname: (_b = this._config) === null || _b === void 0 ? void 0 : _b.hostname } });
|
|
54
162
|
testData.integrations = {};
|
|
@@ -60,15 +168,47 @@ class TestReporter extends reporter_1.default {
|
|
|
60
168
|
browser_version: (_d = this._capabilities) === null || _d === void 0 ? void 0 : _d.browserVersion,
|
|
61
169
|
platform: (_e = this._capabilities) === null || _e === void 0 ? void 0 : _e.platformName,
|
|
62
170
|
};
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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
|
+
}
|
|
70
182
|
}
|
|
71
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');
|
|
72
209
|
}
|
|
73
210
|
}
|
|
211
|
+
_TestReporter._tests = {};
|
|
212
|
+
// https://github.com/microsoft/TypeScript/issues/6543
|
|
213
|
+
const TestReporter = (0, util_1.o11yClassErrorHandler)(_TestReporter);
|
|
74
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":"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"}
|
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);
|
|
@@ -45,10 +50,11 @@ class BrowserstackService {
|
|
|
45
50
|
// if no user and key is specified even though a browserstack service was
|
|
46
51
|
// provided set user and key with values so that the session request
|
|
47
52
|
// will fail
|
|
48
|
-
|
|
53
|
+
const testObservabilityOptions = this._options.testObservabilityOptions;
|
|
54
|
+
if (!config.user && !(testObservabilityOptions && testObservabilityOptions.user)) {
|
|
49
55
|
config.user = 'NotSetUser';
|
|
50
56
|
}
|
|
51
|
-
if (!config.key) {
|
|
57
|
+
if (!config.key && !(testObservabilityOptions && testObservabilityOptions.key)) {
|
|
52
58
|
config.key = 'NotSetKey';
|
|
53
59
|
}
|
|
54
60
|
this._config.user = config.user;
|
|
@@ -63,22 +69,28 @@ class BrowserstackService {
|
|
|
63
69
|
}
|
|
64
70
|
this._scenariosThatRan = [];
|
|
65
71
|
if (this._observability && this._browser) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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
|
+
}
|
|
82
94
|
}
|
|
83
95
|
return await this._printSessionURL();
|
|
84
96
|
}
|
|
@@ -151,6 +163,15 @@ class BrowserstackService {
|
|
|
151
163
|
}
|
|
152
164
|
await ((_a = this._insightsHandler) === null || _a === void 0 ? void 0 : _a.uploadPending());
|
|
153
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
|
+
}
|
|
154
175
|
}
|
|
155
176
|
/**
|
|
156
177
|
* For CucumberJS
|
|
@@ -218,7 +239,6 @@ class BrowserstackService {
|
|
|
218
239
|
});
|
|
219
240
|
}
|
|
220
241
|
this._scenariosThatRan = [];
|
|
221
|
-
delete this._suiteTitle;
|
|
222
242
|
delete this._fullTitle;
|
|
223
243
|
this._failReasons = [];
|
|
224
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":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAExD,MAAM,WAAW,eAAe;IAE5B,kBAAkB,EAAE;QAEhB,WAAW,EAAE,MAAM,CAAA;KACtB,CAAA;CACJ;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAE1F,MAAM,MAAM,SAAS,GAAG;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,WAAW,iBAAiB;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,GAAG;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,wBAAwB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IAC/B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,oBAAoB,EAAE,OAAO,CAAC,CAAA;IACpD;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAChB,MAAM,EAAE,OAAO,CAAC,UAAU,EAC1B,YAAY,EAAE,YAAY,CAAC,gBAAgB,EAC3C,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,KACjB,MAAM,CAAA;IACX;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAID,MAAM,WAAW,YAAY;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,QAAQ;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACtE,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,QAAQ;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAA;KAAE,CAAC;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,UAAU;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;CACf;AAED,MAAM,WAAW,cAAc;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC,gBAAgB,CAAC;IAC7C,GAAG,CAAC,EAAE;QACF,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;QACzC,yBAAyB,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9C,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;KACnC,CAAA;CACJ;AAED,MAAM,WAAW,+BAA+B;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,UAAU,iBAAiB;IACvB,YAAY,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,YAAY;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED,UAAU,QAAQ;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,OAAO;IACb,SAAS,EAAE,MAAM,EAAE,CAAA;CACtB"}
|
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;
|
|
@@ -94,6 +110,7 @@ export declare function uploadEventData(eventData: UploadType | Array<UploadType
|
|
|
94
110
|
export declare function getHierarchy(fullTitle?: string): string[];
|
|
95
111
|
export declare function getHookType(hookName: string): string;
|
|
96
112
|
export declare function isScreenshotCommand(args: BeforeCommandArgs & AfterCommandArgs): boolean | "" | undefined;
|
|
113
|
+
export declare function isBStackSession(config: Options.Testrunner): boolean;
|
|
97
114
|
export declare function shouldAddServiceVersion(config: Options.Testrunner, testObservability?: boolean): boolean;
|
|
98
115
|
export declare function batchAndPostEvents(eventUrl: string, kind: string, data: UploadType[]): Promise<void>;
|
|
99
116
|
export declare function getObservabilityUser(options: BrowserstackConfig & Options.Testrunner, config: Options.Testrunner): string | undefined;
|
|
@@ -101,5 +118,7 @@ export declare function getObservabilityKey(options: BrowserstackConfig & Option
|
|
|
101
118
|
export declare function getObservabilityProject(options: BrowserstackConfig & Options.Testrunner, bstackProjectName?: string): string | undefined;
|
|
102
119
|
export declare function getObservabilityBuild(options: BrowserstackConfig & Options.Testrunner, bstackBuildName?: string): string;
|
|
103
120
|
export declare function getObservabilityBuildTags(options: BrowserstackConfig & Options.Testrunner, bstackBuildTag?: string): string[];
|
|
121
|
+
export declare function frameworkSupportsHook(hook: string, framework?: string): boolean;
|
|
104
122
|
export declare const sleep: (ms?: number) => Promise<unknown>;
|
|
123
|
+
export {};
|
|
105
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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"}
|