ClassNotFoundException

ClassNotFoundException

将Katalon Studio更新到5.9.1之后,在Jenkins中运行测试时,有时会在自定义关键字类上得到java.lang.ClassNotFoundException: cz.elektLabs.Keywords

奇怪的是,它不会每次都发生,并且我们无法复制它。在5.7版之前就可以使用。

这是我们的自定义关键字类的开始:

package cz.elektLabs
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject

import org.jsoup.Jsoup
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import org.jsoup.select.Elements
import org.openqa.selenium.By

import com.kms.katalon.core.annotation.Keyword
import com.kms.katalon.core.model.FailureHandling
import com.kms.katalon.core.util.KeywordUtil
import com.kms.katalon.core.webui.driver.DriverFactory
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI

import groovy.json.JsonSlurper
import groovy.time.TimeCategory
import internal.GlobalVariable

class Keywords {
    @Keyword
    def boolean checkIfValidImage(String url) {
        ...
    }
    ...
}


这是我们得到的错误:

2018-12-14 09:18:53.987 ERROR k.k.c.m.CustomKeywordDelegatingMetaClass - ? cz.elektLabs.Keywords
2018-12-14 09:18:53.988 ERROR c.k.katalon.core.main.TestCaseExecutor   - ? cz.elektLabs.Keywords.openAndLogin() FAILED.
Reason:
java.lang.ClassNotFoundException: cz.elektLabs.Keywords
    at com.kms.katalon.core.main.CustomKeywordDelegatingMetaClass.getCustomKeywordClassAndSetMetaClass(CustomKeywordDelegatingMetaClass.java:98)
    at com.kms.katalon.core.main.CustomKeywordDelegatingMetaClass.invokeStaticMethod(CustomKeywordDelegatingMetaClass.java:44)
    at TestSystem.run(TestSystem:17)
    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:321)
    at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:312)
    at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:291)
    at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:283)
    at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:222)
    at com.kms.katalon.core.main.TestSuiteExecutor.accessTestCaseMainPhase(TestSuiteExecutor.java:129)
    at com.kms.katalon.core.main.TestSuiteExecutor.accessTestSuiteMainPhase(TestSuiteExecutor.java:112)
    at com.kms.katalon.core.main.TestSuiteExecutor.execute(TestSuiteExecutor.java:81)
    at com.kms.katalon.core.main.TestCaseMain.startTestSuite(TestCaseMain.java:149)
    at com.kms.katalon.core.main.TestCaseMain$startTestSuite$0.call(Unknown Source)
    at TempTestSuite1544775530390.run(TempTestSuite1544775530390.groovy:36)


我们有什么办法可以解决此问题?

编辑:我们已将Katalon Studio更新为版本5.10.1,但仍然时不时地得到ClassNotFoundExceptionNoClassDefFoundError

最佳答案

请确保您已经在计算机上安装了Open JDK 1.8。

关于java - 将Katalon Studio更新到版本5.9.1-ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53776207/

10-10 19:26