简体   繁体   English

黄瓜testng赛跑者失败

[英]Cucumber testng runner fails

Below is my runner class, 以下是我的跑步者班,

package runner;



import cucumber.api.CucumberOptions;
import cucumber.api.testng.AbstractTestNGCucumberTests;

//@RunWith(Cucumber.class)
@CucumberOptions(features="resources/features",glue="step_def")

public class Runner extends AbstractTestNGCucumberTests {
 /* private TestNGCucumberRunner testNGCucumberRunner;

    @org.testng.annotations.BeforeClass(alwaysRun = true)
    public void setUpClass() throws Exception {
        testNGCucumberRunner = new TestNGCucumberRunner(this.getClass());
    }

    @org.testng.annotations.Test(groups = "cucumber", description = "Runs Cucumber Feature", dataProvider = "features")
    public void feature(CucumberFeatureWrapper cucumberFeature) {
        testNGCucumberRunner.runCucumber(cucumberFeature.getCucumberFeature());
    }

    @org.testng.annotations.DataProvider
    public Object[][] features() {
        return testNGCucumberRunner.provideFeatures();
    }

    @org.testng.annotations.AfterClass(alwaysRun = true)
    public void tearDownClass() throws Exception {
        testNGCucumberRunner.finish();
    }*/
}

Whenever I try to run this as a TestNG test, I'm getting the below error 每当我尝试将其作为TestNG测试运行时,都会出现以下错误

[RemoteTestNG] detected TestNG version 6.13.1 [Utils] [ERROR] [Error] java.lang.NullPointerException at cucumber.api.testng.AbstractTestNGCucumberTests.features(AbstractTestNGCucumberTests.java:29) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:74) at org.testng.internal.MethodInvocationHelper.invokeMethodNoCheckedException(MethodInvocationHelper.java:45) at org.testng.internal.MethodInvocationHelper.invokeDataProvider(MethodInvocationHelper.java:131) at org.testng.internal.Parameters.handleParameters(Parameters.java:706) at org.testng.internal.ParameterHandler.handleParameters(ParameterHandler.java:49) at org.testng [RemoteTestNG]检测到TestNG版本6.13.1 [实用程序] [错误] [错误]在sun.reflect.NativeMethodAccessorImpl.invoke0(本地),在cumul.api.testng.AbstractTestNGCucumberTests.features(AbstractTestNGCucumberTests.java:29)上出现java.lang.NullPointerException org.testng.internal.MethodInvocationHelper.invokeMethod处java.lang.reflect.Method.invoke处sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)处的sun.reflect.NativeMethodAccessorImpl.invoke(未知源)处的方法(org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:74)处的(MethodInvocationHelper.java:124)org.testng.internal.MethodInvocationHelper处的org.testng.internal.MethodInvocationHelper.invokeMethodNoCheckedException(MethodInvocationHelper.java:45)处的(MethodInvocationHelper.java:74)。在org.testng.org.testng.internal.Parameters.handleParameters(Parameters.java:706)的invokeDataProvider(MethodInvocationHelper.java:131)在org.testng的org.testng.internal.ParameterHandler.handleParameters(ParameterHandler.java:49) .internal.ParameterHandler.createParameters(ParameterHandler.java:37) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:914) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109) at org.testng.TestRunner.privateRun(TestRunner.java:648) at org.testng.TestRunner.run(TestRunner.java:505) at org.testng.SuiteRunner.runTest(SuiteRunner.java:455) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415) at org.testng.SuiteRunner.run(SuiteRunner.java:364) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187) at org.testng.TestNG.runSuitesLocally(TestNG.java:1116) at org.testng.TestNG.runSuites(TestNG.java:1028) at org.testng.TestNG.run(TestNG.java:996) at org.testng.remote.AbstractR org的org.testng.internal.Invoker.invokeTestMethods(Invoker.java:914)的.internal.ParameterHandler.createParameters(ParameterHandler.java:37)org的org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)在org.testng.SuiteRunner上的org.testng.TestRunner.run(TestRunner.java:505)上的org.testng.TestRunner.privateRun(TestRunner.java:648)上的testng.internal.TestMethodWorker.run(TestMethodWorker.java:109) org.testng.SuiteRunner.run的.runTest(SuiteRunner.java:455)org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)的org.testng.SuiteRunner.run(SuiteRunner。 java:364)位于org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)位于org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)位于org.testng.TestNG.runSuitesSequentiallyly(TestNG.java:1187)位于org.testng.TestNG.run(TestNG.java:996)的org.testng.TestNG.runSuites(TestNG.java:1028)的org.testng.TestNG.runSuitesLocally(TestNG.java:1116)位于org.testng.remote的org.testng.TestNG.run(TestNG.java:996) .AbstractR emoteTestNG.run(AbstractRemoteTestNG.java:114) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77) 在org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)处的emoteTestNG.run(AbstractRemoteTestNG.java:114)在org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)处

FAILED CONFIGURATION: @BeforeClass setUpClass java.lang.NoSuchMethodError: cucumber.runtime.RuntimeOptions.reporter(Ljava/lang/ClassLoader;)Lgherkin/formatter/Reporter; 失败的配置:@BeforeClass setUpClass java.lang.NoSuchMethodError:cucumber.runtime.RuntimeOptions.reporter(Ljava / lang / ClassLoader;)Lgherkin / formatter / Reporter; at cucumber.api.testng.TestNGCucumberRunner.(TestNGCucumberRunner.java:41) at cucumber.api.testng.AbstractTestNGCucumberTests.setUpClass(AbstractTestNGCucumberTests.java:16) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124) at org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:59) at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:451) at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:222) at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:142) at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:163) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:105) at 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处,在cucumber.api.testng.TestNGCucumberRunner。(TestNGCucumberRunner.java:41)在cucumber.api.testng.AbstractTestNGCucumberTests.setUpClass(AbstractTestNGCucumberTests.java:16)在sun.reflect。 org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)处java.lang.reflect.Method.invoke(未知源)处的sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)处的NativeMethodAccessorImpl.invoke(未知源) org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:59)org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:451)org.testng.internal.Invoker.invokeConfigurations(Invoker.java:222) )在org.testng.internal.Invoker.invokeConfigurations(Invoker.java:142)在org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:163)在org.testng.internal.TestMethodWorker.run(TestMethodWorker.java: 105)在 org.testng.TestRunner.privateRun(TestRunner.java:648) at org.testng.TestRunner.run(TestRunner.java:505) at org.testng.SuiteRunner.runTest(SuiteRunner.java:455) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415) at org.testng.SuiteRunner.run(SuiteRunner.java:364) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187) at org.testng.TestNG.runSuitesLocally(TestNG.java:1116) at org.testng.TestNG.runSuites(TestNG.java:1028) at org.testng.TestNG.run(TestNG.java:996) at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77) org.testng.SuiteRunner.runTest(SuiteRunner.java:455)上的org.testng.TestRunner.run(TestRunner.java:505)上的org.testng.TestRunner.privateRun(TestRunner.java:648) org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)的org.testng.SuiteRunner.run(SuiteRunner.java:364)的org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker)的.runSequentially(SuiteRunner.java:450)。 java:52)位于org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)位于org.testng.TestNG.runSuitesSequentially(TestNG.java:1187)位于org.testng.TestNG.runSuitesLocally(TestNG.java:1116) org.testng.TestNG.run(TestNG.java:996)在org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)处的org.testng.TestNG.runSuites(TestNG.java:1028) .remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)位于org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

FAILED CONFIGURATION: @AfterClass tearDownClass java.lang.NullPointerException at cucumber.api.testng.AbstractTestNGCucumberTests.tearDownClass(AbstractTestNGCucumberTests.java:34) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124) at org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:59) at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:451) at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:222) at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:142) at org.testng.internal.TestMethodWorker.invokeAfterClassMethods(TestMethodWorker.java:208) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:11 设置失败来源)位于sun.reflect.DelegatingMethodAccessorImpl.invoke(来源不明)(位于org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)处的java.lang.reflect.Method.invoke(来源不明)。在org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:451)在org.testng.internal.Invoker.invokeConfigurations(Invoker.java:222)处的internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:59) org.testng.internal.TestMethodWorker.invokeAfterClassMethods(TestMethodWorker.java:208)的org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:11的.internal.Invoker.invokeConfigurations(Invoker.java:142) 1) at org.testng.TestRunner.privateRun(TestRunner.java:648) at org.testng.TestRunner.run(TestRunner.java:505) at org.testng.SuiteRunner.runTest(SuiteRunner.java:455) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415) at org.testng.SuiteRunner.run(SuiteRunner.java:364) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187) at org.testng.TestNG.runSuitesLocally(TestNG.java:1116) at org.testng.TestNG.runSuites(TestNG.java:1028) at org.testng.TestNG.run(TestNG.java:996) at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77) 1)在组织org.testng.SuiteRunner.runTest(SuiteRunner.java:455)的org.testng.TestRunner.run(TestRunner.java:505)的org.testng.TestRunner.privateRun(TestRunner.java:648)处。在org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)在org.testng.SuiteRunner.run(SuiteRunner.java:364)处的testng.SuiteRunner.runSequentially(SuiteRunner.java:450)在org.testng.SuiteRunnerWorker.runSuite处(SuiteRunnerWorker.java:52)在org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)在org.testng.TestNG.runSuitesSequentially(TestNG.java:1187)在org.testng.TestNG.runSuitesLocally(TestNG.java: 1116)在org.testng.TestNG.runSuites(TestNG.java:1028)在org.testng.TestNG.run(TestNG.java:996)在org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)在org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)位于org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

SKIPPED: feature Runs Cucumber Feature java.lang.RuntimeException: java.lang.NullPointerException at org.testng.internal.MethodInvocationHelper.invokeMethodNoCheckedException(MethodInvocationHelper.java:49) at org.testng.internal.MethodInvocationHelper.invokeDataProvider(MethodInvocationHelper.java:131) at org.testng.internal.Parameters.handleParameters(Parameters.java:706) at org.testng.internal.ParameterHandler.handleParameters(ParameterHandler.java:49) at org.testng.internal.ParameterHandler.createParameters(ParameterHandler.java:37) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:914) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109) at org.testng.TestRunner.privateRun(TestRunner.java:648) at org.testng.TestRunner.run(TestRunner.java:505) at org.testng.SuiteRunner.runTest(SuiteRunner.java:455) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450) at org. 跳过:功能运行黄瓜功能)在org.testng.internal.ParameterHandler.handleParameters(ParameterHandler.java:49)的org.testng.internal.ParameterHandler.handleParameters(ParameterHandler.java:49)在org.testng.internal.ParameterHandler.createParameters(ParameterHandler.java: 37),位于org.testng.internal.TestMethods(Invoker.java:914),位于org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125),位于org.testng.internal.TestMethodWorker.run(TestMethodWorker.java) :109)在org.testng.SuiteRunner.runTest(SuiteRunner.java:455)在org.testng.TestRunner.run(TestRunner.java:505)在org.testng.SuiteRunner.runTest(SuiteRunner.java:455)在org.testng.TestRunner.privateRun(TestRunner.java:648)在.org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)。 testng.SuiteRunner.privateRun(SuiteRunner.java:415) at org.testng.SuiteRunner.run(SuiteRunner.java:364) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1187) at org.testng.TestNG.runSuitesLocally(TestNG.java:1116) at org.testng.TestNG.runSuites(TestNG.java:1028) at org.testng.TestNG.run(TestNG.java:996) at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77) Caused by: java.lang.NullPointerException at cucumber.api.testng.AbstractTestNGCucumberTests.features(AbstractTestNGCucumberTests.java:29) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflec 在org.testng上的testng.SuiteRunner.privateRun(SuiteRunner.java:415)在org.testng.SuiteRunner.run(SuiteRunner.java:364)在org.testng.SuiteRunnerWorker.run的Suite(SuiteRunnerWorker.java:52)在org.testng.SuiteRunnerWorker.run (SuiteRunnerWorker.java:84)在org.testng.TestNG.runSuitesSequentially(TestNG.java:1187)在org.testng.TestNG.runSuitesLocally(TestNG.java:1116)在org.testng.TestNG.runSuites(TestNG.java: 1028)于org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)于org.testng.remote.Remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) )发生在org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77),原因是:sun.reflect.NativeMethodAccessorImpl处cumber.api.testng.AbstractTestNGCucumberTests.features(AbstractTestNGCucumberTests.java:29)处的java.lang.NullPointerException java.lang.reflec上sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)的sun.reflect.NativeMethodAccessorImpl.invoke(未知源)的invoke0(本机方法) t.Method.invoke(Unknown Source) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:74) at org.testng.internal.MethodInvocationHelper.invokeMethodNoCheckedException(MethodInvocationHelper.java:45) ... 22 more org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)处的t.Method.invoke(方法未知)org.testng.internal处的org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:74)处的t.Method.invoke(未知源)。 MethodInvocationHelper.invokeMethodNoCheckedException(MethodInvocationHelper.java:45)...还有22个

=============================================== Default test Tests run: 1, Failures: 0, Skips: 1 ==============================================默认测试测试运行:1,失败:0,跳过:1

Configuration Failures: 2, Skips: 0 配置失败:2,跳过:0

=============================================== Default suite Total tests run: 1, Failures: 0, Skips: 1 Configuration Failures: 2, Skips: =============================================默认套件总数测试运行:1,失败:0,跳过:1配置失败:2,跳过:

0 0

I'm not sure what I'm missing here. 我不确定我在这里缺少什么。

The path of the feature file should start with source folder. 功能文件的路径应以源文件夹开头。 Try this once. 尝试一次。 It should look like :- 它应该看起来像:-

features = "src\\\\bbd_feature" features =“ src \\\\ bbd_feature”

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM