Guys I am receiving this type error while running the feature file cucumber framework in katalon studio?


=============== ROOT CAUSE =====================

Caused by: java.lang.SecurityException: class "module-info"'s signer information does not match signer information of other classes in the same package

For trouble shooting, please visit: https://docs.katalon.com/katalon-studio/docs/troubleshooting.html

================================================

09-06-2024 03:44:41 PM Verification

Elapsed time: 1.783s

Verification FAILED.

Reason:

com.kms.katalon.core.exception.StepFailedException: Keyword runFeatureFile was failed (Root cause: java.lang.SecurityException: class "module-info"'s signer information does not match signer information of other classes in the same package

at cucumber.runtime.io.ResourceLoaderClassFinder.loadClass(ResourceLoaderClassFinder.java:42)

at cucumber.runtime.io.ResourceLoaderClassFinder.getDescendants(ResourceLoaderClassFinder.java:32)

at cucumber.runtime.Reflections.instantiateSubclasses(Reflections.java:33)

at cucumber.runtime.Reflections.instantiateExactlyOneSubclass(Reflections.java:17)

at cucumber.runtime.Runtime.loadBackends(Runtime.java:86)

at cucumber.runtime.Runtime.<init>(Runtime.java:42)

at cucumber.api.cli.Main.run(Main.java:34)

at cucumber.api.cli.Main$run.call(Unknown Source)

at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFile_closure1.doCall(CucumberBuiltinKeywords.groovy:110)

at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFile_closure1.doCall(CucumberBuiltinKeywords.groovy)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:75)

at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:69)

at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)

at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFile(CucumberBuiltinKeywords.groovy:77)

at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$runFeatureFile.callStatic(Unknown Source)

at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFile(CucumberBuiltinKeywords.groovy:256)

at WSVerification1725617681334.run(WSVerification1725617681334:2)

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.WSVerificationExecutor.runScript(WSVerificationExecutor.java:180)

at com.kms.katalon.core.main.WSVerificationExecutor.doExecute(WSVerificationExecutor.java:174)

at com.kms.katalon.core.main.WSVerificationExecutor.processExecutionPhase(WSVerificationExecutor.java:157)

at com.kms.katalon.core.main.WSVerificationExecutor.accessMainPhase(WSVerificationExecutor.java:149)

at com.kms.katalon.core.main.WSVerificationExecutor.execute(WSVerificationExecutor.java:131)

at com.kms.katalon.core.main.TestCaseMain.runFeatureFile(TestCaseMain.java:167)

at TempTempCase1725617670165.run(TempTempCase1725617670165.groovy:25)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

)

at com.kms.katalon.core.keyword.internal.KeywordMain.stepFailed(KeywordMain.groovy:51)

at com.kms.katalon.core.keyword.internal.KeywordMain.stepFailed(KeywordMain.groovy)

at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:77)

at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:69)

at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)

at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFile(CucumberBuiltinKeywords.groovy:77)

at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$runFeatureFile.callStatic(Unknown Source)

at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFile(CucumberBuiltinKeywords.groovy:256)

at WSVerification1725617681334.run(WSVerification1725617681334:2)

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.WSVerificationExecutor.runScript(WSVerificationExecutor.java:180)

at com.kms.katalon.core.main.WSVerificationExecutor.doExecute(WSVerificationExecutor.java:174)

at com.kms.katalon.core.main.WSVerificationExecutor.processExecutionPhase(WSVerificationExecutor.java:157)

at com.kms.katalon.core.main.WSVerificationExecutor.accessMainPhase(WSVerificationExecutor.java:149)

at com.kms.katalon.core.main.WSVerificationExecutor.execute(WSVerificationExecutor.java:131)

at com.kms.katalon.core.main.TestCaseMain.runFeatureFile(TestCaseMain.java:167)

at TempTempCase1725617670165.run(TempTempCase1725617670165.groovy:25)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

Caused by: java.lang.SecurityException: class "module-info"'s signer information does not match signer information of other classes in the same package

at cucumber.runtime.io.ResourceLoaderClassFinder.loadClass(ResourceLoaderClassFinder.java:42)

at cucumber.runtime.io.ResourceLoaderClassFinder.getDescendants(ResourceLoaderClassFinder.java:32)

at cucumber.runtime.Reflections.instantiateSubclasses(Reflections.java:33)

at cucumber.runtime.Reflections.instantiateExactlyOneSubclass(Reflections.java:17)

at cucumber.runtime.Runtime.loadBackends(Runtime.java:86)

at cucumber.runtime.Runtime.<init>(Runtime.java:42)

at cucumber.api.cli.Main.run(Main.java:34)

at cucumber.api.cli.Main$run.call(Unknown Source)

at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFile_closure1.doCall(CucumberBuiltinKeywords.groovy:110)

at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFile_closure1.doCall(CucumberBuiltinKeywords.groovy)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:75)

... 18 more
1 Like

Hi there, :wave:

Thank you very much for your topic! It may take a little while before Katalon team member or others forum members respond to you.

In the meantime, you can double-check your post to see if you can add any extra information i.e. error logs, HTML codes, screenshots, etc. Check out this posting guide to help us help you better!

Thanks! :sunglasses:
Katalon Community team

Hi @satishkumar.t2,

Welcome to our community. Thank you for sharing your issue. Can you please follow the guide on similar thread here: com.kms.katalon.core.exception.StepFailedException: Keyword runFeatureFile was failed (Root cause: java.lang.SecurityException: class "module-info"'s signer information does not match signer information of other classes in the same package - #6 by Elly_Tran and let me know if it works. Thank you

This error suggests there’s a conflict with the Java modules or jar files in your Katalon Studio project. The “module-info” class is part of the Java Platform Module System (JPMS), introduced in Java 9. The security exception indicates that there’s a mismatch in the signing information of classes within the same package, which often occurs when there are conflicting or incompatible versions of libraries.

Here are some steps you can take to troubleshoot and potentially resolve this issue:

  1. Update Katalon Studio: Ensure you’re using the latest version of Katalon Studio. Sometimes, these issues are resolved in newer versions.
  2. Clean the project: Try cleaning your project. In Katalon Studio, go to “Project” > “Clean” and then rebuild your project.
  3. Check for conflicting dependencies: Review your project’s external libraries and make sure there are no conflicting versions of the same library.
  4. Update Cucumber version: Make sure you’re using a version of Cucumber that’s compatible with your Katalon Studio version. You might need to update or downgrade your Cucumber dependency.
  5. Verify Java version: Ensure that Katalon Studio is using a compatible Java version. You can check this in Katalon Studio’s settings.
  6. Recreate the feature file: Try creating a new, simple feature file and see if the error persists. This can help isolate whether the issue is with your specific feature file or a broader project configuration problem.
  7. Check Katalon settings: Review your project’s build path and classpath settings to ensure there are no conflicts.
  8. Use Katalon’s built-in Cucumber integration: If you’ve manually added Cucumber to your project, consider using Katalon’s built-in Cucumber integration instead, which might avoid these compatibility issues.

Try running a simple feature file. If it works, the problem might be specific to your original feature file. If it doesn’t, the issue is likely with your project configuration or Cucumber setup.

If the problem persists after trying these steps, you might need to dive deeper into your project’s configuration. Here’s a script that can help you print out information about your Java environment and classpath, which could be useful for debugging:

import groovy.json.JsonOutput

def info = [
    'Java Version': System.getProperty('java.version'),
    'Java Home': System.getProperty('java.home'),
    'Classpath': System.getProperty('java.class.path').split(File.pathSeparator),
    'Library Path': System.getProperty('java.library.path').split(File.pathSeparator),
    'Temp Dir': System.getProperty('java.io.tmpdir'),
    'User Dir': System.getProperty('user.dir'),
    'User Home': System.getProperty('user.home'),
    'OS Name': System.getProperty('os.name'),
    'OS Version': System.getProperty('os.version')
]

println JsonOutput.prettyPrint(JsonOutput.toJson(info))

You can run this script in Katalon Studio’s Script view. The output might help identify any issues with your Java setup or classpath that could be causing the security exception.

If you’re still unable to resolve the issue after trying these steps, you may need to reach out to Katalon Studio support for more specific assistance, as the problem could be related to your particular environment or project configuration.