froth-webdriverio-framework 7.0.58 → 7.0.60
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/froth_configs/commonhook.js +32 -38
- package/package.json +1 -1
|
@@ -158,44 +158,7 @@ const commonHooks = {
|
|
|
158
158
|
}
|
|
159
159
|
/** 2️⃣ BrowserStack capability normalization */
|
|
160
160
|
|
|
161
|
-
|
|
162
|
-
const bsOpts = capabilities['bstack:options'] || {};
|
|
163
|
-
|
|
164
|
-
console.log('✅ BS_USERNAME set from capabilities:', process.env.BROWSERSTACK_USERNAME);
|
|
165
|
-
|
|
166
|
-
if (process.env.BS_SESSION_TYPE === 'app-automate') {
|
|
167
|
-
const appPath = process.env.BROWSERSTACK_APP_PATH;
|
|
168
|
-
if (!appPath) {
|
|
169
|
-
await failExecution('BROWSERSTACK_APP_PATH is missing');
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
bsOpts.app = appPath;
|
|
173
|
-
capabilities['appium:app'] = appPath;
|
|
174
|
-
console.log('✅ App & media set in before session');
|
|
175
|
-
|
|
176
|
-
}
|
|
177
|
-
/** Media upload */
|
|
178
|
-
|
|
179
|
-
if (process.env.MEDIA_FILES) {
|
|
180
|
-
try {
|
|
181
|
-
console.log("env details for media -->" + process.env.MEDIA_FILES)
|
|
182
|
-
const media = JSON.parse(process.env.MEDIA_FILES);
|
|
183
|
-
console.log('Total items:', media.length);
|
|
184
|
-
if (media.length > 0) {
|
|
185
|
-
bsOpts.uploadMedia = process.env.BS_UPLOAD_MEDIA
|
|
186
|
-
.split(',')
|
|
187
|
-
.map(x => x.trim());
|
|
188
|
-
|
|
189
|
-
console.log('Final capabilities:', JSON.stringify(capabilities, null, 2));
|
|
190
|
-
|
|
191
|
-
}
|
|
192
|
-
} catch (error) {
|
|
193
|
-
console.warn('⚠️ MEDIA_FILES is not valid JSON', error.message);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
capabilities['bstack:options'] = bsOpts;
|
|
197
|
-
|
|
198
|
-
}
|
|
161
|
+
capabilities = getBrowserStackCapabilities(capabilities);
|
|
199
162
|
console.log('final cinfig dteials :' + JSON.stringify(capabilities))
|
|
200
163
|
|
|
201
164
|
// console.log("config details " + JSON.stringify(config))
|
|
@@ -371,6 +334,37 @@ async function normalizeWdioError(error) {
|
|
|
371
334
|
|
|
372
335
|
return `Automation framework error: ${msg}`;
|
|
373
336
|
}
|
|
337
|
+
async function getBrowserStackCapabilities(baseCaps) {
|
|
338
|
+
|
|
339
|
+
if (
|
|
340
|
+
process.env.PLATFORM !== 'browserstack' &&
|
|
341
|
+
process.env.PLATFORM !== 'browserstacklocal'
|
|
342
|
+
) {
|
|
343
|
+
return baseCaps;
|
|
344
|
+
}
|
|
374
345
|
|
|
346
|
+
return baseCaps.map((capabilities) => {
|
|
347
|
+
console.log("env details for media -->" + process.env.MEDIA_FILES)
|
|
348
|
+
const media = JSON.parse(process.env.MEDIA_FILES).join(',');
|
|
349
|
+
process.env.BS_UPLOAD_MEDIA = media;
|
|
350
|
+
console.log("after comma separted " + process.env.BS_UPLOAD_MEDIA)
|
|
351
|
+
const bsOpts = capabilities['bstack:options'] || {};
|
|
352
|
+
// bsOpts.deviceName = process.env.BS_DEVICE;
|
|
353
|
+
// bsOpts.osVersion = process.env.BS_OS_VERSION;
|
|
354
|
+
// bsOpts.networkLogs = process.env.BS_NETWORK_LOGS;
|
|
355
|
+
bsOpts.debug = process.env.BS_DEBUG === 'false';
|
|
356
|
+
// bsOpts.sessionName = process.env.BS_SESSION_NAME;
|
|
357
|
+
// bsOpts.buildName = process.env.BS_BUILD_NAME;
|
|
358
|
+
// bsOpts.projectName = process.env.BS_PROJECT_NAME;
|
|
359
|
+
|
|
360
|
+
if (process.env.BS_UPLOAD_MEDIA) {
|
|
361
|
+
bsOpts.uploadMedia = process.env.BS_UPLOAD_MEDIA
|
|
362
|
+
.split(',')
|
|
363
|
+
.map(x => x.trim());
|
|
364
|
+
}
|
|
365
|
+
capabilities['bstack:options'] = bsOpts;
|
|
366
|
+
return capabilities;
|
|
367
|
+
});
|
|
368
|
+
}
|
|
375
369
|
|
|
376
370
|
module.exports = commonHooks;
|