12

如何使用 Rest Assured 在 GET url 中传递查询字符串参数?

网址是:http://example.com/building

我的查询字符串是:

globalDates:{"startMs":1473672973818,"endMs":1481448973817,"period":90}
limitTo:6
loadTvData:true
startFrom:0
userId:5834fb36981baacb6a876427
4

5 回答 5

18

您可以将它们作为 queryParam 传递。

given()
.queryParam("globalDates", "{\"startMs\":1473672973818,\"endMs\":1481448973817,\"period\":90}")
.queryParam("startFrom", "0").queryParam("limitTo", "6").queryParam("loadTvData", true)
.queryParam("startFrom", "0").queryParam("userId", "5834fb36981baacb6a876427")
.when().get("http://example.com/building"). ...
于 2016-12-14T09:55:38.433 回答
5

您还可以将此查询参数放在 Map 中,如下所示,

HashMap<String, String> params = new HashMap<String, String>() {{

put("globalDates", "{\"startMs\":1473672973818,\"endMs\":1481448973817,\"period\":90}");

put("limitTo","6" );

,...

}}

并像下面这样发布,

 resp = RestAssured.given()
                    .headers(headers)
                    .queryParameters(params)
                    .post(apiURL).andReturn();
于 2019-08-01T08:01:37.653 回答
1
QueryParam can be passed as:

String endpoint = "http://example.com/building"; 

var response = given()
.queryParam("globalDates", "{\"startMs\":1473672973818,\"endMs\":1481448973817,\"period\":90}")
.queryParam("startFrom", "0").queryParam("limitTo", "6").queryParam("loadTvData", true)
.queryParam("startFrom", "0").queryParam("userId", "5834fb36981baacb6a876427")
.when().get(endpoint).then();
于 2021-11-29T06:17:55.487 回答
0

对于我们的 api,其类型如下:

https://my.api.com/meeting?page=0&size=1

我们有:

Response response = requestSpecification.queryParam("page", 0).queryParam("size", 1).get(baseEndpoint);
于 2020-11-12T10:58:43.160 回答
-1

您可以使用 Rest Assured 在 GET URL 中传递查询字符串参数,如下所示:

when()
  .parameter("globalDates","startMs","1474260058054","endMs","1482036058051","period","90")                              
  .parameters("limitTo","6")                                  
  .parameters("loadTvData","true")                                
  .parameters("startFrom","0")
  .parameters("userId","5834fb36981baacb6a876427");
于 2016-12-18T18:51:48.680 回答