Katalon provides a sample project healthcare. It contains a Test Case named Main Test Cases/TC1_Verify Successful Login. I used this code as the starting point.
I splitted this code into 2: part1 and part2.
part1
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import internal.GlobalVariable
WebUI.comment('Story: Login to CURA system')
WebUI.comment('Given that the user has the valid login information')
WebUI.openBrowser(GlobalVariable.G_SiteURL)
WebUI.click(findTestObject('Page_CuraHomepage/btn_MakeAppointment'))
WebUI.setText(findTestObject('Page_Login/txt_UserName'), Username)
WebUI.setText(findTestObject('Page_Login/txt_Password'), Password)
WebUI.comment('When he logins to CURA system')
WebUI.click(findTestObject('Page_Login/btn_Login'))
//WebUI.comment('Then he should be able to login successfully')
//landingPage = WebUI.verifyElementPresent(findTestObject('Page_CuraAppointment/div_Appointment'), GlobalVariable.G_Timeout)
//WebUI.closeBrowser()
part2
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import internal.GlobalVariable
/*
WebUI.comment('Story: Login to CURA system')
WebUI.comment('Given that the user has the valid login information')
WebUI.openBrowser(GlobalVariable.G_SiteURL)
WebUI.click(findTestObject('Page_CuraHomepage/btn_MakeAppointment'))
WebUI.setText(findTestObject('Page_Login/txt_UserName'), Username)
WebUI.setText(findTestObject('Page_Login/txt_Password'), Password)
WebUI.comment('When he logins to CURA system')
WebUI.click(findTestObject('Page_Login/btn_Login'))
*/
WebUI.comment('Then he should be able to login successfully')
landingPage = WebUI.verifyElementPresent(findTestObject('Page_CuraAppointment/div_Appointment'), GlobalVariable.G_Timeout)
WebUI.closeBrowser()
Running the two test cases on v10.4.0
- I ran the part1. It worked fine. A window of Chrome browser was opened by the test cases’
WebUI.openBrowser(). The window was left unclosed because the part1 script does NOT callWebUI.closeBrowser(). - I opened the part2. I chose the menu of selecting browser type of “Chrome (default) > CURA Healthcare S…”
then the part2 ran successfully.
The browser was closed by the part2 script. This is fine.
Running the two test cases on v11.0.0
- I ran the part1. It worked fine. A window of Chrome browser was opened by the test cases’
WebUI.openBrowser(). The window was left unclosed because the part1 script does NOT callWebUI.closeBrowser(). - I opened the part2. I chose the menu of selecting browser type of “Chrome (default) > CURA Healthcare S…”
- Then, the part2 did not start. No processing continued.
- in the
.logfile, I found the following stacktrace emitted:
!ENTRY org.eclipse.e4.ui.workbench 2 0 2026-02-03 21:24:36.299
!MESSAGE c.k.k.c.e.h.AbstractExecutionHandler - Failed to prepare execution request for test case execution.com.katalon.execution.exception.ExecutionException: Cannot determine capability setting for execution.
at com.kms.katalon.composer.execution.handlers.AbstractExecutionHandler.prepareExecutionRequest(AbstractExecutionHandler.java:1046)
at com.kms.katalon.composer.execution.handlers.AbstractExecutionHandler$13.run(AbstractExecutionHandler.java:938)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.lang.NullPointerException: Cannot invoke "com.katalon.capability.constant.DriverType.ordinal()" because "driverType" is null
at com.katalon.capability.factory.CapabilityHandlerFactoryImpl.getCapabilityHandler(CapabilityHandlerFactoryImpl.java:26)
at com.katalon.capability.manager.impl.CapabilityManagerImpl.getCapability(CapabilityManagerImpl.java:31)
at com.kms.katalon.composer.execution.handlers.AbstractExecutionHandler.determineCapabilityFromHandler(AbstractExecutionHandler.java:1100)
at com.kms.katalon.composer.execution.handlers.AbstractExecutionHandler.prepareExecutionRequest(AbstractExecutionHandler.java:1044)
... 2 common frames omitted
com.katalon.execution.exception.ExecutionException: Cannot determine capability setting for execution.
at com.kms.katalon.composer.execution.handlers.AbstractExecutionHandler.prepareExecutionRequest(AbstractExecutionHandler.java:1046)
at com.kms.katalon.composer.execution.handlers.AbstractExecutionHandler$13.run(AbstractExecutionHandler.java:938)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.lang.NullPointerException: Cannot invoke "com.katalon.capability.constant.DriverType.ordinal()" because "driverType" is null
at com.katalon.capability.factory.CapabilityHandlerFactoryImpl.getCapabilityHandler(CapabilityHandlerFactoryImpl.java:26)
at com.katalon.capability.manager.impl.CapabilityManagerImpl.getCapability(CapabilityManagerImpl.java:31)
at com.kms.katalon.composer.execution.handlers.AbstractExecutionHandler.determineCapabilityFromHandler(AbstractExecutionHandler.java:1100)
at com.kms.katalon.composer.execution.handlers.AbstractExecutionHandler.prepareExecutionRequest(AbstractExecutionHandler.java:1044)
... 2 common frames omitted
Now we know, v11.0.0 has a bug that causes a java.lang.NullPointerException.
The message
Caused by: java.lang.NullPointerException: Cannot invoke “com.katalon.capability.constant.DriverType.ordinal()” because “driverType” is null
looks trivial to me.


