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

    }
}
相关推荐
掐指一算乀缺钱18 分钟前
SpringBoot 数据库表结构文档生成
java·数据库·spring boot·后端·spring
晚睡早起₍˄·͈༝·͈˄*₎◞ ̑̑23 分钟前
苍穹外卖学习笔记(七)
java·windows·笔记·学习·mybatis
就这个java爽!29 分钟前
JAVA网络编程【基于TCP和UDP协议】超详细!!!
java·开发语言·网络·tcp/ip·udp·eclipse·idea
一叶飘零_sweeeet33 分钟前
为什么 Feign 要用 HTTP 而不是 RPC?
java·网络协议·http·spring cloud·rpc·feign
懒洋洋大魔王1 小时前
7.Java高级编程 多线程
java·开发语言·jvm
茶馆大橘1 小时前
【黑马点评】已解决java.lang.NullPointerException异常
java·开发语言
星辰@Sea1 小时前
服务注册中心对比及使用场景分析
java·云原生
马剑威(威哥爱编程)1 小时前
除了递归算法,要如何优化实现文件搜索功能
java·开发语言·算法·递归算法·威哥爱编程·memoization
bug菌¹1 小时前
滚雪球学SpringCloud[4.1讲]: Spring Cloud Gateway详解
java·spring cloud·微服务
MuseLss1 小时前
HashMap高频面试知识点
java·开发语言·哈希算法