质量保证金 |如何将 ArrayList 或 Map 从一步传递到另一步

QAF | How to pass ArrayList or Map from one step to another step

在 QAF (Gerkin) 中,我想将地图数据或数组列表从一个步骤传递到另一个步骤。 我试过以下:

第 1 步(在 Step Def 内):

    List<Object> tdData = new ArrayList<>(data.values());
    store(tdData, "data_values");

第 2 步(在 Step Def 内):

   System.out.println(getBundle().getObject("data_values")); // Printing the list

   ArrayList<Object> tmpValues = getBundle().getObject("data_values"); // Throwing error
   System.out.println(tmpValues.get(0));

能够使用“System.out.println(getBundle().getObject(data_values”));将列表打印为字符串但无法将列表分配给 ArrayList。抛出以下错误。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile (default-testCompile) on project qaf-blank-project-maven: Compilation failure
[ERROR] /Users/XXXXXXX/Downloads/60b76ff32243f233355d048b/src/test/java/com/sample/steps/steps.java:[125,57] incompatible types: java.lang.Object cannot be converted to java.util.ArrayList<java.lang.Object>

您需要将对象转换为列表。

   List<Object> tmpValues = (List<Object>)getBundle().getObject("data_values"); 

   System.out.println(tmpValues.get(0));