接口测试之XML响应断言

目录

  • XPath 基本语法
  • XML 响应结果解析
  • XML 响应结果断言

XML 响应数据

  • 如何提取 AddResult 中的值?
复制代码
  <soap:Body>
      <AddResponse xmlns="http://tempuri.org/">
        <AddResult>4</AddResult>
      </AddResponse>
  </soap:Body>

XPath 简介

  • 是 XML 路径语言
  • 是 XML Path Language 的缩写
  • 是用来确定 XML 文档中某部分位置

XPath 语法

XML 响应断言

java 复制代码
import org.apache.commons.io.IOUtils;
import org.junit.jupiter.api.Test;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.equalTo;


public class TestAssertionXML {
    @Test
    void testXML() throws IOException {

        // 定义请求体数据:源自文件对象
        File file = new File("src/test/resources/add.xml");
        FileInputStream fis = new FileInputStream(file);
        String reqBody = IOUtils.toString(fis, "UTF-8");

        given()
                .contentType("text/xml")  // 定制请求内容媒体类型
                .body(reqBody)  // 定制请求体数据
        .when()
                .post("http://dneonline.com/calculator.asmx")  // 发送请求
        .then()
                .log().body()  // 打印响应体信息
                .body("//AddResult.text()", equalTo("2"));  // 响应断言

    }
}
相关推荐
SimonKing1 小时前
JetBrains 用户狂喜!这个 AI 插件让 IDE 原地进化成「智能编码助手」
java·后端·程序员
狂奔小菜鸡1 小时前
Day39 | Java中更灵活的锁ReentrantLock
java·后端·java ee
NE_STOP14 小时前
MyBatis-配置文件解读及MyBatis为何不用编写Mapper接口的实现类
java
后端AI实验室19 小时前
用AI写代码,我差点把漏洞发上线:血泪总结的10个教训
java·ai
程序员清风21 小时前
小红书二面:Spring Boot的单例模式是如何实现的?
java·后端·面试
belhomme21 小时前
(面试题)Redis实现 IP 维度滑动窗口限流实践
java·面试
Be_Better21 小时前
学会与虚拟机对话---ASM
java
开源之眼1 天前
《github star 加星 Taimili.com 艾米莉 》为什么Java里面,Service 层不直接返回 Result 对象?
java·后端·github
Maori3161 天前
放弃 SDKMAN!在 Garuda Linux + Fish 环境下的优雅 Java 管理指南
java
用户908324602731 天前
Spring AI 1.1.2 + Neo4j:用知识图谱增强 RAG 检索(上篇:图谱构建)
java·spring boot