@@ -63,7 +63,7 @@ const getSeleniumVersion = ({ browser, os, browser_version }) => {
6363 if ( os === "Windows" && browser === "ie" ) return "3.5.2" ;
6464 if ( browser === "firefox" && version ( browser_version ) >= 94 ) return "4.0.0" ;
6565
66- return "4.0.0-alpha-2 " ;
66+ return "4.8.0 " ;
6767} ;
6868
6969const getAppiumVersion = ( { device, os, os_version } ) => {
@@ -328,60 +328,77 @@ const getDeviceName = ({
328328 // Empty global REQUESTS
329329 global . REQUESTS = [ ] ;
330330
331- await navigate ( {
332- ...browser ,
333- commands,
334- driver,
335- } ) ;
331+ let errorMessage = null ;
336332
337- // console.log(JSON.stringify(global.REQUESTS, null, 2));
333+ try {
334+ await navigate ( {
335+ ...browser ,
336+ commands,
337+ driver,
338+ } ) ;
338339
339- if ( browser . supportsSendBeacon ) {
340- log ( "Testing beacon" ) ;
341- await require ( "./test-beacon" ) ( browser ) ;
342- } else if ( browser . supportsPushState ) {
343- log ( "Testing one beacon" ) ;
344- await require ( "./test-one-beacon" ) ( browser ) ;
345- }
340+ // console.log(JSON.stringify(global.REQUESTS, null, 2));
346341
347- if ( browser . supportsPushState ) {
348- log ( "Testing push state " ) ;
349- await require ( "./test-pushstate " ) ( browser ) ;
350- } else {
351- log ( "Testing no push state " ) ;
352- await require ( "./test-no-pushstate " ) ( browser ) ;
353- }
342+ if ( browser . supportsSendBeacon ) {
343+ log ( "Testing beacon " ) ;
344+ await require ( "./test-beacon " ) ( browser ) ;
345+ } else if ( browser . supportsPushState ) {
346+ log ( "Testing one beacon " ) ;
347+ await require ( "./test-one-beacon " ) ( browser ) ;
348+ }
354349
355- if ( browser . supportsClientHints ) {
356- log ( "We can't test client hints because they only work on https" ) ;
357- }
350+ if ( browser . supportsPushState ) {
351+ log ( "Testing push state" ) ;
352+ await require ( "./test-pushstate" ) ( browser ) ;
353+ } else {
354+ log ( "Testing no push state" ) ;
355+ await require ( "./test-no-pushstate" ) ( browser ) ;
356+ }
357+
358+ if ( browser . supportsClientHints ) {
359+ log ( "We can't test client hints because they only work on https" ) ;
360+ }
358361
359- log ( "Testing events" ) ;
362+ log ( "Testing events" ) ;
360363
361- // Empty global REQUESTS
362- global . REQUESTS = [ ] ;
364+ // Empty global REQUESTS
365+ global . REQUESTS = [ ] ;
363366
364- commands = [
365- { script : "/latest/hello.js" , event : "-- event 123 &&" } ,
366- { wait : "/simple.gif" , params : { body : { type : "event" } } } ,
367- { script : "/latest/hello.js" , event : "function" } ,
368- { script : "/latest/hello.js" , event : "metadata" } ,
369- {
370- wait : "/simple.gif" ,
371- params : { body : { type : "event" } } ,
372- amount : 3 ,
373- } ,
374- ] ;
375-
376- await navigate ( {
377- ...browser ,
378- commands,
379- driver,
380- } ) ;
381-
382- await require ( "./test-events" ) ( browser ) ;
383-
384- if ( driver ) await driver . quit ( ) ;
367+ commands = [
368+ { script : "/latest/hello.js" , event : "-- event 123 &&" } ,
369+ { wait : "/simple.gif" , params : { body : { type : "event" } } } ,
370+ { script : "/latest/hello.js" , event : "function" } ,
371+ { script : "/latest/hello.js" , event : "metadata" } ,
372+ {
373+ wait : "/simple.gif" ,
374+ params : { body : { type : "event" } } ,
375+ amount : 3 ,
376+ } ,
377+ ] ;
378+
379+ await navigate ( {
380+ ...browser ,
381+ commands,
382+ driver,
383+ } ) ;
384+
385+ await require ( "./test-events" ) ( browser ) ;
386+ } catch ( error ) {
387+ errorMessage = error . message ;
388+ throw error ;
389+ } finally {
390+ if ( ! driver ) return ;
391+
392+ const reason = errorMessage ?. replace ( / " / g, "'" ) || "" ;
393+
394+ driver . executeScript (
395+ `browserstack_executor: {"action": "setSessionStatus", "arguments": {"status":"${
396+ errorMessage ? "failed" : "passed"
397+ } ","reason": "${ reason } "}}`
398+ ) ;
399+
400+ await driver . quit ( ) ;
401+ }
385402 } ;
386403
387404 for ( const [ index , browser ] of browsers . entries ( ) ) {
0 commit comments