Как мы можем динамически строить «Params» в автоматизации остальных API - PullRequest
0 голосов
/ 03 мая 2019

В автоматизации API, давайте рассмотрим код ниже, чтобы поразить API и получить ответ.

Response res= given().

              formParam("email", "value").

              formParam("password", "value").

              formParam("action", "login").

              header("token","value").

              when().post("MyResource").then().assertThat().statusCode(200).extract().response();

На самом деле в приведенном выше коде мы просто создаем API с formParams , header и resource с post request right!

Итак, мы создали 3 formParm вручную и передали значения, верно? теперь я хочу, чтобы это добавлялось автоматически на основе каких-либо параметров, которые у нас есть из листа Excel.

Дело в том, что эти параметры могут быть удалены или новые параметры будут добавлены в будущем, поэтому я хочу добавить их динамически из данных таблицы Excel.

как я могу это сделать? какие-либо предложения?

1 Ответ

2 голосов
/ 03 мая 2019

Если я вас правильно понял, вы хотите, чтобы параметры в электронной таблице использовались динамически и во время выполнения.

Для этого вам необходимо:

  1. Прочитайте файл электронной таблицы и получите параметры, содержащиеся в структуре данных, такой как Map<String,String>, в которой ключом является поле, а значением является ... значение: P

  2. Выполните итерацию в выбранной структуре данных и задайте значение formParam в общем случае

    final RequestSpecification given = given(); for(final Map.Entry<String,String> entry : map) { given.formParam(entry.getKey(), entry.getValue()); } final Response res = given.other_things() ...

Надеюсь, это поможет, но имейте в виду, что использование Map не обязательно. Выберите структуру данных, более подходящую для вашей ситуации!

...