Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法检索特定字段的列表项值_Java_Cucumber_Gauge - Fatal编程技术网

Java 无法检索特定字段的列表项值

Java 无法检索特定字段的列表项值,java,cucumber,gauge,Java,Cucumber,Gauge,我在尝试为字段创建列表时遇到问题 如果你看下面,我有3个字段,但字段3有两个值,它们应该作为列表传递 问题是,即使字段1和2以单个值的形式传递相关字段,字段3也没有传递与该字段关联的值列表。相反,它正在通过一个空数组,我不知道为什么。如果我将其更改为单值,它会找到单值并工作,但当我实现列表值项时,它是空数组 * Example step: |field |value | |----------|---

我在尝试为字段创建列表时遇到问题

如果你看下面,我有3个字段,但字段3有两个值,它们应该作为列表传递

问题是,即使字段1和2以单个值的形式传递相关字段,字段3也没有传递与该字段关联的值列表。相反,它正在通过一个空数组,我不知道为什么。如果我将其更改为单值,它会找到单值并工作,但当我实现
列表值项
时,它是空数组

* Example step:
   |field     |value                                       |
   |----------|--------------------------------------------|
   |field1    |shop                                        |
   |field2    |apple                                       |
   |field3    |tree, cone                                  |


@Step("Example step: <table>")
public void exampleStep(Table table) {
    Map<String, Object> body = new HashMap<>();
    table.getTableRows().forEach(row -> {
        String value = row.getCell(VALUE);
        String field = row.getCell(FIELD);

        if (StringUtils.equals(field, "field3"))) {
            List<String> valueItem = Arrays.asList(value.split(","));
     for (int i=0; i <= valueItem.size(); i++) {
            body.put(field, valueItem);
        }
        }else {
            body.put(field, value);
        }
    });
*示例步骤:
|字段|值|
|----------|--------------------------------------------|
|现场1 |车间|
|田地2 |苹果|
|field3 |树,圆锥体|
@步骤(“示例步骤:”)
公共无效示例步骤(表){
Map body=newhashmap();
table.getTableRows().forEach(行->{
字符串值=row.getCell(值);
字符串字段=row.getCell(字段);
if(StringUtils.equals(字段,“字段3”)){
List valueItem=Arrays.asList(value.split(“,”);

对于(int i=0;我可能想检查
valueItem
列表的大小。还要确保字段的名称确实是
field3
;否则您将得到空值。@我已经更新了代码以包含循环,我可以看到它已将两个值都放在字段中,但我不确定它是否像一个字符串而不是两个项目一样放在字段中s、 我使用的.put是否导致了问题?我使用了不同的方法,但这对任何人来说都是一个很好的答案。谢谢