我正在使用 testng 运行 appium 测试 想要将应用程序路径传递给所需功能作为 testng.xml 文件的参数 我如何使用 Maven 从命令行执行此操作?
假设您有一个套件 xml 文件,如下所示
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="sample_suite" verbose="1" parallel="false" thread-count="2">
<test name="sample_test">
<parameter name="name" value="Krishnan"/>
<classes>
<class name="ParameterisedSampleTestClass" />
</classes>
</test>
</suite>
并且您希望将参数
name
的值更改为 Krishnan
以外的其他值(这是在套件 xml 文件中定义的值)
您基本上是通过传递 JVM 参数来完成此操作的
-Dname=John
。
TestNG 默认情况下支持更改参数值并在运行时通过 JVM 参数接受值。
对于 JVM 参数,您只需使用与参数名称相同的名称即可。
您可以在我的博客文章这里
找到更多详细信息您可以通过提供 JVM 参数来实现这一点,正如 Krishnan 在下面的帖子中提到的,以及链接中的不错的博客:
mvn -Dbrowser="chrome" test
并通过
将它们收集到您的代码(例如 java)中String broswser = System.getProperty(browser);
然后转变成想要的能力:
DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
desiredCapability.setBrowserName(browser);
使用 -D JVM 开关发送参数的想法非常有效。但是,它不会覆盖 testng.xml 中定义的参数。您必须将其从 testng.xml 中删除,以便 JVM 开关将其传递给您的代码。