org.testng.TestNGException:无法实例化cucumber runner类

org.testng.TestNGException:无法实例化cucumber runner类,cucumber,cucumber-jvm,Cucumber,Cucumber Jvm,这是我的问题,我正在将现有的cuucmber junit项目转换为cucumber Testng项目。请查找runner类和控制台输出 请让我知道如何解决此问题 package com.philips.rs.application.setup; import org.junit.runner.RunWith; import cucumber.api.CucumberOptions; import cucumber.api.junit.Cucum

这是我的问题,我正在将现有的cuucmber junit项目转换为cucumber Testng项目。请查找runner类和控制台输出

请让我知道如何解决此问题

  package com.philips.rs.application.setup;
        import org.junit.runner.RunWith;
        import cucumber.api.CucumberOptions;
        import cucumber.api.junit.Cucumber;
        import cucumber.api.testng.AbstractTestNGCucumberTests;


    //@RunWith(Cucumber.class)
    @CucumberOptions(
            format   = {"pretty","html:target/cucumber", "json:target/cucumber.json","rerun:target/rerun_featureName.txt"},
            features = {"src/test/resources/com.philips.rs.testcases.browser.compatibility/"},                              
            strict = true,
            monochrome = true,
            glue = {"com.philips.rs.ui.stepdefs","com.philips.rs.backend.stepdefs","com.philips.rs.utils"},
            tags = {"@crossBrowser"}

            )
    public class PBPRunnerCrossBrowserUI_Test extends AbstractTestNGCucumberTests{

    }
请查找控制台输出,下面的错误是无法实例化runner类。我尝试在maven dependency中更改testng版本,但到目前为止没有成功

[RemoteTestNG] detected TestNG version 6.8.2C:\Users\310242019\AppData\Local\Temp\testng-eclipse--1609683828\testng-customsuite.xml 
[BaseMessageSender] Waiting for Eclipse client on localhost:23856
[BaseMessageSender] Received a connection from Eclipse on localhost:23856
[BaseMessageSender] Connection established, starting reader thread
[BaseMessageSender] ReaderThread waiting for an admin message
[JsonMessageSender] Sending message [GenericMessage ==> suiteCount:1, testCount:1]
[BaseMessageSender] ReaderThread received admin message:>ACK
[BaseMessageSender] Received ACK:>ACK
[BaseMessageSender] Received ACK:>ACK
org.testng.TestNGException: 
Cannot instantiate class com.philips.rs.application.setup.PBPRunnerCrossBrowserUI_Test
    at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:38)
    at org.testng.internal.ClassHelper.createInstance1(ClassHelper.java:387)
    at org.testng.internal.ClassHelper.createInstance(ClassHelper.java:299)
    at org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:110)
    at org.testng.internal.ClassImpl.getInstances(ClassImpl.java:186)
    at org.testng.internal.TestNGClassFinder.<init>(TestNGClassFinder.java:120)
    at org.testng.TestRunner.initMethods(TestRunner.java:409)
    at org.testng.TestRunner.init(TestRunner.java:235)
    at org.testng.TestRunner.init(TestRunner.java:205)
    at org.testng.TestRunner.<init>(TestRunner.java:160)
    at org.testng.remote.support.RemoteTestNG6_5$1.newTestRunner(RemoteTestNG6_5.java:27)
    at org.testng.remote.support.RemoteTestNG6_5$DelegatingTestRunnerFactory.newTestRunner(RemoteTestNG6_5.java:63)
    at org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:561)
    at org.testng.SuiteRunner.init(SuiteRunner.java:157)
    at org.testng.SuiteRunner.<init>(SuiteRunner.java:111)
    at org.testng.TestNG.createSuiteRunner(TestNG.java:1299)
    at org.testng.TestNG.createSuiteRunners(TestNG.java:1286)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
    at org.testng.TestNG.run(TestNG.java:1057)
    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.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:29)
    ... 21 more
Caused by: java.lang.NoSuchMethodError: cucumber.runtime.RuntimeOptionsFactory.<init>(Ljava/lang/Class;[Ljava/lang/Class;)V
    at cucumber.api.testng.AbstractTestNGCucumberTests.<init>(AbstractTestNGCucumberTests.java:27)
    at com.philips.rs.application.setup.PBPRunnerCrossBrowserUI_Test.<init>(PBPRunnerCrossBrowserUI_Test.java:19)
    ... 26 more
java.net.SocketException: Socket closed
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
    at java.net.SocketInputStream.read(SocketInputStream.java:171)
    at java.net.SocketInputStream.read(SocketInputStream.java:141)
    at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
    at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
    at java.io.InputStreamReader.read(InputStreamReader.java:184)
    at java.io.BufferedReader.fill(BufferedReader.java:161)
    at java.io.BufferedReader.readLine(BufferedReader.java:324)
    at java.io.BufferedReader.readLine(BufferedReader.java:389)
    at org.testng.remote.strprotocol.BaseMessageSender$ReaderThread.run(BaseMessageSender.java:267)
[RemoteTestNG]检测到TestNG版本6.8.2C:\Users\310242019\AppData\Local\Temp\TestNG eclipse--1609683828\TestNG-customsuite.xml
[BaseMessageSender]正在本地主机上等待Eclipse客户端:23856
[BaseMessageSender]从本地主机上的Eclipse接收到连接:23856
[BaseMessageSender]已建立连接,正在启动读卡器线程
[BaseMessageSender]ReaderThread正在等待管理员消息
[JsonMessageSender]正在发送消息[GenericMessage==>suiteCount:1,testCount:1]
[BaseMessageSender]ReaderThread收到管理消息:>ACK
[BaseMessageSender]收到确认:>确认
[BaseMessageSender]收到确认:>确认
org.testng.TestNGException:
无法实例化类com.philips.rs.application.setup.pbprunnerCrowserUI\u测试
位于org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:38)
位于org.testng.internal.ClassHelper.createInstance1(ClassHelper.java:387)
位于org.testng.internal.ClassHelper.createInstance(ClassHelper.java:299)
位于org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:110)
位于org.testng.internal.ClassImpl.getInstances(ClassImpl.java:186)
位于org.testng.internal.TestNGClassFinder(TestNGClassFinder.java:120)
位于org.testng.TestRunner.initMethods(TestRunner.java:409)
位于org.testng.TestRunner.init(TestRunner.java:235)
位于org.testng.TestRunner.init(TestRunner.java:205)
位于org.testng.TestRunner.(TestRunner.java:160)
位于org.testng.remote.support.RemoteTestNG6_5$1.newTestRunner(RemoteTestNG6_5.java:27)
在org.testng.remote.support.RemoteTestNG6_5$delegatingestrunnerfactory.newTestRunner(RemoteTestNG6_5.java:63)
位于org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:561)
位于org.testng.SuiteRunner.init(SuiteRunner.java:157)
位于org.testng.SuiteRunner(SuiteRunner.java:111)
位于org.testng.testng.createSuiteRunner(testng.java:1299)
位于org.testng.testng.createSuiteRunners(testng.java:1286)
位于org.testng.testng.runSuitesLocally(testng.java:1140)
位于org.testng.testng.run(testng.java:1057)
位于org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
位于org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
位于org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
原因:java.lang.reflect.InvocationTargetException
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:423)
位于org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:29)
... 还有21个
原因:java.lang.NoSuchMethodError:cumber.runtime.RuntimeOptionFactory。(Ljava/lang/Class;[Ljava/lang/Class;)V
位于cucumber.api.testng.AbstractTestNGCucumberTests。(AbstractTestNGCucumberTests.java:27)
在com.philips.rs.application.setup.PBPRunnerCrossBrowserUI_Test.(PBPRunnerCrossBrowserUI_Test.java:19)
…还有26个
java.net.SocketException:套接字已关闭
位于java.net.SocketInputStream.socketRead0(本机方法)
位于java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
位于java.net.SocketInputStream.read(SocketInputStream.java:171)
位于java.net.SocketInputStream.read(SocketInputStream.java:141)
位于sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
位于sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
位于sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
位于java.io.InputStreamReader.read(InputStreamReader.java:184)
在java.io.BufferedReader.fill中(BufferedReader.java:161)
在java.io.BufferedReader.readLine(BufferedReader.java:324)
位于java.io.BufferedReader.readLine(BufferedReader.java:389)
位于org.testng.remote.strprotocol.BaseMessageSender$ReaderThread.run(BaseMessageSender.java:267)

看起来cucumber的不同版本之间不匹配。在这一点上比较旧。您可以从
pom.xml
gradle.xml
中包含依赖项吗感谢更新,是的,是版本不匹配,将testng版本更改为6.10,并将cucumber testng更新为1.2.5