首页 文章

运行Cucumber Junit测试时出错:Intializationerror

提问于
浏览
0

我正在尝试运行黄瓜测试,但我得到以下异常 . 我用这些 jar 和他们的版本

enter image description here

这是我的项目:

enter image description here

这是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成功

2 回答

  • 1

    根据this,cucumber-java-1.2.5需要小黄瓜-2.12.2,而我提供小黄瓜-4.1.13

    所以我从here下载了版本2.12.2,删除了版本4.1.13,它对我有用(我对项目做了一个干净) .

  • 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 <=当我出错时我的 jar . 然后我用cucumber-junit-1.2.2.jar替换了我的cucumber-junit-1.1.5.jar,现在解决了错误信息 . 我现在可以进行黄瓜junit测试了 . 我从最新的 jar 开始,但他们似乎有问题 . 然后我尝试了几种不同的组合 . 我读了'rule of thumb',三个 jar (-core,-java和-junit)需要是相同的版本 . 只有这样我才能运行我的功能文件和junit测试 .

    我现在的工作 jar 是:

    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
    

    我希望这有帮助 .

相关问题