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

QAF|在数据驱动测试中,直接在StepDef中检索csv数据行

云默
2023-03-14

在我使用QAF Gerkin的设置中,我在测试数据文件中有一个80数据列,很难通过使用"

例如:特征文件:

 Scenario outline: UI-34_Customer Creation
    And I request api "get.sample.call" 
    And I assert api response status is "200" 
    And Test Data Retrive

    Examples: {"datafile": "data/scenarios/1622630669181.csv", "filter": '(_status==true) && (_id.equalsIgnoreCase("UI-34"))'}

StepDef:

QAFTestStep(description="Test Data Retrive")/**/
public void testDataRetrive(){
    System.out.println("============>>>>>>>==========");
    System.out.println(getBundle().getString("customer_name"));
    System.out.println("============<<<<<<<>>>>>>>==========");
}

注意:如果我在步骤中直接提到列名,我可以检索数据。

共有1个答案

狄河
2023-03-14

您的步骤需要接受参数,并且在调用时需要传递值。为了从数据提供者传递记录/条目,您可以使用args[0]引用作为值。

参考下面的例子:

@QAFTestStep(description="Test Data Retrive {testdata}")
public void testDataRetrive(Map<String, Object> data){
    System.out.println("============>>>>>>>==========");
    System.out.println(data.get("customer_name"));
    System.out.println("============<<<<<<<>>>>>>>==========");
}

Scenario outline: UI-34_Customer Creation
    And I request api "get.sample.call" 
    And I assert api response status is "200" 
    And Test Data Retrive "${args[0]}"

    Examples: {"datafile": "data/scenarios/1622630669181.csv", "filter": '(_status==true) && (_id.equalsIgnoreCase("UI-34"))'}

参考类似问题的答案。

 类似资料:
  • 我正在将Grails2中的一系列单元测试升级到Grails3,并在使用Spock数据驱动测试格式驱动测试的域测试中遇到问题。 当我执行测试时,因为测试执行没有填充测试中的错误、字段和val引用。如前所述,这个测试适用于Grails2.5.5,所以我怀疑我缺少了Grails3中需要的一些东西。 Edited:我删除了原来在setup()中的mockForConstraints()调用,使其无效。

  • 然而我却遇到了错误。我无法确定错误发生的确切位置,但我从结果树中获得了如下错误消息: 对于JSR223采样器 响应消息:javax.script.scriptException:源文件:内联计算:import org.apache.poi.xssf.usermodel.xssfworkbook;导入org.apache.poi.xssf.us。..“:INTEGER.parseint(vars.g

  • 问题内容: 我正在尝试通过MSTest / Selenium在C#中进行数据驱动的测试。这是我尝试设置的一些代码示例: 这是我的错误:错误3非静态字段,方法或属性’Microsoft.VisualStudio.TestTools.UnitTesting.TestContext.DataRow.get’需要对象引用E:\ Projects \ SeleniumProject \ SeleniumPr

  • 问题内容: 我是量角器的新手。谁能指导我使用量角器进行数据驱动的测试。下面是代码,配置文件和testdata.json文件。 配置文件: Json文件: 问题是它不是在获取数据,而是在所有输入框中写入未定义的内容。请帮忙 问题答案: 我假设它是一个 对象数组 ,您可以迭代每个数组元素并直接访问其内容,而您不需要的话,可以尝试如下操作: 我尚未测试以上代码,因此您应该使用 Page Objects,

  • 编写测试代码时,一个较好的办法是把测试的输入数据和期望的结果写在一起组成一个数据表:表中的每条记录都是一个含有输入和期望值的完整测试用例,有时还可以结合像测试名字这样的额外信息来让测试输出更多的信息。 实际测试时简单迭代表中的每条记录,并执行必要的测试。这在练习 13.4 中有具体的应用。 可以抽象为下面的代码段: var tests = []struct{ // Test table

  • 问题内容: 我一直在尝试从我的php文件中检索JSON数据,这给了我很麻烦。这是我的代码 我的视图中的代码: 尝试在我的控制器中检索: 什么都不输出。 这是我的标题: 我在开发人员工具中可以看到的回应: 但是在浏览器中,输出为空。我试图解决这个问题超过4个小时,但徒劳无功。 我的查看代码: 控制器代码: 问题答案: 我在CI中用于Ajax调用的一般方法: JS: 控制器: