如何在 Rest Assured 中验证 XML 响应?
rest assureddynamic programmingprogramming
我们可以在 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 路径来获取名称和价格标签的值。
我们将借助 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() { // 包含 Rest Assured 类的基本 URI RestAssured.baseURI = "https://run.mocky.io/v3"; // 接受 XML 内容 given().accept(ContentType.XML) // GET 请求 .when().get("/55889581- da52-4383-840e-bdf6dde19252";) // 验证 XML 主体 .then().assertThat() //验证主题列表 .body(&"courses.subject.name&", Matchers.hasItems (&"Rest Assured&", &"Postman&")) .and().assertThat() //验证价目表 .body("courses.subject.price", Matchers.hasItems("10", "6")); } }