java - 使用 RESTAssured 从 HTML 获取 XML 结果

标签 java rest-assured

我面临着一些情况,我认为事情会非常琐碎,像往常一样不是那么多。

我正在获取对站点的 GET 调用,该调用以 HTML 形式返回结果,其中包含大量内容

RequestSpecification requestSpecification = initRequest()
            .basePath("myPathHere");

    Response response = requestSpecification.get().then().contentType(ContentType.HTML)
            .extract().response();

到目前为止一切都很好,但是当我尝试将其转换为 XML 时,它给了我空结果。

我试过了

XmlPath htmlPath = new XmlPath(CompatibilityMode.XML, response.getBody().asString());

还有

XmlPath htmlPath = new XmlPath(CompatibilityMode.HTML, response.getBody().asString());

我查了一下谷歌,事情很困惑,这应该很容易,但为什么不呢?

最佳答案

试试这个:

RequestSpecification requestSpecification = initRequest()
                                              .basePath("myPathHere");

XmlPath htmlPath = requestSpecification
                      .get()
                      .xmlPath();

或者这个:

RequestSpecification requestSpecification = initRequest()
                                              .basePath("myPathHere");

XmlPath htmlPath = requestSpecification
                      .get()
                      .then()
                      .extract()
                         .path('');

关于java - 使用 RESTAssured 从 HTML 获取 XML 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62388449/

相关文章:

java - 两个不同的功能文件中的多个场景大纲和示例。如何将 Java 步骤从一个功能文件重用到另一个功能文件?

java - 请放心 json-schema-validator

java - 传送到下一个玩家

java - SQLite 删除不工作

java - 同步和可见范围

java - float 据[] = 新浮点[j];为什么这在 java 中无效?我们不能有一个 float 类型的数组吗?

java - 是否可以使用 selenium 从 google chrome 开发人员工具的网络面板中提取任何 header 值?

java - 如何验证返回的状态代码是否成功,即使用 Rest Assured 的任何 2xx HTTP 状态代码?

java-8 - 对象列表的反序列化不适用于 Rest Assured Jsonpath 和 jdk8

java - lwjgl fps绘图问题