[英]How to pass class name dynamically in to class tag in Testng XML
我需要動態地將類名傳遞給Testng XML中的<Class>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="none">
<test thread-count="5" name="Test">
<parameter name="browser" value="chrome"></parameter>
<classes>
<class name="testCaseWithKeywordFramework.TestCase1_Login"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
在上面的XML代碼中我想動態傳遞類名,任何人都可以幫助我。
可以通過在運行時創建套件文件來實現。 查看此示例 - http://www.testautomationguru.com/selenium-webdriver-creating-testng-suite-xml-from-spreadsheet/
您可以非常輕松地從自己的程序中調用TestNG:
TestListenerAdapter tla = new TestListenerAdapter();
TestNG testng = new TestNG();
testng.setTestClasses(new Class[] { Run2.class });
testng.addListener(tla);
testng.run();
此示例創建一個TestNG對象並運行測試類Run2。
有關更多信息,請參閱此處
同樣,您可以在testng.xml文件上調用TestNG,也可以自己創建虛擬testng.xml文件
例如,假設您要創建以下虛擬文件:
<suite name="TmpSuite" >
<test name="TmpTest" >
<classes>
<class name="test.failures.Child" />
<classes>
</test>
</suite>
您將使用以下代碼:
XmlSuite suite = new XmlSuite();
suite.setName("TmpSuite");
XmlTest test = new XmlTest(suite);
test.setName("TmpTest");
List<XmlClass> classes = new ArrayList<XmlClass>();
classes.add(new XmlClass("test.failures.Child"));
test.setXmlClasses(classes) ;
然后你可以將這個XmlSuite傳遞給TestNG:
List<XmlSuite> suites = new ArrayList<XmlSuite>();
suites.add(suite);
TestNG tng = new TestNG();
tng.setXmlSuites(suites);
tng.run();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.