@wdio/browserstack-service 8.0.11 → 8.0.14
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/launcher.d.ts.map +1 -1
- package/build/launcher.js +9 -8
- package/build/service.d.ts +1 -0
- package/build/service.d.ts.map +1 -1
- package/build/service.js +4 -1
- package/build/types.d.ts +2 -1
- package/build/types.d.ts.map +1 -1
- package/package.json +4 -4
package/build/launcher.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,yBAAyB,MAAM,oBAAoB,CAAA;AAG/D,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAElE,OAAO,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAQpF,KAAK,iBAAiB,GAAG,yBAAyB,CAAC,KAAK,GAAG;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;CAC7C,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,2BAA4B,YAAW,QAAQ,CAAC,eAAe;IAI5E,OAAO,CAAC,QAAQ;IAEhB,OAAO,CAAC,OAAO;IALnB,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;gBAGzB,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EACzD,YAAY,EAAE,YAAY,CAAC,gBAAgB,EACnC,OAAO,EAAE,OAAO,CAAC,UAAU;IAiCjC,SAAS,CAAE,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,kBAAkB;
|
|
1
|
+
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,yBAAyB,MAAM,oBAAoB,CAAA;AAG/D,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAElE,OAAO,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAQpF,KAAK,iBAAiB,GAAG,yBAAyB,CAAC,KAAK,GAAG;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;CAC7C,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,2BAA4B,YAAW,QAAQ,CAAC,eAAe;IAI5E,OAAO,CAAC,QAAQ;IAEhB,OAAO,CAAC,OAAO;IALnB,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;gBAGzB,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EACzD,YAAY,EAAE,YAAY,CAAC,gBAAgB,EACnC,OAAO,EAAE,OAAO,CAAC,UAAU;IAiCjC,SAAS,CAAE,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,kBAAkB;IA4E5F,UAAU;IAmCJ,UAAU,CAAC,GAAG,EAAC,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAsBrD;;;OAGG;IACG,YAAY,CAAE,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAyBhE,WAAW,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAC,MAAM;CA+C9F"}
|
package/build/launcher.js
CHANGED
|
@@ -64,7 +64,7 @@ export default class BrowserstackLauncherService {
|
|
|
64
64
|
}
|
|
65
65
|
else {
|
|
66
66
|
let app = {};
|
|
67
|
-
|
|
67
|
+
const appConfig = this._options.app;
|
|
68
68
|
try {
|
|
69
69
|
app = await this._validateApp(appConfig);
|
|
70
70
|
}
|
|
@@ -73,8 +73,7 @@ export default class BrowserstackLauncherService {
|
|
|
73
73
|
}
|
|
74
74
|
if (VALID_APP_EXTENSION.includes(path.extname(app.app))) {
|
|
75
75
|
if (fs.existsSync(app.app)) {
|
|
76
|
-
|
|
77
|
-
data = await this._uploadApp(app);
|
|
76
|
+
const data = await this._uploadApp(app);
|
|
78
77
|
log.info(`app upload completed: ${JSON.stringify(data)}`);
|
|
79
78
|
app.app = data.app_url;
|
|
80
79
|
}
|
|
@@ -157,10 +156,12 @@ export default class BrowserstackLauncherService {
|
|
|
157
156
|
async _uploadApp(app) {
|
|
158
157
|
log.info(`uploading app ${app.app} ${app.customId ? `and custom_id: ${app.customId}` : ''} to browserstack`);
|
|
159
158
|
const form = new FormData();
|
|
160
|
-
if (app.app)
|
|
159
|
+
if (app.app) {
|
|
161
160
|
form.append('file', fs.createReadStream(app.app));
|
|
162
|
-
|
|
161
|
+
}
|
|
162
|
+
if (app.customId) {
|
|
163
163
|
form.append('custom_id', app.customId);
|
|
164
|
+
}
|
|
164
165
|
const res = await got.post('https://api-cloud.browserstack.com/app-automate/upload', {
|
|
165
166
|
body: form,
|
|
166
167
|
username: this._config.user,
|
|
@@ -175,7 +176,7 @@ export default class BrowserstackLauncherService {
|
|
|
175
176
|
* <object>: only "path" and "custom_id" should coexist as multiple properties.
|
|
176
177
|
*/
|
|
177
178
|
async _validateApp(appConfig) {
|
|
178
|
-
|
|
179
|
+
const app = {};
|
|
179
180
|
if (typeof appConfig === 'string') {
|
|
180
181
|
app.app = appConfig;
|
|
181
182
|
}
|
|
@@ -213,7 +214,7 @@ export default class BrowserstackLauncherService {
|
|
|
213
214
|
capability['browserstack.local'] = true;
|
|
214
215
|
}
|
|
215
216
|
else if (capType === 'app') {
|
|
216
|
-
capability
|
|
217
|
+
capability.app = value;
|
|
217
218
|
}
|
|
218
219
|
}
|
|
219
220
|
else if (capType === 'local') {
|
|
@@ -240,7 +241,7 @@ export default class BrowserstackLauncherService {
|
|
|
240
241
|
caps.capabilities['browserstack.local'] = true;
|
|
241
242
|
}
|
|
242
243
|
else if (capType === 'app') {
|
|
243
|
-
caps.capabilities
|
|
244
|
+
caps.capabilities.app = value;
|
|
244
245
|
}
|
|
245
246
|
}
|
|
246
247
|
else if (capType === 'local') {
|
package/build/service.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export default class BrowserstackService implements Services.ServiceInstance {
|
|
|
12
12
|
private _suiteTitle?;
|
|
13
13
|
private _fullTitle?;
|
|
14
14
|
private _options;
|
|
15
|
+
private _specsRan;
|
|
15
16
|
constructor(options: BrowserstackConfig & Options.Testrunner, _caps: Capabilities.RemoteCapability, _config: Options.Testrunner);
|
|
16
17
|
_updateCaps(fn: (caps: Capabilities.Capabilities | Capabilities.DesiredCapabilities) => void): void;
|
|
17
18
|
beforeSession(config: Omit<Options.Testrunner, 'capabilities'>): void;
|
package/build/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAEA,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;AAG9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAmB,MAAM,SAAS,CAAA;AAKrF,MAAM,CAAC,OAAO,OAAO,mBAAoB,YAAW,QAAQ,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAEA,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;AAG9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAmB,MAAM,SAAS,CAAA;AAKrF,MAAM,CAAC,OAAO,OAAO,mBAAoB,YAAW,QAAQ,CAAC,eAAe;IAapE,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IAbnB,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;gBAG9B,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EACxC,KAAK,EAAE,YAAY,CAAC,gBAAgB,EACpC,OAAO,EAAE,OAAO,CAAC,UAAU;IAavC,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;IAe/D,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC;IAepH;;;;;;OAMG;IACG,WAAW,CAAE,KAAK,EAAE,UAAU,CAAC,KAAK;IAQpC,UAAU,CAAE,IAAI,EAAE,UAAU,CAAC,IAAI;IAkBvC;;OAEG;IACG,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;IAM3D;;;OAGG;IACG,cAAc,CAAE,KAAK,EAAE,UAAU,CAAC,KAAK;IAK7C;;OAEG;IACG,UAAU,CAAE,IAAI,EAAE,UAAU,CAAC,UAAU;IAK7C,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,UAAU;IAQzE,KAAK,CAAE,MAAM,EAAE,MAAM;IAkB3B;;OAEG;IACH,aAAa,CAAE,KAAK,EAAE,UAAU,CAAC,KAAK;IAoBhC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAgCzD,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;IAUrC,gBAAgB;YAuBR,eAAe;IA0B7B,OAAO,CAAC,cAAc;YAIR,eAAe;CAqBhC"}
|
package/build/service.js
CHANGED
|
@@ -14,6 +14,7 @@ export default class BrowserstackService {
|
|
|
14
14
|
_suiteTitle;
|
|
15
15
|
_fullTitle;
|
|
16
16
|
_options;
|
|
17
|
+
_specsRan = false;
|
|
17
18
|
constructor(options, _caps, _config) {
|
|
18
19
|
this._caps = _caps;
|
|
19
20
|
this._config = _config;
|
|
@@ -110,6 +111,7 @@ export default class BrowserstackService {
|
|
|
110
111
|
await this._setAnnotation(`Step: ${keyword}${text}`);
|
|
111
112
|
}
|
|
112
113
|
afterTest(test, context, results) {
|
|
114
|
+
this._specsRan = true;
|
|
113
115
|
const { error, passed } = results;
|
|
114
116
|
if (!passed) {
|
|
115
117
|
this._failReasons.push((error && error.message) || 'Unknown Error');
|
|
@@ -125,7 +127,7 @@ export default class BrowserstackService {
|
|
|
125
127
|
if (setSessionStatus) {
|
|
126
128
|
const hasReasons = this._failReasons.length > 0;
|
|
127
129
|
await this._updateJob({
|
|
128
|
-
status: result === 0 ? 'passed' : 'failed',
|
|
130
|
+
status: result === 0 && this._specsRan ? 'passed' : 'failed',
|
|
129
131
|
...(setSessionName ? { name: this._fullTitle } : {}),
|
|
130
132
|
...(hasReasons ? { reason: this._failReasons.join('\n') } : {})
|
|
131
133
|
});
|
|
@@ -135,6 +137,7 @@ export default class BrowserstackService {
|
|
|
135
137
|
* For CucumberJS
|
|
136
138
|
*/
|
|
137
139
|
afterScenario(world) {
|
|
140
|
+
this._specsRan = true;
|
|
138
141
|
const status = world.result?.status.toLowerCase();
|
|
139
142
|
if (status !== 'skipped') {
|
|
140
143
|
this._scenariosThatRan.push(world.pickle.name || 'unknown pickle name');
|
package/build/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Capabilities, Options } from '@wdio/types';
|
|
2
|
+
import type { Options as BSOptions } from 'browserstack-local';
|
|
2
3
|
export interface SessionResponse {
|
|
3
4
|
automation_session: {
|
|
4
5
|
browser_url: string;
|
|
@@ -54,7 +55,7 @@ export interface BrowserstackConfig {
|
|
|
54
55
|
* ```
|
|
55
56
|
* @default {}
|
|
56
57
|
*/
|
|
57
|
-
opts?: Partial<
|
|
58
|
+
opts?: Partial<BSOptions>;
|
|
58
59
|
/**
|
|
59
60
|
* Cucumber only. Set the BrowserStack Automate session name to the Scenario name if only a single Scenario ran.
|
|
60
61
|
* Useful when running in parallel with [wdio-cucumber-parallel-execution](https://github.com/SimitTomar/wdio-cucumber-parallel-execution).
|
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,MAAM,aAAa,CAAA;
|
|
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;AACxD,OAAO,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9D,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,kBAAkB;IAC/B;;;;;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,SAAS,CAAC,CAAA;IACzB;;;;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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wdio/browserstack-service",
|
|
3
|
-
"version": "8.0.
|
|
3
|
+
"version": "8.0.14",
|
|
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",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"typeScriptVersion": "3.8.3",
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@types/node": "^18.0.0",
|
|
31
|
-
"@wdio/logger": "8.0.
|
|
32
|
-
"@wdio/types": "8.0.
|
|
31
|
+
"@wdio/logger": "8.0.14",
|
|
32
|
+
"@wdio/types": "8.0.14",
|
|
33
33
|
"browserstack-local": "^1.5.1",
|
|
34
34
|
"form-data": "^4.0.0",
|
|
35
35
|
"got": "^12.1.0",
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"publishConfig": {
|
|
42
42
|
"access": "public"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "ab58bc79c1df2e146d02a68ee444766ec371e6d2"
|
|
45
45
|
}
|