我试图进行黄瓜测试,但我得到以下异常。我使用那些带有版本的罐子
这是我的项目:
这是testRunner类代码:
package cucumberTest;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(
features = "Feature"
,glue={"stepDefinition"}
)
public class TestRunner {
}
在logIn.feature文件中:
功能:登录操作测试
场景:使用有效凭据成功登录 鉴于用户在主页上 用户导航到登录页面时 用户输入用户名和密码 然后消息显示登录成功
场景:成功的LogOut 来自应用程序的用户LogOut时 然后消息显示LogOut成功
答案 0 :(得分:1)
根据this,cucumber-java-1.2.5需要gherkin-2.12.2,而我提供的是小黄瓜-4.1.13
所以我从here下载了版本2.12.2,删除了版本4.1.13,它对我有用(我对项目做了很干净)。
答案 1 :(得分:0)
我是新手,还在学习。我收到了类似的“黄瓜跑腿初始化错误”消息:
java.lang.NoSuchMethodError: cucumber.runtime.RuntimeOptionsFactory.<init>(Ljava/lang/Class;[Ljava/lang/Class;)V
at cucumber.api.junit.Cucumber.<init>(Cucumber.java:59)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:29)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:21)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:87)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:73)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:46)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:522)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
Referenced Libraries <=我遇到错误时的罐子。然后,我用黄瓜-junit-1.2.2.jar替换了我的黄瓜-junit-1.1.5.jar,错误消息现在已解决。我现在可以运行黄瓜junit测试。 我从最新的罐子开始,但是它们似乎有问题。然后,我尝试了几种不同的组合。我读了“经验法则”,三个罐(-core,-java和-junit)必须具有相同的版本。只有这样,我才能运行功能文件和junit测试。
我当前的罐子是:
gherkin-2.12.2
cucumber-core-1.2.2
cucumber-java-1.2.2
cucumber-junit-1.2.2
cucumber-html-0.2.3
cucumber-jvm-deps-1.0.3
hamcrest-all-1.3
junit-4.11
selenium-server-standalone-3.13.0
我希望这会有所帮助。