问题:
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);
这完全正常,并为我提供了进一步断言所需的结果。
但是,如果我将参数作为Map发送,它不会给我想要的结果。
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 :(得分:0)
根据放心的官方文档,有一种方法可以为单个参数传递多个值,但不能通过键值对本身传递。
[https://github.com/rest-assured/rest-assured/wiki/Usage#parameters]
但是,您可以将多个值作为字符串传递;像这样:
.param("language", "en", "currency", "**", "destination", "***")
答案 1 :(得分:0)
看看我的测试,您的解决方案似乎是正确的。我看到的唯一区别是您的第一个请求中的值
.param("currency", "***").and().param("destination", "**")
来自第二个请求
m.put("currency", "**");
m.put("destination", "***");
货币和目的地的*号不同。也许这可能是问题所在?