@@ -24,9 +24,35 @@ async function setup(): Promise<WebDriver> {
2424 const options = new Chrome . Options ( ) ;
2525 options . addArguments ( "--load-extension=" + Path . join ( __dirname , "../dist/" ) ) ;
2626 options . addArguments ( "--mute-audio" ) ;
27- options . addArguments ( "--disable-features=PreloadMediaEngagementData, MediaEngagementBypassAutoplayPolicies" )
27+ options . addArguments ( "--disable-features=PreloadMediaEngagementData, MediaEngagementBypassAutoplayPolicies" ) ;
28+
29+ let driver ;
30+ if ( process . env . BROWSERSTACK_BUILD_NAME ) {
31+ const capabilities = {
32+ 'os' : 'ubuntu' ,
33+ 'os_version' : '20' ,
34+ 'browserName' : 'chrome' ,
35+ 'browser_version' : 'latest' ,
36+ 'browserstack.local' : 'true' ,
37+ 'build' : process . env . BROWSERSTACK_BUILD_NAME ,
38+ 'project' : process . env . BROWSERSTACK_PROJECT_NAME ,
39+ 'browserstack.localIdentifier' : process . env . BROWSERSTACK_LOCAL_IDENTIFIER ,
40+ 'browserstack.user' : process . env . BROWSERSTACK_USERNAME ,
41+ 'browserstack.key' : process . env . BROWSERSTACK_ACCESS_KEY
42+ }
43+
44+ driver = await new Builder ( )
45+ . usingServer ( 'http://hub-cloud.browserstack.com/wd/hub' )
46+ . setChromeOptions ( options )
47+ . withCapabilities ( capabilities )
48+ . build ( ) ;
49+ } else {
50+ driver = await new Builder ( )
51+ . forBrowser ( "chrome" )
52+ . setChromeOptions ( options )
53+ . build ( ) ;
54+ }
2855
29- const driver = await new Builder ( ) . forBrowser ( "chrome" ) . setChromeOptions ( options ) . build ( ) ;
3056 driver . manage ( ) . setTimeouts ( {
3157 implicit : 5000
3258 } ) ;
0 commit comments