Как получить параметры шага с несколькими конвейерами в огурце для кода Java? - PullRequest
0 голосов
/ 28 мая 2019

У меня есть следующие шаги в моем файле возможностей для сценария.

Given my_first_step

And my_second_step
  | Themes          | one | three |

  | Service Windows | two | four  |

And my_third_step

  | Create Apps |

  | Config      |

мы можем получить параметры 'my_third_step', как показано ниже в коде Java в виде списка

public void my_third_step(List listOfItems) {}

но как получить параметры в 'my_second_step'?Мне нужно получить строки в виде массива элементов в коде Java.Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 28 мая 2019

Вы должны передать список объектов, ваш объект будет выглядеть как

public class MyObject {
    private Integer themes;
    private Integer service;

    public Integer getThemes() {
       return this.themes;
    }

    public void setThemes(Integer themes) {
       this.themes = themes;
    }

    public Integer getService() {
       return this.service;
    }

    public void setService(Integer service) {
       this.service = service;
    }
}

Затем вы можете передать List<MyObject> методу.

public void my_second_step(List<MyObject>) {
...
}

В функцииФайл измените определение следующим образом:

And my_second_step
  | Themes          | Service |
  | one             | two     |
  | three           | four    |

Надеюсь, это поможет.

0 голосов
/ 28 мая 2019

Используя Заголовок , мы можем реализовать Таблицу данных очень чистым и точным способом, учитывая, что Таблица данных выглядит ниже единицы -

And my_second_step
    | Heading_1        | Heading_2 | Heading_3 | 
    |  Themes          |    one    | three     |
    |  Service Windows |    two    | four      |

public void my_second_step(DataTable table) throws Throwable {

List<Map<String, String>> list = table.asMaps(String.class,String.class); 

System.out.println(list.get(0).get("Heading_1") + " : " + list.get(1).get("Heading_1"));
System.out.println(list.get(0).get("Heading_2") + " : " + list.get(1).get("Heading_2"));
System.out.println(list.get(0).get("Heading_3") + " : " + list.get(1).get("Heading_3"));

}
...