2016-07-28 54 views

回答

1

这是不可能的开箱即用,但你应该能够到IAlterSuiteListener的地方,你可以用你想要的值代替值。

2

是的,这是可能的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以避免过滤太多。你可以扩展它以过滤多个文件。

+0

它不适合我。您可以请分享一些更多的细节,我想读取application.properties文件的属性并将其提供给testng.xml。 –

相关问题