11import logger from '@wdio/logger'
22
33import { getParentSuiteName , updateSessionById } from './util.js'
4+ import { appSessionURL , webSessionURL } from './constants.js' ;
45
56const log = logger ( '@wdio/lambdatest-service' )
67
@@ -241,11 +242,25 @@ export default class LambdaRestService {
241242
242243 if ( ! this . _browser . isMultiremote ) {
243244 log . info ( `Update job with sessionId ${ this . _browser . sessionId } , ${ status } ` ) ;
245+
246+ // Print session URL for single remote browser
247+ if ( process . env . LOG_SESSION_URL === "true" ) {
248+ const sessionURL = this . getSessionURL ( this . _browser . sessionId , this . _config . product ) ;
249+ log . info ( `Session URL: ${ sessionURL } ` ) ;
250+ }
251+
244252 return this . _update ( { sessionId : this . _browser . sessionId , failures : result } ) ;
245253 }
246254
247255 return Promise . all ( Object . keys ( this . _capabilities ) . map ( browserName => {
248256 log . info ( `Update multiremote job for browser '${ browserName } ' and sessionId ${ this . _browser [ browserName ] . sessionId } , ${ status } ` ) ;
257+
258+ // Print session URL for each remote browser
259+ if ( process . env . LOG_SESSION_URL === "true" ) {
260+ const sessionURL = this . getSessionURL ( this . _browser [ browserName ] . sessionId , this . _config . product ) ;
261+ log . info ( `Session URL for ${ browserName } : ${ sessionURL } ` ) ;
262+ }
263+
249264 return this . _update ( { sessionId : this . _browser [ browserName ] . sessionId , failures : failures , calledOnReload : false , browserName : browserName } ) ;
250265 } ) ) ;
251266 }
@@ -260,11 +275,24 @@ export default class LambdaRestService {
260275 if ( ! this . _browser . isMultiremote ) {
261276 log . info ( `Update (reloaded) job with sessionId ${ oldSessionId } , ${ status } ` ) ;
262277
278+ // Print session URL for single remote browser
279+ if ( process . env . LOG_SESSION_URL === "true" ) {
280+ const sessionURL = this . getSessionURL ( this . _browser . sessionId , this . _config . product ) ;
281+ log . info ( `Session URL: ${ sessionURL } ` ) ;
282+ }
283+
263284 await this . _update ( { sessionId : oldSessionId , fullTitle : this . _currentTestTitle , status : status , calledOnReload : true } ) ;
264285
265286 } else {
266287 const browserName = this . _browser . instances . filter ( browserName => this . _browser [ browserName ] . sessionId === newSessionId ) [ 0 ] ;
267288 log . info ( `Update (reloaded) multiremote job for browser '${ browserName } ' and sessionId ${ oldSessionId } , ${ status } ` ) ;
289+
290+ // Print session URL for each remote browser
291+ if ( process . env . LOG_SESSION_URL === "true" ) {
292+ const sessionURL = this . getSessionURL ( this . _browser [ browserName ] . sessionId , this . _config . product ) ;
293+ log . info ( `Session URL for ${ browserName } : ${ sessionURL } ` ) ;
294+ }
295+
268296 await this . _update ( { sessionId : oldSessionId , failures :this . _failures , calledOnReload : true , browserName : browserName } ) ;
269297 }
270298
@@ -393,4 +421,11 @@ export default class LambdaRestService {
393421 }
394422 return await this . _browser . execute ( cmd ) ;
395423 }
424+
425+ getSessionURL ( sessionId , product ) {
426+ if ( product === 'appAutomation' ) {
427+ return `${ appSessionURL } =${ sessionId } ` ;
428+ }
429+ return `${ webSessionURL } =${ sessionId } ` ;
430+ }
396431}
0 commit comments