java - 如何传递整数数组testng.xml

标签 java testng functional-testing

我需要在 testng.xml 文件中传递一个整数数组,因为我使用它作为我的配置文件来对我编写的方法运行多个测试,以使其成为数据驱动的。

这个方法:

@Test(groups="runnable")
@Parameters({"fName","lName","childAges"})
public void test(String firstName, String lastName, Integer[] childAges);

在我的 testng.xml 文件中:

<test name="WyomingComplex4Kids (Positive)"> 
    <parameter name="fName" value="John"/> 
    <parameter name="lName" value="Johnson"/>  
    <parameter name="childAges" value="{10,7,3,6}"/> 
    <parameter name="server" value="https://example.server.com/app/someRoute"/>
    <parameter name="port" value="443"/>
    <groups>  
        <run> 
            <include name="runnable"/>  
        </run> 
    </groups> 
    <classes> 
            <class name = "com.somecompany.test.EligibilityComplex1"/> 
    </classes> 
</test> 

接受一个包含 child 年龄的整数数组,这似乎不起作用。我对 testng 和一般测试很陌生。有人可以帮我吗?我听说使用 dataprovider tp 传递复杂的对象(即像数组或列表),但我无法理解它是如何工作的或如何在我的测试中使用它。因此,我们将不胜感激任何帮助,谢谢。

最佳答案

testng 中没有指定将 {"sdf","sdf"} 转换为数组的模式。您将收到“不支持的类型参数”错误。引用代码(convertType方法)here 。仅转换基本数据类型。

如果要转换为数组,需要在数组中进行拆分和转换。

数据提供者只是帮助您使用不同的数据运行相同的测试。在这种情况下,如果您从 Excel 中读取所有数据,您仍然需要通过代码创建数组。

关于java - 如何传递整数数组testng.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26239247/

相关文章:

php - Symfony2 : Retrieving user credentials from test config

java - 将模块从应用程序转换为功能后到处都是 "Cannot resolve R"

Java Integer.parseInt() 不适用于大数

BigInteger 上的 Java 无符号位移

java - 按顺序对 DataProvider 中的每个数据集运行一组测试

java - 带有 fragment 的 Android Espresso 功能测试

java - 存储数据 XML、数据库和...的解决方案?

unit-testing - 使用共享模拟进行并行测试

java - 有没有办法在 TestNG Webdriver 中运行单个 @Parameters 测试而不运行 xml 文件

java - 通过 Maven 并行执行 SoapUI 测试