java.lang.ClassNotFoundException when run test case

i just run a simple test to check the web services response but hitting error, anyone could advice is that katalon issue or something to deal with the test object/custom keyword setup?

Test Case:
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 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 internal.GlobalVariable as GlobalVariable

String response = CustomKeywords.‘testLog.KafkaRest.getAllTopics’()
print response

Console Log:
SLF4J: The requested version 1.7.16 by your slf4j binding is not compatible with [1.6]
SLF4J: See SLF4J Error Codes for further details.
2019-07-23 14:18:55.341 INFO c.k.katalon.core.main.TestCaseExecutor - --------------------
2019-07-23 14:18:55.344 INFO c.k.katalon.core.main.TestCaseExecutor - START Test Cases/New Test Case 2
2019-07-23 14:18:55.790 DEBUG testcase.New Test Case 2 - 1: response = testLog.KafkaRest.getAllTopics()
2019-07-23 14:18:55.810 ERROR k.k.c.m.CustomKeywordDelegatingMetaClass - :x: testLog.KafkaRest
2019-07-23 14:18:55.814 ERROR c.k.katalon.core.main.TestCaseExecutor - :x: Test Cases/New Test Case 2 FAILED.
Reason:
java.lang.ClassNotFoundException: testLog.KafkaRest
at com.kms.katalon.core.main.CustomKeywordDelegatingMetaClass.getCustomKeywordClassAndSetMetaClass(CustomKeywordDelegatingMetaClass.java:100)
at com.kms.katalon.core.main.CustomKeywordDelegatingMetaClass.invokeStaticMethod(CustomKeywordDelegatingMetaClass.java:45)
at New Test Case 2.run(New Test Case 2:16)
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:337)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:328)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:307)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:299)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:233)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1563862733510.run(TempTestCase1563862733510.groovy:21)

2019-07-23 14:18:55.821 INFO c.k.katalon.core.main.TestCaseExecutor - END Test Cases/New Test Case 2

if you mean a bug then probably not

this means that katalon can’t find your custom keyword
Did you add this keyword using the manual view ?
if not try adding it from the manual view and check if it’s the same syntax as this one

if you still can’t solve it post a screenshot of your keywords folder and if possible getAllTopics function

i modify the web service object GET Url to hava a space behind and it works. no more error thrown, test cases passed.
strange, anyone can explain it why?

No one can tell you because we don’t know how you set up your keyword :smile:

it is just a simple package and keyword, paste the codes here.

package testlog

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 com.kms.katalon.core.annotation.Keyword
import com.kms.katalon.core.checkpoint.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
import com.kms.katalon.core.testcase.TestCase
import com.kms.katalon.core.testdata.TestData
import com.kms.katalon.core.testobject.TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI

import groovy.json.JsonBuilder
import groovy.json.JsonOutput
import groovy.json.JsonSlurper

import internal.GlobalVariable

public class KafkaRest {
@Keyword
getAllTopics() {

	def result = WS.sendRequestAndVerify(findTestObject('get-all-topics'))

	return result
}

}

Hi @Gan_Jyi_Yng,
testlog.KafkaRest or testLog.KafkaRest?