url为String变量时如何在一个GET请求中传递pathParam,queryParam和标头

时间:2019-05-07 21:41:58

标签: get rest-assured query-parameters request-headers path-parameter

第一个问题: 我有一个包含路径参数,查询参数和标头的API GET请求,我想将我的请求网址作为字符串变量,如何实现?

第二个问题: 如何将pathParams传递给字符串变量? 我已经研究了如何传递路径参数,但是所有示例均通过get(“ http://some_url/ {path}”)进行传递,我想将url作为字符串。

like String url =“ http://my/request/url”,

如何使用url + {id}?无法获取http字符串?

    given()
          .contentType(ContentTypeJSON).
    with()
      .pathParams("id", "1").
    when()
      .get("http://my/request/url/{id}").
    then()
      .assertThat().
          .statusLine("HTTP/1.1 200 OK");

2 个答案:

答案 0 :(得分:0)

当您声明pathParam时,不必在GET方法中传递/{id}时,Rest Assured会将路径参数自动附加到URL

String url = "http://abc/def";

given()
.contentType(ContentTypeJSON)
.with()
.pathParams("id", "1")
.when()
.get(url)
.then()
.assertThat()
.statusLine("HTTP/1.1 200 OK");

以上内容将呼叫http://abc/def/id/1

答案 1 :(得分:0)

避免返工的简单方法是使用以下代码。

/*
 * We can parameterize it using baseURI and basePath and send a request to get a customer using ID      
 */
        RestAssured.baseURI = "http://parabank.parasoft.com/";
        RestAssured.basePath = "parabank/services/bank/customers";

        //also we can use a path parameter for the same request

        given().contentType(ContentType.JSON).pathParam("customers", "12212").when().get("{customers}/").then().statusCode(200).log().all();