当我尝试使用 REST assured 解析 XML 响应时收到错误消息
I get an error message when i try to parse an XML response using REST assured
我正在使用这个简单的函数来获取并打印出 XML 响应中的值:
@Test
void validateXMLResponse() {
String book = RestAssured.given().when()
.get("https://chercher.tech/sample/api/books.xml")
.then().extract().path("bookstore.book.title");
System.out.println(book);
}
但我在控制台中收到此错误:
java.lang.ClassCastException: class io.restassured.internal.path.xml.NodeChildrenImpl cannot be cast to class java.lang.String (io.restassured.internal.path.xml.NodeChildrenImpl is in unnamed module of loader 'app'; java.lang.String is in module java.base of loader 'bootstrap')
由于您的 xml 中有多个书籍节点,您应该使用相应的索引来定义您想要获取哪本书的标题。像这样:“bookstore.book[0].title”。或者遍历索引得到所有的书名。
@Test
public void validateXMLResponse() {
String book = RestAssured.given().when()
.get("https://chercher.tech/sample/api/books.xml")
.then().extract().body().path("bookstore.book[0].title");
System.out.println(book);
}
我正在使用这个简单的函数来获取并打印出 XML 响应中的值:
@Test
void validateXMLResponse() {
String book = RestAssured.given().when()
.get("https://chercher.tech/sample/api/books.xml")
.then().extract().path("bookstore.book.title");
System.out.println(book);
}
但我在控制台中收到此错误:
java.lang.ClassCastException: class io.restassured.internal.path.xml.NodeChildrenImpl cannot be cast to class java.lang.String (io.restassured.internal.path.xml.NodeChildrenImpl is in unnamed module of loader 'app'; java.lang.String is in module java.base of loader 'bootstrap')
由于您的 xml 中有多个书籍节点,您应该使用相应的索引来定义您想要获取哪本书的标题。像这样:“bookstore.book[0].title”。或者遍历索引得到所有的书名。
@Test
public void validateXMLResponse() {
String book = RestAssured.given().when()
.get("https://chercher.tech/sample/api/books.xml")
.then().extract().body().path("bookstore.book[0].title");
System.out.println(book);
}