当前位置: 首页 > 知识库问答 >
问题:

将数组从dataprovider返回到@Test method

钱选
2023-03-14

我用TestNG创建了一个Selenium框架。在这个@Data提供者中包含一组代码,这些代码从excel中读取数据,并以数组形式将此值返回给@test。

@Test(dataProvider="createData1")
private  void login (String data, String data1) throws IOException{}

@DataProvider
public static String [][] createData1() throws IOException{

     String Scenarioname=new Object(){}.getClass().getEnclosingClass().getSimpleName();
     return  xls.readvalues(Scenarioname,"testdata");

}

因为登录测试用例有两个输入,所以方法login有两个属性。同样,若寄存器测试用例有5个输入,那个么寄存器方法将有5个属性。但我想以某种方式创建一个标准方法,这样当我从@dataprovider返回数组时。然后@test方法应该动态读取值,而不是我提到的每个方法的属性数。

共有1个答案

黄信厚
2023-03-14

您的@DataProvider可以返回对象[]【】,而不是字符串[]【】。所以您可以在第一位返回场景说明,在第二位返回包含用户数据的对象。比如:

return new Object[][] {
    {"My Scenario1", new MyUserDataObject("name1", "password1", "male")}, 
    {"My Scenario2", new MyUserDataObject("name2", "password2", "female")}
};

测试方法签名将是:login(String scenarioName,MyUserDataObject userData)

然后测试可以从userData参数读取所有必需数据。

编辑:

参数化测试将简单值作为参数,因此没有userData[0][0](http://testng.org/doc/documentation-main.html#parameters-数据提供商)

@beforemethod在TestNG(https://groups.google.com/forum/#!主题/测试用户/3Kny3qTVdmg)

 类似资料:
  • 问题内容: 我正在尝试使用android NDK。 有没有办法将在JNI中创建的数组(以我的情况为例)返回给Java?如果是这样,请提供一个可以执行此操作的JNI函数的简单示例。 问题答案: 如果你已经阅读了文档,但仍然有一些问题应作为最初问题的一部分。在这种情况下,示例中的JNI函数将创建多个数组。外部数组由使用JNI函数创建的“对象”数组组成。从JNI的角度来看,这就是一个二维数组,即一个包含

  • 我已经用TestNG创建了一个Selenium框架。在此框架中,@Dataprovider包含一组代码,这些代码从Excel读取数据,并将该值作为2D数组返回给@Test。 “get”方法返回字符串[]。但我得到的错误是“数据提供程序必须返回对象[]”。如果我将其更改为对象[],则我的测试用例失败,错误如下:

  • 问题内容: 从PL / SQL到Java来回传递数字和字符串没有问题,但是如何传递 数组 ?我从PL / SQL调用Java-并非如此。 下面是一个按预期工作的示例。如何编写PL / SQL 调用规范 ,以便可以从PL / SQL调用它? 我已经阅读了《发布带有调用规范的Java类》,其中可以看到嵌套表与相对应,但是我无法使其工作。我可能缺少一些琐碎的细节,因为我不是Java程序员。 问题答案:

  • 问题内容: 我正在使用Django为项目创建基于Web的应用程序,并且遇到了将数组从Django视图返回到模板的问题。 JavaScript(JQuery)脚本将使用该数组在页面上显示的图像上绘制框。因此,该数组将具有要绘制的框的坐标。 这是Django视图中的代码,用于获取所需数据并将其序列化为JSON: 作为调试的一种方式,在模板的HTML部分中使用会将其作为输出(很抱歉,长行表示): 我认为

  • 问题内容: 我发现了大量有关如何在JNI中生成2D基本数组并将其返回给Java的文档。但是这些信息无法描述如何在 C中* 为上下文传递 已存在的 2D浮点数组(float **)。 * 为了明确描述我的问题,我将添加一些我想实现的 C 伪代码: 考虑到我无法找到任何描述这种情况的信息,我认为这不是直截了当的。 感谢您提供任何有用的信息。 问题答案: 感谢Timo的帮助和链接。为了后代,我添加了一个

  • 问题内容: 对于数据框 我有兴趣按名称和等级分组,并且可能会得到汇总值 但是我想在原始字段中获得一个字段,其中包含该行的组号,例如 有没有在熊猫中做到这一点的好方法? 我可以用python来获得 但是在大型数据框上它的运行速度很慢,因此我认为可能会有更好的内置熊猫方法来做到这一点。 问题答案: 很多方便的东西存储在对象中。例如: 所以: 潜伏在某个地方可能会有更好的别名,但是无论如何这应该起作用。