【问题标题】:QAF | How to pass ArrayList or Map from one step to another step质量保证 |如何将 ArrayList 或 Map 从一个步骤传递到另一个步骤
【发布时间】:2021-06-03 17:34:51
【问题描述】:

在 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>

【问题讨论】:

    标签: bdd qaf


    【解决方案1】:

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

       List<Object> tmpValues = (List<Object>)getBundle().getObject("data_values"); 
    
       System.out.println(tmpValues.get(0));
    

    【讨论】:

    • 感谢您的快速回复。数组列表正在工作。任何帮助,我怎样才能在步骤之间传递地图?
    • 您可以使用与列表相同的方式使用地图。例如,如果dataMap&lt;Object,Object&gt; 对象类型,则store(data, "testDataFromMyStep"); 检索Map&lt;Object,Object&gt; testdata = (Map&lt;Object,Object&gt; )getBundle().getObject("testDataFromMyStep");
    猜你喜欢
    • 2022-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 2021-03-31
    • 2019-10-27
    相关资源
    最近更新 更多