在 RestAssured API 测试中使用路径参数的 GET 请求

问题描述

我已经通过 Postman 测试了我的 API

GET - https://url:8332/v1/agreement/:agreementId?agreementType=posted 如果我在邮递员中使用上述网址,我会得到我预期的结果。

哪里

  • https://url:8332 是 API 链接
  • v1/agreement 是一个端点
  • :agreementId 是 path variable - 值是帐号,因此 dev 以一种我们可以传递帐号但在 url 中看不到的方式制作了 api
  • agreementType 是 queryparam

现在我正在尝试使用 RestAssured 自动执行此测试 代码: String url = "https://url:8332/v1/agreement"; String apiUrl = url + "/agreementId";

given().pathParam("agreementId","1234").queryParam("agreementType","CHQ").when().get(apiUrl).then().log().body();

我收到错误,例如无效的路径参数数量,预期为 0 且为 1。冗余路径参数为 agreementId=1234。

解决方法

你可以试试这个

given().log().all()
       .pathParam("agreementId","1234")
       .queryParam("agreementType","CHQ")
       .when()
       .get("https://localhost/v1/agreement/{agreementId}");

查看日志: enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...