Katalon won’t start running using the current browser session opened by Katalon

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 call WebUI.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 call WebUI.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 .log file, 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.

2 Likes