Java TestNG,0或xml文件中的多个参数
我正在使用testNG框架。我有一些测试可以有参数,也可以没有参数。 例如,我可以使用以下xml:Java TestNG,0或xml文件中的多个参数,java,testng,Java,Testng,我正在使用testNG框架。我有一些测试可以有参数,也可以没有参数。 例如,我可以使用以下xml: <?xml version="1.0" encoding="UTF-8"?> <suite name="Suite" parallel="tests"> <test name="FlowTest0"> <parameter name="node" value="http://192.168.117.135:5555/wd/hub
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite" parallel="tests">
<test name="FlowTest0">
<parameter name="node" value="http://192.168.117.135:5555/wd/hub"/>
<parameter name="name" value="nameTest0"/>
<parameter name="direction" value="IN"/>
<classes>
<class name="selenium.test.flow.FlowSaveTest"/>
</classes>
</test>
</suite>
我想要的是能够根据xml中的内容传递可变数量的值。我可以用testNG参数注释来实现这一点吗
编辑1:
我希望类似于C中printf声明的声明,类似于:
@Parameters("node", Something that will get all the paramaters)
@BeforeTest
public void initTest(Object ...) {
}
您可以从中选择并获取所有属性:
@Test
public void initTest(ITestContext context) {
Map<String, String> params = context.getCurrentXmlTest().getAllParameters();
// ...
}
@测试
公共void initTest(ITestContext上下文){
Map params=context.getCurrentXmlTest().getAllParameters();
// ...
}
您可以从中选择并获取所有属性:
@Test
public void initTest(ITestContext context) {
Map<String, String> params = context.getCurrentXmlTest().getAllParameters();
// ...
}
@测试
公共void initTest(ITestContext上下文){
Map params=context.getCurrentXmlTest().getAllParameters();
// ...
}
你能给我们看一个你期望的例子吗?是的,我会编辑我的问题你能给我们看一个你期望的例子吗?是的,我会编辑我的问题我犯了一个错误,initTest还有@BeforeTest注释,也许它会改变什么,我会编辑我的问题。但是如果参数不是字符串怎么办?因为在我之前的方法中有一些参数是布尔的,不仅StringTestNG参数总是字符串。转换是你的事。但是你的测试应该知道类型,所以它不应该是一个问题。我犯了一个错误,initTest也有@BeforeTest注释,可能它改变了什么,我会编辑我的问题。但是如果参数不是字符串呢?因为在我之前的方法中有一些参数是布尔的,不仅StringTestNG参数总是字符串。转换是你的事。但是你的测试应该知道类型,所以它不应该是一个问题。
@Test
public void initTest(ITestContext context) {
Map<String, String> params = context.getCurrentXmlTest().getAllParameters();
// ...
}