Katalon 10.3.1 vs 10.2.4 - Issues with Kendo Dropdowns and Certain Buttons

Katalon 10.3.1 vs 10.2.4 - Issues with Kendo Dropdowns and Certain Buttons

Hi all, I’ve been troubleshooting some issues and tried multiple methods of “fixing” my issues but have had no luck.

For a few months I’ve had test suites run with no issues and complete 100% of the time. Recently, I’ve come across these issues on my machine running Katalon 10.3.1 but pass machines running Katalon 10.2.4. The most troublesome one is issue #2.

Issues:

  1. On my machine, during a simple front end login test, it takes 10+ seconds to click the login button but it only takes milliseconds to find the web element. On a different machine running Katalon 10.2.4, it clicks instantly. Is this an issue with Katalon 10.3.1?

Katalon 10.3.1 Event Log: (Last step takes 10 seconds to execute)

Katalon 10.2.4 Log: (Last step takes .663 seconds to execute)image

  1. The website the tests run on uses Kendo UI as a front end library, so most of the elements being interacted with are Kendo components. Researching this, I’ve learned that Kendo can be notoriously tricky to automate certain components such as the dropdown menus, but I have not had issues until recently. The strategy I used for months (and still works in 10.2.4!) and worked successfully was this:

a. Locate the dropdown menu

b. Click this object to engage the dropdown

c. Click an object in the dropdown using an xpath similar to ‘//span[text()=”Dropdown Menu Item”]

d. NOTE: These test objects are all nested in an iframe and have the correct locatable iframe set as the parent iframe in these test objects. Most other test objects in this iframe are all interactable and working, so shouldn’t be an issue with the configured iframe.

This method worked for months and now is failing ONLY in Katalon 10.3.1 and works as expected in Katalon 10.2.4. There are a few differences I’m noticing when comparing the test run in the two versions:

Katalon 10.3.1 Log:

image

Error: Caused by: org.openqa.selenium.ElementNotInteractableException: element not interactable

Full error:

=============== ROOT CAUSE =====================
Caused by: org.openqa.selenium.ElementNotInteractableException: element not interactable
At object: 'Object Repository/Admin UX/Manage Users page/Add User popup/span_Coach Role'

For trouble shooting, please visit: https://docs.katalon.com/katalon-studio/troubleshooting/troubleshoot-common-exceptions
================================================

10-07-2025 03:20:21 PM Test Cases/Coaching Program/Roles - Create Temp Coach

Elapsed time: 48.878s

Test Cases/Coaching Program/Roles - Create Temp Coach FAILED.
Reason:
com.kms.katalon.core.exception.StepFailedException: Unable to click on object 'Object Repository/Admin UX/Manage Users page/Add User popup/span_Coach Role'
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:175)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:49)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeywordUntilTimeout(WebUIKeywordMain.groovy:132)
	at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword.click(ClickKeyword.groovy:63)
	at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword.execute(ClickKeyword.groovy:38)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:79)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.click(WebUiBuiltInKeywords.groovy:721)
	at Roles - Create Temp Coach.run(Roles - Create Temp Coach:51)
	at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
	at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
	at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:486)
	at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:477)
	at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:456)
	at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:448)
	at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:322)
	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:151)
	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:139)
	at TempTestCase1759864816362.run(TempTestCase1759864816362.groovy:25)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Caused by: org.openqa.selenium.ElementNotInteractableException: element not interactable
  (Session info: chrome=140.0.7339.210)
Build info: version: '4.28.1', revision: '73f5ad48a2'
System info: os.name: 'Windows 11', os.arch: 'amd64', os.version: '10.0', java.version: '17.0.14'
Driver info: com.kms.katalon.selenium.driver.CChromeDriver
Command: [c5a48df173a50c3620f0da3aff910b30, clickElement {id=f.933CF32E07D02A9CBD61F7EF4A7D3A09.d.DA7F8612520C18C21D5F3625BB6E6D06.e.654}]
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 140.0.7339.210, chrome: {chromedriverVersion: 139.0.7258.66 (a62d32994769..., userDataDir: C:\Users\pkrinsky\AppData\L...}, fedcm:accounts: true, goog:chromeOptions: {debuggerAddress: localhost:64678}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: windows, proxy: Proxy(), se:cdp: ws://localhost:64678/devtoo..., se:cdpVersion: 140.0.7339.210, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: {alert: ignore, beforeUnload: ignore, confirm: ignore, default: ignore, file: ignore, prompt: ignore}, webSocketUrl: ws://localhost:30760/sessio..., webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
Element: [[CChromeDriver: chrome on windows (c5a48df173a50c3620f0da3aff910b30)] -> xpath: //*[(text() = 'Coach Role' or . = 'Coach Role')]]
Session ID: c5a48df173a50c3620f0da3aff910b30
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at org.openqa.selenium.remote.ErrorCodec.decode(ErrorCodec.java:167)
	at org.openqa.selenium.remote.codec.w3c.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:138)
	at org.openqa.selenium.remote.codec.w3c.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:50)
	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:215)
	at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:216)
	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:174)
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)
	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:223)
	at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:76)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at org.openqa.selenium.support.decorators.WebDriverDecorator.call(WebDriverDecorator.java:315)
	at org.openqa.selenium.support.decorators.DefaultDecorated.call(DefaultDecorated.java:48)
	at org.openqa.selenium.support.decorators.WebDriverDecorator.lambda$createProxyFactory$3(WebDriverDecorator.java:405)
	at net.bytebuddy.renamed.java.lang.Object$ByteBuddy$Q47VTjzv.click(Unknown Source)
	at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword$_click_closure1.doCall(ClickKeyword.groovy:56)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at jdk.proxy2/jdk.proxy2.$Proxy46.execute(Unknown Source)
	at com.kms.katalon.core.webui.model.SeleniumActionRetryController.performAction(SeleniumActionRetryController.java:109)
	at com.kms.katalon.core.webui.model.SeleniumActionRetryController.performAction(SeleniumActionRetryController.java:96)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain$_runKeywordUntilTimeout_closure1.doCall(WebUIKeywordMain.groovy:135)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain$_runKeywordUntilTimeout_closure1.call(WebUIKeywordMain.groovy)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:41)
	... 19 more

(IMPORTANT!) Test Run Observations: Right when the test reaches the step 16 click event, the dropdown closes which causes the element to not be interactable. Is it possible Katalon is firing a click event, but not “on the object” so it closes the dropdown?

Katalon 10.2.4 Log:
image

Error: no error

Test run: Works as expected, dropdown does not close before the object can be clicked and the item is clicked successfully. Test completes with 0 issues.

Troubleshooting Done:

  1. Updated webdrivers and chrome, issues persists

  2. Verified that the object is in the DOM via the inspect window and there is only 1 of 1.

  3. Added in a ‘Verify Element Clickable’ event before the click event. This passes in 10.2.4 but fails in 10.3.1

3a. Why would the WaitForElementClickable pass and VerifyElementClickable fail back to back in only 10.3.1 and not 10.2.4?

3b. In Katalon 10.3.1, the VerifyElementClickable event closes the dropdown. It almost seems like interacting with this element causes the dropdown to disappear every time.

Katalon 10.2.4 Log :image

Katalon 10.3.1 Logs : image

Error Log for 10.3.1:

=============== ROOT CAUSE =====================
Caused by: com.kms.katalon.core.exception.StepFailedException: Object 'Object Repository/Admin UX/Manage Users page/Add User popup/span_Coach Role' is NOT clickable

For trouble shooting, please visit: https://docs.katalon.com/katalon-studio/troubleshooting/troubleshoot-common-exceptions
================================================

10-07-2025 02:02:32 PM Test Cases/Coaching Program/Roles - Create Temp Coach

Elapsed time: 51.659s

Test Cases/Coaching Program/Roles - Create Temp Coach FAILED.
Reason:
com.kms.katalon.core.exception.StepFailedException: Unable to verify object 'Object Repository/Admin UX/Manage Users page/Add User popup/span_Coach Role' to be clickable
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:175)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:49)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeywordUntilTimeout(WebUIKeywordMain.groovy:132)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyElementClickableKeyword.verifyElementClickable(VerifyElementClickableKeyword.groovy:75)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyElementClickableKeyword.execute(VerifyElementClickableKeyword.groovy:40)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:79)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.verifyElementClickable(WebUiBuiltInKeywords.groovy:642)
	at Roles - Create Temp Coach.run(Roles - Create Temp Coach:50)
	at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
	at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
	at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:486)
	at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:477)
	at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:456)
	at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:448)
	at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:322)
	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:151)
	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:139)
	at TempTestCase1759860147725.run(TempTestCase1759860147725.groovy:25)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Caused by: com.kms.katalon.core.exception.StepFailedException: Object 'Object Repository/Admin UX/Manage Users page/Add User popup/span_Coach Role' is NOT clickable
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:175)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyElementClickableKeyword$_verifyElementClickable_closure1.doCall(VerifyElementClickableKeyword.groovy:63)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at jdk.proxy2/jdk.proxy2.$Proxy46.execute(Unknown Source)
	at com.kms.katalon.core.webui.model.SeleniumActionRetryController.performAction(SeleniumActionRetryController.java:109)
	at com.kms.katalon.core.webui.model.SeleniumActionRetryController.performAction(SeleniumActionRetryController.java:96)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain$_runKeywordUntilTimeout_closure1.doCall(WebUIKeywordMain.groovy:135)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain$_runKeywordUntilTimeout_closure1.call(WebUIKeywordMain.groovy)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:41)
	... 19 more
  1. A solution I tried was using a javascript click instead of the regular click action. This was suggested by Chat GPT as a workaround for Kendo’s unpredictable behavior. This seemed to work briefly, but the next day starting failing the same way where the dropdown closes and the item is not clicked.
  2. Attempted to ‘scroll the element into view’ before clicking, no luck
  3. I’ve added many delays between the events with no luck, the click event in Katalon 10.3.1 always closes the dropdown while in Katalon 10.2.4 it works normally.

Questions/Final Notes:

  1. Is this a known issue with Katalon 10.3.1 interacting with Kendo?
  2. When researching Katalon and Kendo, there are claims there can be a lot of finnicky behavior with Kendo dropdowns and their animations/overlays that are briefly in the DOM, but the slightly older version of Katalon is having no issues with this behavior. The tests are running on the same website between the two versions.
  3. I’ve attempted making the selector more accurate by going up the tree of where it lives, but have had no luck.
  4. Does anyone have any insight into why these test steps fail for the latest Katalon version only?
  5. If anyone has any clarifying questions I’d be happy to answer.

Thank you in advance to any replies!

2 Likes

is it under ul/li tag?

if yes , can you fetch the locator using ul /li xpath/css like below and then click and then select value of the droipdown

//div[ul[@id='ddlCategoryTy_listbox']]
1 Like

I compared the source code of WebUI.verifyElementClickable keyword of v10.2.4 and v10.3.1. The following is the diff.

--- /Users/kazurayam/katalon-workspace/katalon-studio-sources/versions/10.2.4/resources/source/com.kms.katalon.core.webui/com/kms/katalon/core/webui/keyword/builtin/VerifyElementClickableKeyword.groovy
+++ /Users/kazurayam/katalon-workspace/katalon-studio-sources/versions/10.3.0/resources/source/com.kms.katalon.core.webui/com/kms/katalon/core/webui/keyword/builtin/VerifyElementClickableKeyword.groovy
@@ -3,2 +3,0 @@
-import groovy.transform.CompileStatic
-
@@ -8,4 +6,0 @@
-import org.apache.commons.io.FileUtils
-import org.openqa.selenium.Alert
-import org.openqa.selenium.By
-import org.openqa.selenium.Dimension
@@ -13,3 +7,0 @@
-import org.openqa.selenium.NoSuchElementException
-import org.openqa.selenium.NoSuchWindowException
-import org.openqa.selenium.TimeoutException
@@ -17,1 +8,0 @@
-import org.openqa.selenium.WebDriverException
@@ -19,7 +9,0 @@
-import org.openqa.selenium.interactions.Actions
-import org.openqa.selenium.support.ui.ExpectedCondition
-import org.openqa.selenium.support.ui.ExpectedConditions
-import org.openqa.selenium.support.ui.FluentWait
-import org.openqa.selenium.support.ui.Select
-import org.openqa.selenium.support.ui.Wait
-import org.openqa.selenium.support.ui.WebDriverWait
@@ -27,2 +10,0 @@
-import com.google.common.base.Function
-import com.kms.katalon.core.annotation.Keyword
@@ -32,2 +13,0 @@
-import com.kms.katalon.core.keyword.BuiltinKeywords
-import com.kms.katalon.core.keyword.internal.KeywordExecutor
@@ -35,1 +14,0 @@
-import com.kms.katalon.core.logging.KeywordLogger
@@ -37,1 +15,0 @@
-import com.kms.katalon.core.testobject.ConditionType
@@ -39,4 +16,0 @@
-import com.kms.katalon.core.testobject.TestObjectProperty
-import com.kms.katalon.core.util.internal.ExceptionsUtil
-import com.kms.katalon.core.util.internal.PathUtil
-import com.kms.katalon.core.webui.common.ScreenUtil
@@ -46,2 +19,0 @@
-import com.kms.katalon.core.webui.driver.WebUIDriverType
-import com.kms.katalon.core.webui.exception.BrowserNotOpenedException
@@ -51,1 +22,1 @@
-import com.kms.katalon.core.webui.util.FileUtil
+import com.kms.katalon.core.webui.model.SeleniumActionRetryController.RetryContext
@@ -53,0 +24,2 @@
+import groovy.transform.CompileStatic
+
@@ -72,1 +45,4 @@
-        return WebUIKeywordMain.runKeyword({
+        WebDriver driver = DriverFactory.getWebDriver()
+        int timeout = RunConfiguration.getTimeOut()
+        long timeoutInMillis = TimeUnit.SECONDS.toMillis(timeout)
+        return WebUIKeywordMain.runKeywordUntilTimeout({retryContext ->
@@ -77,9 +53,9 @@
-                    isSwitchIntoFrame = WebUiCommonHelper.switchToParentFrame(to, RunConfiguration.getTimeOut())
-                    WebElement foundElement = WebUIAbstractKeyword.findWebElement(to, RunConfiguration.getTimeOut())
-                    if (foundElement.isEnabled()) {
-                        logger.logPassed(MessageFormat.format(StringConstants.KW_LOG_PASSED_OBJ_X_IS_CLICKABLE, to.getObjectId()))
-                        return true
-                    } else {
-                        WebUIKeywordMain.stepFailed(MessageFormat.format(StringConstants.KW_LOG_PASSED_OBJ_X_IS_NOT_CLICKABLE, to.getObjectId()),
-                                flowControl, null, true)
-                        return false
+                    isSwitchIntoFrame = WebUiCommonHelper.switchToParentFrame(driver, to, timeout)
+                    WebElement foundElement = WebUIAbstractKeyword.findWebElement(driver, to, timeoutInMillis)
+                    logger.logDebug("Checking if element is interactable: " + to.getObjectId());
+                    if (foundElement != null && driver instanceof JavascriptExecutor) {
+                        boolean isInteractable = waitElementInteractable((JavascriptExecutor) driver, foundElement, timeoutInMillis, (RetryContext) retryContext);
+                        if (isInteractable) {
+                            logger.logPassed(MessageFormat.format(StringConstants.KW_LOG_PASSED_OBJ_X_IS_CLICKABLE, to.getObjectId()))
+                            return true
+                        }
@@ -87,0 +63,3 @@
+                    WebUIKeywordMain.stepFailed(MessageFormat.format(StringConstants.KW_LOG_PASSED_OBJ_X_IS_NOT_CLICKABLE, to.getObjectId()),
+                            flowControl, null, true)
+                    return false
@@ -93,1 +72,1 @@
-                    WebUiCommonHelper.switchToDefaultContent()
+                    WebUiCommonHelper.switchToDefaultContent(driver)

This diff clearly shows that there is a big difference between the 2 versions.

This code difference would explain the difference of behaviour of 2 versions.

1 Like

I read the source code of WebUI.verifyElementClickable of v10.2.4 and v10.3.1.
I thought:

  • v10.2.4 does NOT check if the the target HTML element is clickable or not. In a case where the target element is NOT actually clickable for some reason, then the keyword will not detect the fact that the element is clickable or not. The keyword will always pass. This must be a bug.
  • v10.3.1 does check if the target HTML element is clickable or not. The following statement in the keyword implementation is significant:
+                        boolean isInteractable = waitElementInteractable((JavascriptExecutor) driver, foundElement, timeoutInMillis, (RetryContext) retryContext);

In short, v10.2.4 was buggy. v10.3.1 tries to fix the bug.

2 Likes

Then, how @p.krin can fix the problem with v10.3.1?

I don’t know.

I am not able to find the answer based on the information provided by @p.krin. It is not enough. For example, @p.krin does not discloses the HTML source code of the target page at all. Therefore @Monty_Bagati asked a question: “is it under ul/li tag?”. Unless we have a chance to look at the HTML source, we would not be able to think about this topic any more.

I would require the problem is reproduced on my machine so that I can see more detail hands-on.

If @p.krin makes the target system publicly accessible to the internet so that the other guys can get access to the URL, then the guys would have more chance to investigate it. Otherwise, I don’t think the guys can get any better insights.

1 Like

I can provide the HTML Source, sorry about that. Will add it to the main post. It is indeed under some ul and li elements. The ‘Coach Role’ near the bottom is the target.

<li role="treeitem" class="k-item" data-uid="cd3581b6-8e0e-4596-bc33-78c1888fde28" aria-selected="false" aria-expanded="true" data-expanded="true">
   <div class="k-mid">
      <span class="k-icon k-i-collapse"></span>
      <span class="k-in"><span class="k-sprite folder"></span>
      <span>Katalon Role Locales</span></span>
   </div>
   <ul class="k-group" role="group" style="display: block;">
      <li role="treeitem" class="k-item k-last" data-uid="d53ca2c2-b2f8-45ca-9c42-48ce8ae96e37" aria-selected="false" aria-expanded="true" data-expanded="true">
         <div class="k-bot"><span class="k-in"><span class="k-sprite folder"></span><span>Coach Role</span></span></div>
      </li>
   </ul>
</li>

Another thing about the HTML to note is this: these kendo dropdowns end up in other divs like this:

<div class="k-animation-container" style="width: 318px; height: 252.078px; overflow: visible; top: 962.469px; z-index: 10002; left: 0px; box-sizing: content-box; display: block; position: absolute;" aria-hidden="false">
<div class="w-popup k-popup k-group k-reset k-state-border-up" data-role="popup" aria-hidden="false" style="position: absolute; font-size: 16px; font-family: &quot;Open Sans&quot;, sans-serif; font-stretch: 100%; font-style: normal; font-weight: 400; line-height: normal; display: block; transform: translateY(0px);">
<span class="k-widget k-textbox locale-picker-search" style="width: 100%;"><input style="width: 100%" class="locale-picker-search k-textbox k-input" placeholder="Search" data-role="textbox" aria-disabled="false" autocomplete="off"></span>
<div class="w-locale-tree k-widget k-treeview" data-role="treeview" tabindex="0" role="tree">
<li role="treeitem" class="k-item" data-uid="f149704c-71c6-4d3a-92b3-921660da3b07" aria-selected="false" aria-expanded="true" data-expanded="true">
   <div class="k-mid"><span class="k-icon k-i-collapse"></span><span class="k-in"><span class="k-sprite folder"></span><span>Katalon Role Locales</span></span></div>
   <ul class="k-group" role="group" style="display: block;">
      <li role="treeitem" class="k-item k-last" data-uid="b1a00eb6-51c5-4a03-bd79-944435cf8923" aria-selected="false" aria-expanded="true" data-expanded="true">
         <div class="k-bot"><span class="k-in"><span class="k-sprite folder"></span><span>Coach Role</span></span></div>
      </li>
   </ul>
</li>

[edited post after further research to remove some questions/comments]

1 Like

Thank you for disclosing a HTML source fragment. Still I don’t understand your issue. I need to see a web app, which reproduces your issue, in action in my hand.

Let me suggest an idea.

Kendo UI project publishes a demo site where we can see HTML pages with Kendo UI in action.

Kendo Dropdown is covered as well:

@p.krin

Would you develop a new Katalon project that targets the Kendo Demo site?
Would you try to reproduce your insident targeting the Kendo Demo site?

If you could develop it which demonstrates what you found problematic concerning Kendo Dropdown and Katalon Studio, then you can share the project. With it, others would be able to have a look and share their findings productively.

1 Like

use the below xpath , add a slight delay before clicking on the below

//li[.//span[text()=‘Katalon Role Locales’]]//ul/li//span[text()=‘Coach Role’]

1 Like