在restassured中text/html,application/xhtml+xml,application/xml类型如何传参和断言
时间: 2024-10-24 08:07:54 浏览: 29
在RestAssured中,当你处理`text/html`, `application/xhtml+xml`, 或者 `application/xml` 类型的响应时,通常会涉及到HTML页面的内容验证。这里有两个主要部分:发送请求时设置合适的Content-Type头以及断言返回的响应内容。
### 发送请求
1. **设置Content-Type**: 使用`given().header("Accept", "text/html")` 或 `".header("Accept", "application/xhtml+xml")` 来指定期望接收的MIME类型。这告诉服务器你期待的是HTML或XML格式的响应。
```java
Given when()
.headers(headers -> headers.accept("application/xhtml+xml"))
.get("/your-endpoint")
```
### 断言响应内容
2. **验证内容**:使用`.then()`链式操作,你可以验证响应体的内容满足预期。例如,可以使用`body()`方法获取HTML内容,然后使用CSS选择器(`html > body`)来定位特定元素,再通过`containsText()` 或 `hasXPath()` 等方法做文本或XML结构的断言。
```java
.then()
.assertThat()
.body("html > body", containsString("expected content"))
.or()
.assertThat()
.bodyXPath("//element[@attribute='value']", notNullValue());
```
请注意,对于HTML内容,XPath可能更适合复杂的选择器;而对于XML,直接使用XML相关的API(如`Element`)更为合适。
阅读全文