Katalon typing too slow into input type text

I just updated and Katalon is typing really slow, maybe 8 seconds per character.

Please share your test code. Thank you.

We are having the same issue.
Takes 6-7 seconds for each letter to appear.

Test code is very simple

WebUI.setText(findTestObject(‘Corporate/Page_Reservation/input_Voornaam_FormFirstName’), GlobalVariable.FirstName)

Katalon Studio
Version: 6.3.2
Build: 4

IEDriverserver is at 25% on a 4 core system (so 100% on one core)

No plugins.
Fresh restart of the laptop

It’s an IE Driver problem. You can try switch to a 32 bit version

A couple of suggestions:

1.) If you have a choice, choose not to use IE. The browser itself is not great, and the driver for it is worse.

2.) The setText() method uses Selenium’s sendKeys() method behind the scenes. This simulates pressing the keys, one by one, corresponding to each character in the String, like you would on a keyboard. A “better” way would be to set values using JavaScript, which sets the value attribute of the element all at once:

WebElement element = WebUiCommonHelper.findWebElement(findTestObject('your/object'), 30)
WebUI.executeJavaScript("arguments[0].value='some value'", Arrays.asList(element))
2 Likes

Hi Brandon,

  1. IE still has about 10% of the visitors, so we need to test.
  2. I would like the tests to be as close to the UX as possible.
    Setting the value on a field will work if the field is inaccessible from the UI, so we’d capture less error’s this way.
    A compromise I implemented is to only use the javascript in IE and the SetText on other browsers like this:
import com.kms.katalon.core.webui.driver.DriverFactory as DriverFactory
import com.kms.katalon.core.webui.common.WebUiCommonHelper as WebUiCommonHelper
import org.openqa.selenium.WebElement

WebElement search = WebUiCommonHelper.findWebElement(findTestObject('Corporate/HomePage/MainSearchBox'), 10)

if(DriverFactory.getExecutedBrowser().getName() == "IE_DRIVER") 
{	
	WebUI.executeJavaScript("arguments[0].value='"+ GlobalVariable.Search+"'", Arrays.asList(search))
} 
else 
{
	WebUI.setText(search,GlobalVariable.Search)
}

Thank you for pointing me in the right direction, @Brandon_Hein

1 Like

you can change the IE driver to IE driver version x32 it will work.
IE Driver Location: <Katalon Studio folder>\configuration\resources\drivers\
you can download it from here depending on your selenium version:
https://selenium-release.storage.googleapis.com/index.html

I’m seeing this too, but for me, it’s happening on an iOS device, not IE. I’ve only made two test cases so far, but both seem to be exhibiting this problem on my login and logout fields. Here’s an example:

import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject
import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.testcase.TestCase as TestCase
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows
import internal.GlobalVariable as GlobalVariable
import org.openqa.selenium.Keys as Keys

Mobile.startExistingApplication('com.acstechnologies.Realm.Engagement')

Mobile.tap(findTestObject('iOS_OR/XCUIElementTypeTextField - Email'), 0)

Mobile.tap(findTestObject('Object Repository/iOS_OR/XCUIElementTypeStaticText - Continue'), 0)

Mobile.setText(findTestObject('iOS_OR/XCUIElementTypeTextField - Email'), 'thecitytest+331@gmail.com', 0)

Mobile.tap(findTestObject('iOS_OR/XCUIElementTypeSecureTextField - Password'), 0)

Mobile.setText(findTestObject('iOS_OR/XCUIElementTypeSecureTextField - Password'), '1Password', 0)

Mobile.tap(findTestObject('iOS_OR/XCUIElementTypeButton - Sign In'), 0)

Mobile.delay(1, FailureHandling.STOP_ON_FAILURE)

Mobile.tap(findTestObject('iOS_OR/XCUIElementTypeStaticText - Our Lady of Technical Truth'), 0)

Mobile.delay(1, FailureHandling.STOP_ON_FAILURE)

Mobile.tap(findTestObject('iOS_OR/XCUIElementTypeButton - More'), 0)

Mobile.tap(findTestObject('iOS_OR/XCUIElementTypeStaticText - Profile'), 0)

Mobile.delay(1, FailureHandling.STOP_ON_FAILURE)

Mobile.swipe(100, 700, 100, 100)

Mobile.tap(findTestObject('iOS_OR/XCUIElementTypeStaticText - Sign Out'), 0)

Mobile.closeApplication()