Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java TestNG,0或xml文件中的多个参数_Java_Testng - Fatal编程技术网

Java TestNG,0或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

我正在使用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"/>
       <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();
    // ...
}