是否可以將屬性文件的值作爲參數值傳遞給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。 –