质量保证金 |如何将 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));
在 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));