# Shifting from Desired Capabilities to Options

**URL:** <https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346>\
**Category:** Web Testing\
**Tags:** katalon-studio\
**Created:** [October 8, 2025, 2:55am UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346 "2025-10-08T02:55:18Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![bindu.nair](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/bindu.nair/32/20464_2.png) [@bindu.nair](https://forum.katalon.com/u/bindu.nair)\
**Post date:** [October 8, 2025, 2:55am UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/1 "2025-10-08T02:55:18Z")

</div>

Hi,

I am encountering an issue after updating to Katalon’s 10.x version. Previously, I used the `DesiredCapabilities` feature to download PDF files from Chrome to a specific location on my machine. With the update, this feature is no longer available.

I was using the following `DesiredCapabilities` settings for this purpose:

 ![Screenshot - 10_7_2025 , 10_39_47 PM](https://europe1.discourse-cdn.com/katalon/original/3X/d/4/d416092fb2cbffe5cc23b1ff1d5ef11000d1f325.jpeg)

My script clicks on a link that should initiate a PDF download. Prior to the update, the PDF would automatically download to the specified location. Now, however, the PDF opens in a new tab instead of downloading, despite my Chrome settings being configured to download files to the “Download” folder.

Could you please provide assistance on how to convert these `DesiredCapabilities` settings to use `Options` in Katalon 10.x, so that the PDFs download directly?

Thanks.

---

<div class="post-metadata">

**Author:** ![Monty\_Bagati](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/monty_bagati/32/33047_2.png) [@Monty\_Bagati](https://forum.katalon.com/u/Monty_Bagati)\
**Post date:** [October 8, 2025, 2:56am UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/2 "2025-10-08T02:56:11Z")

</div>

**Transition from `DesiredCapabilities` to `Options`:** In Selenium 4, you’ll configure browsers using `Options` classes instead of `DesiredCapabilities`. You’ll need to replace instances of `DesiredCapabilities` with the corresponding `Options` class. For example, use ChromeOptions for Chrome and FirefoxOptions for Firefox.

create a test listener or use some reusable function and put the below code or shift to 9.x version for using desired capabilities

========

import com.kms.katalon.core.webui.driver.DriverFactory

import org.openqa.selenium.chrome.ChromeOptions

import org.openqa.selenium.WebDriver

Map\<String, Object\> prefs = [

“download.default\_directory”: “C:\\Downloads”,

“download.prompt\_for\_download”: false,

“plugins.always\_open\_pdf\_externally”: true

]

ChromeOptions options = new ChromeOptions()

options.setExperimentalOption(“prefs”, prefs)

WebDriver driver = new org.openqa.selenium.chrome.ChromeDriver(options)

DriverFactory.changeWebDriver(driver)

===========

---

<div class="post-metadata">

**Author:** ![bindu.nair](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/bindu.nair/32/20464_2.png) [@bindu.nair](https://forum.katalon.com/u/bindu.nair)\
**Post date:** [October 8, 2025, 3:35pm UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/3 "2025-10-08T15:35:53Z")

</div>

Thank you Monty for your quick response.

I encountered an error with the code you provided, specifically on these lines:

“download.default\_directory”: “C:\\Downloads”,

“download.prompt\_for\_download”: false,

“plugins.always\_open\_pdf\_externally”: true

I used Katalon’s AI to update the code and created a test listener, but the PDF file is still opening in a new Chrome tab. Do you know what might be causing this issue in version 10.x?

**class** pdfDownload {

```
/\*\*

 \* Executes before every test case starts.

 \* **@param** testCaseContext related information of the executed test case.

 \*/

@BeforeTestCase

**def** sampleBeforeTestCase() {

	Map<String, Object> prefs = **new** HashMap<String, Object>();

```

prefs.put(“download.default\_directory”, “C:\\Users\\bindu\\Downloads”);

prefs.put(“download.directory\_upgrade”, **true** )

prefs.put(“download.prompt\_for\_download”, **false** );

prefs.put(“plugins.always\_open\_pdf\_externally”, **true** );

prefs.put(“profile.default\_content\_settings.popups”,0);

prefs.put(“profile.content\_settings.exceptions.automatic\_downloads.\*.setting”,1);

ChromeOptions options = **new** ChromeOptions();

options.setExperimentalOption(“prefs”, prefs);

WebDriver driver = **new** ChromeDriver(options);

DriverFactory._changeWebDriver_(driver);

```
}

```

}

---

<div class="post-metadata">

**Author:** ![kazurayam](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/kazurayam/32/333_2.png) [@kazurayam](https://forum.katalon.com/u/kazurayam)\
**Post date:** [October 9, 2025, 2:24am UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/4 "2025-10-09T02:24:40Z")

</div>

@bindu.nair

Does your Test Case script still calls `WebUI.openBrowser()` keyword?

* * *

In your Test Listener named `pdfDownload`, you have the following statement:

```auto
WebDriver driver = new ChromeDriver(options);

```

This statement will open a Chrome browser window with the `options` set.

But as soon as your Test Case script calls the `WebUI.openBrowser()` keyword, I think, the already-opened Chrome browser will be forced to close, and a new Chrome browser without the `options` will open.

Effectively your Test Listener becomes useless.

---

<div class="post-metadata">

**Author:** ![kazurayam](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/kazurayam/32/333_2.png) [@kazurayam](https://forum.katalon.com/u/kazurayam)\
**Post date:** [October 9, 2025, 2:34am UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/5 "2025-10-09T02:34:20Z")

</div>

To: @Elly_Tran and Katalon

I checked the Katalon’s official documentation

> **[Set up Desired Capabilities for WebUI Testing in Katalon Studio | Katalon Docs](https://docs.katalon.com/katalon-studio/manage-projects/project-settings/desired-capabilities/set-up-desired-capabilities-for-webui-testing-in-katalon-studio#set-firefoxfirefox-headless-desired-capabilities-in-katalon-studio)**
>
> Katalon Studio allows you to define desired capabilities for local execution with Chrome, Firefox, Internet Explorer (IE), Safari, Edge or Edge (Chromium) in Project \> Settings \> Desired Capabilities \> WebUI \>...

I think that this document should provide a solution to @bindu.nair: how to specify the download directory in Chrome.

I checked the description for Chrome:

> **[Set up Desired Capabilities for WebUI Testing in Katalon Studio | Katalon Docs](https://docs.katalon.com/katalon-studio/manage-projects/project-settings/desired-capabilities/set-up-desired-capabilities-for-webui-testing-in-katalon-studio#chromechrome-headless)**
>
> Katalon Studio allows you to define desired capabilities for local execution with Chrome, Firefox, Internet Explorer (IE), Safari, Edge or Edge (Chromium) in Project \> Settings \> Desired Capabilities \> WebUI \>...

The description for Chrome options is very poor. It doesn’t answer to @bindu.nair

I checked the description for Firefox:

> **[Set up Desired Capabilities for WebUI Testing in Katalon Studio | Katalon Docs](https://docs.katalon.com/katalon-studio/manage-projects/project-settings/desired-capabilities/set-up-desired-capabilities-for-webui-testing-in-katalon-studio#chromechrome-headless)**
>
> Katalon Studio allows you to define desired capabilities for local execution with Chrome, Firefox, Internet Explorer (IE), Safari, Edge or Edge (Chromium) in Project \> Settings \> Desired Capabilities \> WebUI \>...

It explains much about `browser.download.dir` etc.

The document explains more for Firefox but not for Chrome at all. Why?

I hope the Katalon’s documentation to cover a straight forward (copy&paste-able) answer to @bindu.nair

---

<div class="post-metadata">

**Author:** ![nghi.phan](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/nghi.phan/32/30970_2.png) [@nghi.phan](https://forum.katalon.com/u/nghi.phan)\
**Post date:** [October 9, 2025, 3:48am UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/6 "2025-10-09T03:48:03Z")

</div>

Hi Mr. Kazu,

Thank you for pointing this out! I’m not entirely sure about the reason, but I’ve notified our team to review. Really appreciate your detailed feedback and support!

Bella

---

<div class="post-metadata">

**Author:** ![bindu.nair](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/bindu.nair/32/20464_2.png) [@bindu.nair](https://forum.katalon.com/u/bindu.nair)\
**Post date:** [October 9, 2025, 4:55am UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/7 "2025-10-09T04:55:26Z")

</div>

Hi @kazurayam @Monty_Bagati

Thank you for pointing out the mistake in calling the browser to open a second time. That was exactly what I was doing wrong.

Below is the test case I am working with. Could you please guide me on how to use the Test Listener Chrome browser window with the options set, to run this test case

**Test Case:**

WebUI.openBrowser(‘’)  
WebUI.navigateToUrl(GlobalVariable.URL)  
WebUI.maximizeWindow()  
WebUI.setText(findTestObject(‘Object Repository/Login/input\_User ID\_username’), GlobalVariable.Username)  
WebUI.setText(findTestObject(‘Object Repository/Login/input\_P\_password’), GlobalVariable.Password)  
WebUI.setText(findTestObject(‘Object Repository/Login/input\_Validation Code\_token’), CustomKeywords.‘mfa.readmfa.GetMFATokenFiler’())  
WebUI.click(findTestObject(‘Object Repository/Login/button\_Continue’))  
WebUI.click(findTestObject('Object Repository/Login/a\_User Agreement)) //The user agreement is the PDF that needs to be downloaded

**Test Listener Code:**

**class** pdfDownload {

@BeforeTestCaseBeforeTestCase

**def** sampleBeforeTestCase() {

Map\<String, Object\> prefs = new HashMap\<String, Object\>();

prefs.put(“download.default\_directory”, “C:\\Users\\bindu\\Downloads”);

prefs.put(“download.directory\_upgrade”, **true** )

prefs.put(“download.prompt\_for\_download”, **false** );

prefs.put(“plugins.always\_open\_pdf\_externally”, **true** );

prefs.put(“profile.default\_content\_settings.popups”,0);

prefs.put(“profile.content\_settings.exceptions.automatic\_downloads.\*.setting”,1);

ChromeOptions options = **new** ChromeOptions();

options.setExperimentalOption(“prefs”, prefs);

WebDriver driver = **new** ChromeDriver(options);

DriverFactory._changeWebDriver_(driver);

}

}

---

<div class="post-metadata">

**Author:** ![Monty\_Bagati](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/monty_bagati/32/33047_2.png) [@Monty\_Bagati](https://forum.katalon.com/u/Monty_Bagati)\
**Post date:** [October 9, 2025, 5:45am UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/8 "2025-10-09T05:45:45Z")

</div>

create a keyword instead in katalon and call it in test case wherever required. try this once

---

<div class="post-metadata">

**Author:** ![kazurayam](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/kazurayam/32/333_2.png) [@kazurayam](https://forum.katalon.com/u/kazurayam)\
**Post date:** [October 9, 2025, 9:07am UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/9 "2025-10-09T09:07:03Z")

</div>

You do not need a Test Listener; you do not need a Custom Keyword. You can write everything in a Test Case script.

```auto
//WebUI.openBrowser(‘’)
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put(“download.default_directory”, “C:\\Users\\bindu\\Downloads”);
prefs.put(“download.directory_upgrade”,true)
prefs.put(“download.prompt_for_download”, false);
prefs.put(“plugins.always_open_pdf_externally”, true);
prefs.put(“profile.default_content_settings.popups”,0);
prefs.put(“profile.content_settings.exceptions.automatic_downloads.*.setting”,1);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption(“prefs”, prefs);
WebDriver driver = new ChromeDriver(options);
DriverFactory.changeWebDriver(driver);

WebUI.navigateToUrl(GlobalVariable.URL)
WebUI.maximizeWindow()
WebUI.setText(findTestObject(‘Object Repository/Login/input_User ID_username’), GlobalVariable.Username)
WebUI.setText(findTestObject(‘Object Repository/Login/input_P_password’), GlobalVariable.Password)
WebUI.setText(findTestObject(‘Object Repository/Login/input_Validation Code_token’), CustomKeywords.‘mfa.readmfa.GetMFATokenFiler’())
WebUI.click(findTestObject(‘Object Repository/Login/button_Continue’))
WebUI.click(findTestObject('Object Repository/Login/a_User Agreement)) //The user agreement is the PDF that needs to be downloaded

```

If you want improve this by any means, do it yourself.

---

<div class="post-metadata">

**Author:** ![kazurayam](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/kazurayam/32/333_2.png) [@kazurayam](https://forum.katalon.com/u/kazurayam)\
**Post date:** [October 12, 2025, 12:04am UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/10 "2025-10-12T00:04:22Z")

</div>

Selenium 4 has deprecated the “Desired Capabilities” class. The Selenium project uses the term “Browser Options” instead.

- [Browser Options | Selenium](https://www.selenium.dev/documentation/webdriver/drivers/options/)

The title of the Katalon document page [“Set up Desired Capabilities”](https://docs.katalon.com/katalon-studio/manage-projects/project-settings/desired-capabilities/set-up-desired-capabilities-for-webui-testing-in-katalon-studio#set-firefoxfirefox-headless-desired-capabilities-in-katalon-studio) is inappropriate for v10.x. The term “Desired Capability” should not be used for v10.x. The title should rather be “Set up Browser Options”.

Also, the GUI should not display “Desired Capability” any longer for v10:

 ![スクリーンショット 2025-10-12 8.59.45](https://europe1.discourse-cdn.com/katalon/original/3X/e/e/ee2533b1eb5d437d164e965677293bb102b7d7fd.jpeg)

---

<div class="post-metadata">

**Author:** ![dineshh](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/dineshh/32/24488_2.png) [@dineshh](https://forum.katalon.com/u/dineshh)\
**Post date:** [October 13, 2025, 6:03am UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/11 "2025-10-13T06:03:55Z")

</div>

your issue resolved or still facing any challenges? @bindu.nair

---

<div class="post-metadata">

**Author:** ![gmarichal](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/gmarichal/32/28810_2.png) [@gmarichal](https://forum.katalon.com/u/gmarichal)\
**Post date:** [October 14, 2025, 9:15pm UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/12 "2025-10-14T21:15:00Z")

</div>

I would strongly recommend to encapsulate this logic in a customKeyword so you can call it on every test case you need without the risk of missing a single character and waste time fixing the issue. 🙃

Also, CustomKeywords can be exported as test Artifacts, so it can be shared with other projects or teammates who need this solution.

---

<div class="post-metadata">

**Author:** ![kazurayam](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/kazurayam/32/333_2.png) [@kazurayam](https://forum.katalon.com/u/kazurayam)\
**Post date:** [October 15, 2025, 2:50am UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/14 "2025-10-15T02:50:51Z")

</div>

Let me go back to the original post by @bindu.nair.

@bindu.nair asked

> Could you please provide assistance on how to convert these `DesiredCapabilities` settings to use `Options` in Katalon 10.x, so that the PDFs download directly?

However @bindu.nair did not show to us how exactly he/she coded the `prefs`:

 ![Screenshot - 10_7_2025 , 10_39_47 PM](https://europe1.discourse-cdn.com/katalon/original/3X/3/2/3281c6a4135c0021a6d60df5cc6acd2ae1353193.jpeg)

Therefore, nobody can answer to his/her question:

---

<div class="post-metadata">

**Author:** ![kazurayam](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/kazurayam/32/333_2.png) [@kazurayam](https://forum.katalon.com/u/kazurayam)\
**Post date:** [October 15, 2025, 3:03am UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/15 "2025-10-15T03:03:55Z")

</div>

> [@gmarichal](#):
>
> I would strongly recommend to encapsulate this logic in a customKeyword

I think I don’t need to write a custom keyword.

If @bindu.nair set-up the Project Settings\>Browser Options (formally known as Desired Capability) \> Web UI \>Chrome appropriately, he should be able to download a PDF file into a folder he/she preferes.

* * *

I examined a hands-on, and got a success. Let me copy&paste it.

I wrote a `Test Cases/TC2`:

```auto
import java.nio.file.Files
import java.nio.file.Path
import java.nio.file.Paths

import org.openqa.selenium.WebDriver
import org.openqa.selenium.chrome.ChromeDriver
import org.openqa.selenium.chrome.ChromeOptions

import com.kms.katalon.core.testobject.ConditionType
import com.kms.katalon.core.testobject.TestObject
import com.kms.katalon.core.webui.driver.DriverFactory
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI

/**
 * TC2
 */

TestObject makeTestObject(String id, String xpath) {
	TestObject tObj = new TestObject(id)
	tObj.addProperty('xpath', ConditionType.EQUALS, xpath)
	return tObj
}

String username = 'kazurayam'
Path outdir = Paths.get("/Users/${username}/tmp")
Files.createDirectories(outdir)
Path downloadedFile = outdir.resolve('SDG_Guidelines_AUG_2019_Final.pdf')
if (Files.exists(downloadedFile)) {
	Files.delete(downloadedFile)
}

WebUI.openBrowser('')

WebUI.navigateToUrl('https://www.un.org/sustainabledevelopment/news/communications-material/')
WebUI.maximizeWindow()

TestObject anchor = makeTestObject('guidlines', '//section[@id="content"]//a[contains(., "guidelines")]')
WebUI.verifyElementPresent(anchor, 10)
WebUI.click(anchor)
WebUI.delay(10)

WebUI.closeBrowser()

// make sure if the pdf file has been successfully downloaded
assert Files.exists(downloadedFile)

```

and I setup the Project settings as follows:

 ![image (1)](https://europe1.discourse-cdn.com/katalon/original/3X/9/0/90fb18fac6ad838b4133431589dd762386991e07.jpeg)

I used Katalon Studio v10.3.2 on macOS 15.6.2.

This code set worked for me. I could download a PDF file and save it into the folder I wanted.

---

<div class="post-metadata">

**Author:** ![kazurayam](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/kazurayam/32/333_2.png) [@kazurayam](https://forum.katalon.com/u/kazurayam)\
**Post date:** [October 15, 2025, 3:04am UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/16 "2025-10-15T03:04:02Z")

</div>

By the way, the following Test Case script does the same as TC2 without the project settings using GUI:

```auto
import java.nio.file.Files
import java.nio.file.Path
import java.nio.file.Paths

import org.openqa.selenium.WebDriver
import org.openqa.selenium.chrome.ChromeDriver
import org.openqa.selenium.chrome.ChromeOptions

import com.kms.katalon.core.testobject.ConditionType
import com.kms.katalon.core.testobject.TestObject
import com.kms.katalon.core.webui.driver.DriverFactory
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI

/**
 * TC1
 */

// make a Test Object
TestObject makeTestObject(String id, String xpath) {
	TestObject tObj = new TestObject(id)
	tObj.addProperty('xpath', ConditionType.EQUALS, xpath)
	return tObj	
}

// define a folder to save a PDF
String username = 'kazuarayam'
Path outdir = Paths.get("/Users/${username}/tmp")
Files.createDirectories(outdir)

// remove the pdf file that were previously downloaded
Path downloadedFile = outdir.resolve('SDG_Guidelines_AUG_2019_Final.pdf')
if (Files.exists(downloadedFile)) {
	Files.delete(downloadedFile)	
}

// setup ChromeOptions
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("download.default_directory", outdir.toString());
prefs.put("download.prompt_for_download", false);
prefs.put("download.directory_upgrade",true)
prefs.put("plugins.always_open_pdf_externally", true);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", prefs);

// opewn Chrome browser
WebDriver driver = new ChromeDriver(options);
DriverFactory.changeWebDriver(driver);

// navigate to a URL
WebUI.navigateToUrl('https://www.un.org/sustainabledevelopment/news/communications-material/')
WebUI.maximizeWindow()

// click a link to download & save a PDF into a custom location
TestObject anchor = makeTestObject('guidlines', '//section[@id="content"]//a[contains(., "guidelines")]')
WebUI.verifyElementPresent(anchor, 10) 
WebUI.click(anchor)
WebUI.delay(10)

WebUI.closeBrowser()

// make sure if the pdf file has been successfully downloaded
assert Files.exists(downloadedFile)

```

---

<div class="post-metadata">

**Author:** ![kazurayam](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/kazurayam/32/333_2.png) [@kazurayam](https://forum.katalon.com/u/kazurayam)\
**Post date:** [October 15, 2025, 3:10am UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/17 "2025-10-15T03:10:17Z")

</div>

By the way, Katalon Studio v10.3.2 often **hangs-up** when I double-click the `Value` field in the “Dictionary Property Builder” of “Chrome”\<Web UI\<Desired Capabilities\<Project Settings. I had to terminate Katalon Studio entirely at the OS level, and restart it.

I am not surprised with this issue. I have seen this **buggy** behaviour since v5 years ago. I am bored with this sort of UI fragility of Katalon Studio.

See

> [@Katalon Studio hangs when double-clicked on the Dictionary Property Builder for Desired Capabilities](http://forum.katalon.com/t/katalon-studio-hangs-when-double-clicked-on-the-dictionary-property-builder-for-desired-capabilities/183700):
>
> I made a GitHub repository of the project that you can reproduce the issue: I used Katalon Studio v１０.３.2 free on macOS 15.2.6 I opend the dialog Project \> Settings I navigated to Desired Capabilitites \> Web UI \> Chrome I chose the Value of prefs. Then a diaglog titled “Dictionary Property Builder” opend. I chose the 1st row of “download.default\_directory”, then the row’s background color turned to be blue. I gave double click on the Value field of the row; I intended to edit the value…

---

<div class="post-metadata">

**Author:** ![kazurayam](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/kazurayam/32/333_2.png) [@kazurayam](https://forum.katalon.com/u/kazurayam)\
**Post date:** [October 15, 2025, 3:20am UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/18 "2025-10-15T03:20:27Z")

</div>

I found an itchy problem concerning Project Settings of Katalon Studio.

See the following screenshot

 ![image (1)](https://europe1.discourse-cdn.com/katalon/original/3X/9/0/90fb18fac6ad838b4133431589dd762386991e07.jpeg)

In the value of `download.default_directory` of `profs` of `Chrome`’s `Desired Capabilities`, I wrote a constant string

- `/Users/kazurayam/tmp`

Here is a constant string `kazurayam` is hard coded. I don’t like this value hard coded.

Is it possible to write an expression `${GlobalVariable.username}` and interpolate it with my os-username at runtime?

I once tried, but Katalon Studio hanged up! So I gave up.

Due to these mess, I would conclude that the GUI for setting the Browser Options (formally know as Desired Capabitilies) in the Project Settings of Katalon Studio is not really useful for me. The GUI is poorly implemented; it is troublesome.

I would prefer coding a custom keyword, as @gmarichal suggested 😀

---

<div class="post-metadata">

**Author:** ![gmarichal](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/gmarichal/32/28810_2.png) [@gmarichal](https://forum.katalon.com/u/gmarichal)\
**Post date:** [October 15, 2025, 12:57pm UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/19 "2025-10-15T12:57:30Z")

</div>

Wow! Nice catchs @kazurayam !

I agree with you, GUI options for setting Capabillities/Options should be updated to reflect the new browser changes.

Maybe it’s on the Katalon Roadmap @nghi.phan ?

---

<div class="post-metadata">

**Author:** ![rudy.nutbeij](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/rudy.nutbeij/32/23870_2.png) [@rudy.nutbeij](https://forum.katalon.com/u/rudy.nutbeij)\
**Post date:** [October 15, 2025, 1:00pm UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/20 "2025-10-15T13:00:36Z")

</div>

try ~/tmp

---

<div class="post-metadata">

**Author:** ![kazurayam](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/kazurayam/32/333_2.png) [@kazurayam](https://forum.katalon.com/u/kazurayam)\
**Post date:** [October 15, 2025, 1:15pm UTC](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346/21 "2025-10-15T13:15:42Z")

</div>

> [@rudy.nutbeij](#):
>
> try ~/tmp

I don’t think it will work.

“Tilda `~` as the _user’s home directory_” is a Shell convention.

Java/Groovy language does not understand what `~` means.

[Next page](https://forum.katalon.com/t/shifting-from-desired-capabilities-to-options/183346.md?page=2)
