Operating System
Windows 10
Katalon Studio version
8.4.1
Log Folder:
.log (65.5 KB)
Environment (for Web Testing)
Chrome 105.0.5195.102
Steps to reproduce
Run WebUI.verifyOptionPresentByLabel() on a select element with several thousand or more options. See that it takes several minutes to run.
Expected Behavior
Method adheres to specified maximum timeout. If method is unable to perform within the allotted time, it should throw an appropriate error.
Actual Behavior
Method runs in excess of timeout, including and up to excessive runtimes for select elements with many options.
More Information
The select element is being selected via a TestObject with a CSS selector (‘select#${id}’ with the appropriate ID passed to it). The select element has about 8500 options, so I’m not surprised it takes some time to verify a label is present, but taking several minutes to check the label against those options is absurd. Regex enabled/disabled makes no noticeable difference.
One of our test cases has multiple consecutive calls to this method, and some interesting behavior ensues. The test case appears to freeze, and it does so for long enough for our website to log out due to inactivity. As soon as it does so, the test suddenly jumps forward several steps, and each of the calls to verifyOptionPresentByLabel is printed to the log viewer with various runtimes between 50 seconds and 5 minutes. If it was hanging on the first call, I’d expect only the first one to have been called and then see the test hit the next calls after the logout (where they would immediately fail because the element doesn’t exist on the login page), but that’s not what’s happening.
It’s also weird how varied the runtimes are. If the method was succeeding, I wouldn’t be surprised, since it could be explained by the method finding the label and terminating early. But these all failed to find the option in the dropdown.
Screenshots / Videos (please attach screenshots or videos if necessary to reproduce the issue)
![]()
![]()
![]()
![]()
IsAttributeVisible has a couple WaitFors (5 seconds max) and then a call to verifyOptionPresentByLabel. The WaitFors aren’t contributing anything substantial, as I was able to reproduce this issue with an isolated call to verifyOptionPresentByLabel on the same select element.
