今天,由于一些安全问题,我们的IT部门初始化了Java JDK 14的自动卸载。我下载了最新的JDK 16,并用它更新了所有项目设置:错误:java:invalid source release:8 in Intellij。这是什么意思?
我还更新了JAVA_HOME环境变量和路径变量。然而,当试图像往常一样使用IntelliJ运行我的空手道自动化测试时,我得到了一个错误,即没有找到测试。以下是尝试运行测试时的完整系统响应:
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.intuit.karate.Runner$Builder.tagSelector(Runner.java:80)
at com.intuit.karate.Runner.parallel(Runner.java:309)
at com.intuit.karate.Runner$Builder.parallel(Runner.java:190)
at com.intuit.karate.cli.Main.main(Main.java:59)
at cucumber.api.cli.Main.main(Main.java:34)
Caused by: java.lang.NullPointerException: Cannot invoke "javax.script.ScriptEngine.createBindings()" because "com.intuit.karate.ScriptBindings.NASHORN" is null
at com.intuit.karate.ScriptBindings.createBindings(ScriptBindings.java:160)
at com.intuit.karate.core.Tags.<init>(Tags.java:158)
at com.intuit.karate.core.Tags.<clinit>(Tags.java:48)
... 5 more
Process finished with exit code 1
显然,这是14以上的JDK版本的问题。我试图用这个视频排除故障:https://www.youtube.com/watch?v=8bHeDl3tdoo
但是在对pom.xml文件进行更改后,现在我得到了一个新的错误:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Users/allison_crenshaw/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/allison_crenshaw/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.14.0/log4j-slf4j-impl-2.14.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
我访问了它推荐的页面(http://www.slf4j.org/codes.html#multiple_bindings),但在阅读了解释后,我真的不明白如何继续。我试着添加它建议的排除,但是我的pom.xml文件真的很长,所以我不确定排除代码在大计划中属于哪里。我试着把它放在YouTube视频推荐的代码下面来解决绑定问题,但是我得到了关于包含多个SLF4J绑定的类路径的相同错误。
提前感谢任何帮助。
此SLF4J消息不是错误,只是警告:
SLF4J API被设计成一次绑定一个并且只有一个底层日志框架。如果类路径上存在多个绑定,SLF4J将发出警告,列出这些绑定的位置。
[...]
注意SLF4J发出的警告只是一个警告。即使存在多个绑定,SLF4J也会选择一个日志框架/实现并与之绑定。
[由我强调。]
如果选择的日志框架适合您,那么您不必担心。如果你想摆脱这个消息,你可以在你的项目上用mvn dependency:tree
检查哪个依赖项拉入哪个日志框架并设置
请升级到空手道1.0(1.1.0是目前最新版本),因为旧版本不支持更新的Java版本。
请注意,您可能需要做一些更改:https://github.com/intuit/karate/wiki/1.0-upgrade-guide
我无法在我的功能中运行空手道测试 不知道我错过了什么。对于api自动化世界来说是非常新的。非常感谢任何帮助。
尝试运行示例BDD测试 背景:*配置ssl=true 场景:获取所有用户 给定url'https://jsonplaceholder.typicode.com/users“当方法获得状态200时 当语句'当方法get'执行,我得到错误错误:org.apache.http.conn.HttpHostConnectExcture:连接到jsonplaceholder.typicode.com:443[
我正在和空手道加特林一起做一个POC,以了解这种组合对我们性能要求的可行性。到目前为止,我能够成功地运行空手道功能文件与gatling。 但我面临两个问题: 我不能更新模拟类名。demo(空手道gatling)项目模拟默认类名是CatsKarate模拟。我想给它重新命名。 问题是: 当我重命名它时,它开始抛出以下错误: 无法执行目标io.gatling:gatlin-maven-plugin:2.
我无法使用CLI执行测试。跑者工作。我正在使用版本0.9.5.rc5和maven命令:“mvn test-f pom.xml exec:java-dexec.mainclass=com.intuit.karate.cli.main-dexec.args='-d'-dexec.classpathscope=test” 以下是错误:ERROR com.intuit.karate-driver conf
我在打开开发Android应用程序的Eclipse IDE时遇到了一个问题。 Eclipse启动时出现此对话框 我看到这里有很多问题,但这对我的问题不起作用 我试着做了这篇文章的错误信息:这个Android SDK需要Android Developer Toolkit版本22.6.1或更高版本 当我按照步骤执行所有操作时,这个错误出现在我面前 错误消息: 最诚挚的问候!!