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.
@@ -158,44 +158,7 @@ const commonHooks = {
158
158
  }
159
159
  /** 2️⃣ BrowserStack capability normalization */
160
160
 
161
- if (process.env.PLATFORM === 'browserstack' || process.env.PLATFORM === 'browserstacklocal') {
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "froth-webdriverio-framework",
3
- "version": "7.0.58",
3
+ "version": "7.0.60",
4
4
  "readme": "WebdriverIO Integration",
5
5
  "description": "WebdriverIO and BrowserStack App Automate",
6
6
  "license": "MIT",