如何在 Rest Assured 中验证 XML 响应?
我们可以在 Rest Assured 中验证 XML 响应。为了获取 XML 响应,我们必须将参数 ContentType.XML 传递给 accept 方法。我们首先将通过 Postman 对模拟 API URL 发送 GET 请求。
使用 Rest Assured,我们将验证其 XML 响应,其中包含主题 Rest Assured、Postman 的名称,以及它们的价格分别为 10 和 6。
在上面的 XML 响应中,我们将通过遍历路径 - courses.subject.name 和 courses.subject.price 分别获取 name 和 price 标签的值。
我们将借助 Hamcrest 框架执行断言,该框架使用 Matcher 类进行断言。要使用 Hamcrest,我们必须在 Maven 项目的 pom.xml 中添加 Hamcrest Core 依赖项。此依赖项的链接可在以下链接中找到:
https://mvnrepository.com/artifact/org.hamcrest/hamcrest-core
示例
代码实现
import org.hamcrest.Matchers; import org.testng.annotations.Test; import static io.restassured.RestAssured.*; import io.restassured.RestAssured; import io.restassured.http.ContentType; public class NewTest { @Test void validateXMLResponse() { //base URI with Rest Assured class RestAssured.baseURI = "https://run.mocky.io/v3"; //accept XML CONTENT given().accept(ContentType.XML) //GET request .when().get("/55889581- da52-4383-840e-bdf6dde19252") //validate XML body .then().assertThat() //validate subject lists .body("courses.subject.name", Matchers.hasItems ("Rest Assured", "Postman")) .and().assertThat() //validate price lists .body("courses.subject.price", Matchers.hasItems("10", "6")); } }
输出
广告