В REST Assured, как мне использовать карту параметров?
Выпуск:
Response resp = given().headers(headerElements).param("language", "en").and().param("currency", "***").and()
.param("destination", "**").and().param("theme", Arrays.asList(arr)).and().param("order", "1").and()
.param("partner", "***").and().param("pageNumber", "1").and().param("pageSize", "20").when().get(uri);
Это работает совершенно нормально и дает мне желаемый результат для дальнейшего утверждения.
Но если я отправлю параметры в виде карты, это не даст мне желаемого результата.
Response resp = given().headers(headerElements).params(m).when().get(uri);
m.put("language", "en");
m.put("currency", "**");
m.put("destination", "***");
m.put("theme", Arrays.asList(theme_list_1));
m.put("order", "1");
m.put("partner", "***");
m.put("pageSize", "20");
m.put("pageNumber", "1");
0 ответов
Согласно официальной документации, будьте уверены, существует способ передачи нескольких значений для одного параметра, НО НЕТ способ передачи самих пар ключ-значение.
[ https://github.com/rest-assured/rest-assured/wiki/Usage
Тем не менее, вы можете передать несколько значений в виде строки; как это:
.param("language", "en", "currency", "**", "destination", "***")
Глядя на мои тесты и ваше решение кажется правильным. Единственное отличие, которое я вижу, это значения в вашем первом запросе
.param("currency", "***").and().param("destination", "**")
со второго запроса
m.put("currency", "**");
m.put("destination", "***");
Валюта и пункт назначения имеют разное количество *. Возможно, в этом может быть проблема?