问题描述
我与Maven的TestNG有项目.
I have project with TestNG, Maven.
我正在testng.xml文件中传递参数.为testng配置添加了主要方法",以创建可执行的.jar文件.
I am passing parameters in testng.xml file. Added "main method" for testng config to create executable .jar file.
我已经引用了以编程方式运行TestNG .但是那里没有用于传递参数的方法,或者我错过了那个.
I have referred -- Running TestNG programmatically. But no method is present there for passing parameters or maybe I have missed that one.
这是我的主要方法的样子:
This is how my main method looks like:
public static void main(String[] args) {
ExtentReportListener extentReport = new ExtentReportListener();
TestNG testng = new TestNG();
testng.setTestClasses(new Class[] {FirstTest.class});
testng.addListener(extentReport);
testng.run();
}
请帮助我在main方法本身中传递参数.让我知道您是否需要更多信息.
Please help me out to pass parameters in main method itself. Let me know if you need more info.
推荐答案
首先,您拥有String[] args
.它是传递参数的数组.因此,如果您正在跑步:
First of all you have String[] args
. It's array of passed parameters. So if you're running:
java -jar your_jar.jar param1 param2
java -jar your_jar.jar param1 param2
您会自动获得args [0] ="param1"和args [1] ="param2"
you automatically obtain args[0]="param1" and args[1]="param2"
您还可以使用系统属性.
You also can use a system properties.
运行
java -jar your_jar.jar -Dparam1 = 12 -Dparam2 = 13
java -jar your_jar.jar -Dparam1=12 -Dparam2=13
您可以从任何地方致电System.getProperty("param1")
,它将返回"12".
You can call System.getProperty("param1")
from anywhere and it will return you "12".
然后... Imho以编程方式运行TestNG项目的最好方法是使用maven/gradle surefire插件.
And... Imho the best way to run TestNG project programmaticaly is using of maven/gradle surefire plugin.
这篇关于Selenium-Maven/TestNG:如何在Java类中添加testng参数,同时添加"main方法"?创建可执行文件/runnable.jar文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!