是否可以将属性文件的值作为参数值传递给testng.xml
?是否可以将属性文件值传递给testng.xml作为参数值?
例子:
test.properties:
browser = FIREFOX
的testng.xml:
parameter name = "browser" value = "${test.browser}"
是否可以将属性文件的值作为参数值传递给testng.xml
?是否可以将属性文件值传递给testng.xml作为参数值?
例子:
test.properties:
browser = FIREFOX
的testng.xml:
parameter name = "browser" value = "${test.browser}"
这是不可能的开箱即用,但你应该能够到IAlterSuiteListener
的地方,你可以用你想要的值代替值。
是的,这是可能的filteringtestng.xml
测试资源。
在您的POM中,您需要声明一个过滤器以便对属性文件进行poiting并覆盖<testResources>
以过滤testng.xml
资源。
<build>
<filters>
<filter>path/to/test.properties</filter> <!-- relative to location of POM -->
</filters>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<includes>
<include>testng.xml</include>
</includes>
<filtering>true</filtering>
</testResource>
<testResource>
<directory>src/test/resources</directory>
<excludes>
<exclude>testng.xml</exclude>
</excludes>
</testResource>
</testResources>
<!-- rest of build section -->
</build>
如果属性文件中包含的关键test.browser
,这将正确地该键的值替换plaholder ${test.browser}
。所有这些都会在测试启动之前发生,因此TestNG将会看到替换值被过滤的文件。
请注意,上述配置只会过滤testng.xml
以避免过滤太多。你可以扩展它以过滤多个文件。
它不适合我。您可以请分享一些更多的细节,我想读取application.properties文件的属性并将其提供给testng.xml。 –