Java 如何通过maven surefire插件运行选定的suiteXmlFile
我已经回答了所有相关的问题。但我认为我的问题与其他问题没有什么不同 我有以下套件xml文件 初始化.xml consult.xml smoke.xml regression.xml xml代码片段 org.apache.maven.plugins maven surefire插件 2.21.0 dataproviderthreadcount 2. 初始化.xml ${suiteXmlFile} consult.xml org.testng testng 6.14.3 编译-> 我需要先执行initialize.xml,然后执行smoke.xml或regression.xml,然后按顺序执行consult.xml。 考虑下面的集合作为一个例子: 初始化.xml smoke.xml regression.xml-> consult.xml 如何从pom参数化中间suiteXmlFile?我尝试使用下面的命令,但它不起作用并引发异常Java 如何通过maven surefire插件运行选定的suiteXmlFile,java,maven,testng,maven-surefire-plugin,Java,Maven,Testng,Maven Surefire Plugin,我已经回答了所有相关的问题。但我认为我的问题与其他问题没有什么不同 我有以下套件xml文件 初始化.xml consult.xml smoke.xml regression.xml xml代码片段 org.apache.maven.plugins maven surefire插件 2.21.0 dataproviderthreadcount 2. 初始化.xml ${suiteXmlFile} consult.xml org.testng testng 6.14.3 编译-> 我需要先执行ini
mvn clean test -Dsurefire.suiteXmlFile=smoke.test
[错误]org.apache.maven.surefire.booter.SurefireExecutionException:提供程序中的异常
[错误]位于org.apache.maven.plugin.surefire.InPluginVMSurefireStarter.runSuitesInProcessInPluginVMSurefireStarter.java:91
[错误]位于org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProviderAbstractSurefireMojo.java:1132
[错误]位于org.apache.maven.plugin.surefire.AbstractSurefireMojo.ExecuteAfterPremissionScheckedAbstractSurefiremojo.java:978
[错误]位于org.apache.maven.plugin.surefire.AbstractSurefireMojo.ExecuteActSurefiremojo.java:854
[错误]位于org.apache.maven.plugin.DefaultBuildPluginManager.executeMojoDefaultBuildPluginManager.java:137
[错误]位于org.apache.maven.lifecycle.internal.MojoExecutor.executeMojoExecutor.java:208
[错误]位于org.apache.maven.lifecycle.internal.MojoExecutor.executeMojoExecutor.java:154
[错误]位于org.apache.maven.lifecycle.internal.MojoExecutor.executeMojoExecutor.java:146
[错误]位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProjectLifecycleModuleBuilder.java:117
[错误]位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProjectLifecycleModuleBuilder.java:81
[错误]位于org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.buildSingleThreadedBuilder.java:56
[错误]位于org.apache.maven.lifecycle.internal.LifecycleStarter.executeLifecycleStarter.java:128
[错误]位于org.apache.maven.DefaultMaven.doExecuteDefaultMaven.java:305
[错误]位于org.apache.maven.DefaultMaven.doExecuteDefaultMaven.java:192
[错误]位于org.apache.maven.DefaultMaven.executeDefaultMaven.java:105
[错误]位于org.apache.maven.cli.MavenCli.executeMavenCli.java:956
[错误]位于org.apache.maven.cli.MavenCli.doMainMavenCli.java:290
[错误]位于org.apache.maven.cli.MavenCli.mainMavenCli.java:194
[错误]位于sun.reflect.NativeMethodAccessorImpl.invoke0Native方法
[错误]位于sun.reflect.NativeMethodAccessorImpl.invokeNativeMethodAccessorImpl.java:62
sun.reflect.DelegatingMethodAccessorImpl.invokeDelegatingMethodAccessorImpl.java中的[错误]:43
[错误]位于java.lang.reflect.Method.invokeMethod.java:498
[错误]位于org.codehaus.plexus.classworlds.launcher.launchernhancedlauncher.java:289
[错误]位于org.codehaus.plexus.classworlds.launcher.LaunchLaunchLauncher.java:229
[错误]位于org.codehaus.plexus.classworlds.launcher.launcher.mainWithExitDelauncher.java:415
[错误]位于org.codehaus.plexus.classworlds.launcher.launcher.mainluncher.java:356
[错误]由以下原因引起:java.lang.NullPointerException
[错误]位于org.apache.maven.surefire.testng.TestNGXmlTestSuite.locatetestsettestngxmltestsuite.java:97
[错误]位于org.apache.maven.surefire.testng.TestNGProvider.invokeTestNGProvider.java:119
[错误]位于sun.reflect.NativeMethodAccessorImpl.invoke0Native方法
[错误]位于sun.reflect.NativeMethodAccessorImpl.invokeNativeMethodAccessorImpl.java:62
sun.reflect.DelegatingMethodAccessorImpl.invokeDelegatingMethodAccessorImpl.java中的[错误]:43
[错误]位于java.lang.reflect.Method.invokeMethod.java:498
[错误]位于org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2ReflectionUtils.java:206
[错误]位于org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invokeProviderFactory.java:160
[错误]位于org.apache.maven.surefire.booter.ProviderFactory.invokeProviderProviderFactory.java:83
[错误]位于org.apache.mav
plugin.surefire.InPluginVMSurefireStarter.runSuitesInProcessInPluginVMSurefireStarter.java:87
[错误]。。。25多
[错误]->[帮助1]
[错误]
[错误]要查看错误的完整堆栈跟踪,请使用-e开关重新运行Maven。
[错误]使用-X开关重新运行Maven以启用完整调试日志记录。
[错误]
[错误]有关错误和可能的解决方案的更多信息,请阅读以下文章:
[错误][帮助1]http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
如果我使用下面的命令,它正在工作,但没有执行initialize.xml和consult.xml。请注意s in命令
mvn clean test -Dsurefire.suiteXmlFiles=smoke.test
我也尝试过创建不同的套件xml,如下所示,并通过命令行传递它,但它并没有像我预期的那样工作
请帮忙。任何参考资料或有用的链接也将不胜感激。我们可以做一些如下的事情吗,其中大部分您已经做过了:
<suiteXmlFiles>
<suiteXmlFile>Initialize.xml</suiteXmlFile>
<suiteXmlFile>${smokeORregression}</suiteXmlFile>
<suiteXmlFile>Conclude.xml</suiteXmlFile>
</suiteXmlFiles>
然后根据需要执行mvn clean test-DsmokeORregression=smoke.xml或mvn clean test-DsmokeORregression=regression.xml
mvn命令中不需要Surefire