简体   繁体   English

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

[英]GET request with Path Parameter in RestAssured API Testing

I have tested my API Through Postman我已经通过 Postman 测试了我的 API

GET - https://url:8332/v1/agreement/:agreementId?agreementType=posted If I use abouve url in postman I am getting result what I expected. GET - https://url:8332/v1/agreement/:agreementId?agreementType=posted 如果我在邮递员中使用上述网址,我会得到我预期的结果。

Where在哪里

  • https://url:8332 is API Link https://url:8332 是 API 链接
  • v1/agreement is an endpoint v1/agreement 是一个端点
  • :agreementId is path variabl e - value is account number so dev made the api in a way that we can pass account number but can not see in url :agreementId 是路径变量e - 值是帐号,因此开发人员以一种我们可以传递帐号但在 url 中看不到的方式制作了 api
  • agreementType is queryparam协议类型是查询参数

Now I am trying automate this test using RestAssured code: String url = "https:/url:8332/v1/agreement";现在我正在尝试使用 RestAssured 代码自动执行此测试: String url = "https:/url:8332/v1/agreement"; String apiUrl = url + "/agreementId"; String apiUrl = url + "/agreementId";

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

I am getting error like Invalid number of Path Parameters, Expected 0 and was 1. Redundant path parameter are agreementId=1234.我收到错误,如路径参数的数量无效,预期为 0 且为 1。冗余路径参数为协议 ID=1234。

You could try this你可以试试这个

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

See the log:查看日志: 在此处输入图片说明

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM