Programmatically set common user preferences after running Open Browser()?

We are setting up many remote profiles to send jobs to BrowserStack. While setting up lots of custom external execution settings does work. It would be great to take common info from our setup files and set that programmatically using global variables and then set the specific stuff inside the settings file.

So it would be great to have some of this stuff set programmatically for ‘any’ browser:

and then set the unique or more protected information setup in a settings file (things that will not change much):

The things I’d like to split out and set programmatically would be **project, build, name, browserstack.local

The rest would be part of the custom external settings file / custom project execution settings for each variation. Things like os, os_version, browserName, browser_version:

This would help us organize the jobs easier end not have to put duplicate information everywhere. And possibly store that info in a globally profile instead and call it programmically.

This would take away some of the monotony of setting this setup up and would allow our testers to have access to what matters to them when sending tests to BrowserStack().

Thank you,


Screen Shot 2018-05-23 at 10.23.59 AM.png

Screen Shot 2018-05-23 at 10.03.36 AM.png

Screen Shot 2018-05-23 at 10.03.07 AM.png


@Todd_Bruss, Were you able to get around this? What was your approach on this?

Hi @Todd_Bruss, @kumarvijay.walikar
We can update desired capabilities in runtime for Remote execution by using this script:

RunConfiguration.setDriverPreferencesProperty('Remote',  capsName , capsValue)  


import com.kms.katalon.core.configuration.RunConfiguration
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI

RunConfiguration.setDriverPreferencesProperty('Remote', 'os', 'Windows')  
RunConfiguration.setDriverPreferencesProperty('Remote', 'os_version', '10')