REST-Assured中如何发送请求并验证响应?
时间: 2024-10-10 18:12:51 浏览: 61
在REST Assured中,发送HTTP请求并验证响应通常包括以下几个步骤:
1. **创建请求**:
使用`given()`方法选择HTTP动词(如GET、POST、PUT等),然后指定URL。例如,发送一个GET请求:
```java
given().log().all()
.when().get("http://example.com/api/resource")
.then().statusCode(200); // 验证状态码为200表示成功
```
2. **设置请求头**(如果需要):
```java
given().header("Authorization", "Bearer your-token");
```
3. **添加请求体**(对于POST、PUT等方法):
```java
given().body(jsonObject)
.when().post("http://example.com/api/resource");
```
4. **处理响应数据**:
可以使用`.extract()`方法获取响应内容,并可以进一步验证。例如,JSON响应的验证:
```java
.then().jsonPath("$.key").isEqualTo(expectedValue); // 验证特定路径的值
```
5. **验证响应对象**:
如果期望的是JSON或XML,可以转换为对象并检查属性:
```java
Response response = given().contentType(MediaType.APPLICATION_JSON).when().get("http://example.com/api/resource");
ResponseEntity<MyResponse> entity = response.as(MyResponse.class);
assertEquals(expectedResult, entity.getBody());
```
6. **处理异常**:
如果预期可能会有错误,可以用`.expect()`方法捕获预期的状态码或错误消息。
阅读全文