当前位置: 首页 > 知识库问答 >
问题:

RESTAssured:在发送请求之后,如何获得RequestSpecification字段或参数?

吕天逸
2023-03-14

我正在做cucumber bdd测试,我有一个类[MyClient]包装restassured方法,我有多个调用[MyClient]的类。

我可以做一些方法,比如put,post等等,但是我想知道是否有一种方法可以让我得到实际的请求字段(头,体...)在完成请求后发送。

我在获取和解析响应时也没有任何问题,但我无法发送请求。

考虑到以下情况,我可以调用SendPostRequest(),它将RequestSpecification实例存储到名为Request的字段中,并且我可以随时通过调用getter来获取它。但是,我不能从requestspecification对象中获取单个字段。从debugger中,我可以很好地看到字段,所以我想应该有一些干净的方法让我得到它。

我已经尝试过log(),但它似乎不能满足我的需要。感谢任何帮助!!

调用类:

public class MyInterfaceSteps() {
 private myClient = new MyClient();

 public sendPostRequest(){
  myClient.post(someHeaders, someBody, someUrl);
 }
}

客户端类:

public class MyClient() {
 private RequestSpecification request;
 private Response response;

 public getRequest() {
  return request;
 }

 public getResponse() {
  return response;
 }

 public Response post(Map<String, String> headers, String body, String url) {
  request = given().headers(headers).contentType(ContentType.JSON).body(body);
  response = request.post(url);  
 }
}

共有1个答案

赫连子石
2023-03-14

您创建了一个过滤器(https://github.com/rest-assured/rest-assured/wiki/usage#filters),它允许您访问FilterableRequestSpecification(http://static.javadoc.io/io.rest-assured/rest-assured/3.0.3/io/restassured/specification/FilterableRequestSpecification.html),您可以从中获取(和修改)例如头和正文等。过滤器可以将这些值存储到您选择的数据结构中。

 类似资料:
  • 我使用下面的代码来创建一个条目在strapi服务器,但不幸的是,我得到了"坏请求"错误。我想不出来。请指导我如何解决这个问题。 ApiSet。班 主要活动。班 我的身体。班 还有我的模型课 数据班 属性。班 最后,我得到了如下回应: 我只是想知道我在哪里犯了错误

  • 我想使用表单urlencoded参数制作POST JSONObjectRequest。我该怎么做?我尝试了以下代码,但无济于事。 我在api调用中收到了一个400错误的请求!我如何修复它?

  • 我想从一个网站得到四个值,但每一步都需要编辑参数。我以为我可以和执行者一起做,但我做不到。那么,我如何在发送之前编辑每个CompletableFuture中的参数?

  • 我在网上找到了这个脚本: 但我不明白如何与PHP一起使用它,也不明白params变量内部的内容是什么,也不明白如何使用它。我能帮个忙吗?

  • 我有以下WCF服务操作: 我可以通过导航到服务在浏览器中加载WSDL。但是,当我在Jmeter中向同一服务发送“SOAP/XML-RPC请求”时,我收到了响应代码-400-错误请求。 以下是我正在使用的Soap消息:

  • 在向Microsoft Graph endpoint(https://Graph.Microsoft.de/v1.0)发送以下post请求后,我得到了400个UnableToDeserializePostBody,但在向Microsoft Graph endpoint(https://Graph.Microsoft.com/v1.0)发送相同请求后,我收到了201个。 请求发送https://gr