接口测试之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"));  // 响应断言

    }
}
相关推荐
高兴达31 分钟前
RPC--Netty客户端实现
java·spring·rpc
重庆小透明1 小时前
力扣刷题记录【1】146.LRU缓存
java·后端·学习·算法·leetcode·缓存
lang201509281 小时前
Reactor操作符的共享与复用
java
TTc_1 小时前
@Transactional事务注解的批量回滚机制
java·事务
wei_shuo2 小时前
飞算 JavaAI 开发助手:深度学习驱动下的 Java 全链路智能开发新范式
java·开发语言·飞算javaai
欧阳秦穆2 小时前
apoc-5.24.0-extended.jar 和 apoc-4.4.0.36-all.jar 啥区别
java·jar
岁忧3 小时前
(LeetCode 面试经典 150 题 ) 58. 最后一个单词的长度 (字符串)
java·c++·算法·leetcode·面试·go
Java初学者小白3 小时前
秋招Day14 - Redis - 应用
java·数据库·redis·缓存
代码老y3 小时前
Spring Boot + 本地部署大模型实现:优化与性能提升
java·spring boot·后端
GodKeyNet3 小时前
设计模式-桥接模式
java·设计模式·桥接模式