0
如果我们通过的testng.xml 运行TestNG的有什么办法,我们可以在程序读取XML标签/套件的testng.xml的价值,同时运行
<suite name="Grid Parallel Test Suite" verbose="3" preserve-order="false" parallel="methods" thread-count="1">
如果我们通过的testng.xml 运行TestNG的有什么办法,我们可以在程序读取XML标签/套件的testng.xml的价值,同时运行
<suite name="Grid Parallel Test Suite" verbose="3" preserve-order="false" parallel="methods" thread-count="1">
不知道这里的“程序”是什么意思,我想你是指由TestNG运行的测试。
如果是这种情况,可以通过访问测试监听器类中的测试内容来完成。
a。创建扩展TestListenerAdapter的测试监听器类,套件属性可以从ITestContext获取。例如:
public class SomeTestListener extends TestListenerAdapter {
/**
* When the suite started.
* @param testContext Test context
*/
public final void onStart(final ITestContext testContext) {
XmlSuite suite = testContext.getSuite().getXmlSuite();
// Get thread count
int threads = suite.getThreadCount();
// Get preserve order setting
String order = suite.getPreserveOrder();
// Get parallel attribute
String parallel = suite.getParallel();
// Do something
super.onStart(testContext);
}
}
b。将该类添加为testng.xml中的侦听器或以其他方式添加。 TestNG文档已经有详细信息:http://testng.org/doc/documentation-main.html#testng-listeners
可爱,虽然我想通了,但感谢张贴解决方案,只是一个问题,虽然愚蠢,但是这个super.onStart做什么,我需要这个,而写作Listner –
@ kapilA super.onStart只是在超级监听器类中调用原始方法,以确保我们不会错过任何东西。我认为这是一个好习惯。然而在这种情况下,我发现org.testng.TestListenerAdapter实际上onStart,onFinish,onTestStart方法是空的。但其他方法确实有内容。你可以从[Github上的TestListenerAdapter.java](https://github.com/cbeust/testng/blob/master/src/main/java/org/testng/TestListenerAdapter.java) –