java - Selenium - Maven/TestNG:我们如何在 Java 类中添加 testng 参数,同时添加“main 方法”来创建可执行的 /runnable.jar 文件?
问题描述
我有 TestNG,Maven 的项目。
我在 testng.xml 文件中传递参数。为 testng 配置添加了“主要方法”以创建可执行的 .jar 文件。
我已经提到 - 以编程方式运行 TestNG。但是那里没有传递参数的方法,或者我可能错过了那个方法。
这就是我的主要方法的样子:
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 方法本身中传递参数。如果您需要更多信息,请告诉我。
解决方案
首先你有String[] args
. 它是传递参数的数组。因此,如果您正在运行:
java -jar your_jar.jar 参数 1 参数 2
您会自动获得 args[0]="param1" 和 args[1]="param2"
您还可以使用系统属性。
跑步
java -jar your_jar.jar -Dparam1=12 -Dparam2=13
您可以System.getProperty("param1")
从任何地方拨打电话,它会返回“12”。
而且...恕我直言,以编程方式运行 TestNG 项目的最佳方法是使用 maven/gradle surefire 插件。
推荐阅读
- csv - CSV (utf-8) 文件中的特殊字符显示为 ? 在新笔记本电脑上,但不在旧笔记本电脑上(均使用 Excel 2016)
- c# - 从基于 C# 的 PSCmdLet 调用 CmdLet,提供输入和捕获输出
- python - 字符串中的多个变量
- sql - 在 SQLite 中对最后(按日期)值进行分组和求和
- html - Rmarkdown - 代码在脚本中运行正常,但是当 knit 给出错误时
- c++ - CMake GLOB 不返回任何源文件?
- java - 您应该在生产代码中使用 assert 语句断言 not null 吗?
- algorithm - 在不相交的集合数据结构中迭代类
- reactjs - 如何在createContext中为TypeScript初始化useState的set函数?
- c# - 如何从由json解析的数据绑定列表框的选定项目中获取值到各种文本框中