接口测试JSON/XML请求

目录:

  • JSON请求
  • XML请求

JSON简介:

  • 是JavaScript Object Notation的缩写
  • 是一种轻量级的数据交换格式
  • 是理想的接口数据交换语言

JSON请求:

  • 构造JSON请求体
  • JSON字符串
  • HashMap对象+Jackson库

构造JSON请求体:

package com.ceshiren.jsonpath;import org.junit.jupiter.api.Test;import static io.restassured.RestAssured.given;public class jsonStrTest {@Testvoid testJsonStr(){//定义请求数据:jsonstrString jsonStr = "{\"hello\":\"hogwarts\"}";given()//指定内容类型.contentType("application/json")//传入数据对象.body(jsonStr).log().headers().log().body().when().post("https://httpbin.ceshiren.com/post").then()
//                .log().all()//简单的断言.statusCode(200);}
}

使用HashMap对象:

package com.ceshiren.jsonpath;import org.junit.jupiter.api.Test;import java.util.HashMap;import static io.restassured.RestAssured.given;public class jsonObjTest {@Testvoid JsonObjTest(){//定义请求数据体HashMap<String,String> jsonObj  =new HashMap<String,String>();//填充数据jsonObj.put("hello", "hogwarts");given()//请求体类型.contentType("application/json").body(jsonObj).log().headers().log().body().when().post("https://httpbin.ceshiren.com/post").then().statusCode(200);}}

XML简介:

  • 是eXtensible Markup Language的缩写
  • 是可扩展标记语言,类似HTML
  • 是用来传输和存储数据
  • 是通过<>标签来描述信息
  • 是W3C的推荐标准

XML是一个完整的标记语言,而JSON不是

XML请求:

  • 构建XML请求体
    • 外部XML文件
    • 字符串

外部XML文件:

IOUtils依赖配置:

 <dependency><groupId>com.jayway.jsonpath</groupId><artifactId>json-path</artifactId><version>${json-path.version}</version></dependency>

xml实例:

package com.ceshiren.jsonpath;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;public class xmlTest {@Testvoid testxmlTest() throws IOException {//定义请求体数据,XML文件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)//定制请求体数据.log().headers().log().body().when().post("http://dneonline.com/calculator.asmx").then().log().all().statusCode(500);//响应断言}}

add.txt文件内容:

<Envelop xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Body><Add xmlns="http://tempuri.org/"><intA>1</intA><intB>1</intB></Add></Body>
</Envelop>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/22130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM 32_HAL_SDIO_SD卡

STM32的SDIO&#xff08;Secure Digital Input Output&#xff09; 接口是一种用于SD卡和MMC卡的高速数据传输接口。它允许STM32微控制器与多种存储卡和外设进行通信&#xff0c;支持多媒体卡&#xff08;MMC卡&#xff09;、SD存储卡、SDI/O卡和CE-ATA设备。STM32的SDIO控制器…

JAVA-学习

一、垃圾回收机制 1、为什么要进行垃圾回收机制 如果不进行垃圾回收&#xff0c;内存迟早都会被消耗空&#xff0c;因为我们在不断的分配内存空间而不进行回收。除非内存无限大&#xff0c;我们可以任性的分配而不回收&#xff0c;但是事实并非如此。所以&#xff0c;垃圾回收…

【大模型】在大语言模型的架构中,Transformer有何作用?

Transformer在大语言模型架构中的作用 Transformer是一种用于序列到序列&#xff08;Seq2Seq&#xff09;任务的深度学习模型&#xff0c;由Vaswani等人于2017年提出。在大语言模型&#xff08;LLM&#xff09;的架构中&#xff0c;Transformer扮演着关键的角色&#xff0c;它…

全面解析LG webOS:从开发到智能电视的演进

本文全面探讨了LG webOS的发展历程、技术特点、开发资源以及与Android TV的对比。涵盖了webOS的历史背景、功能特性、开发工具、用户体验以及市场表现&#xff0c;旨在为读者提供一个深入了解webOS的全面视角。 文章目录 webOS的历史与发展从Palm到LG的收购历程关键版本的发布日…

前端性能优化总结笔记

资源加载优化 DNS预解析 简单介绍: DNS 的作用是将域名解析为 IP 地址&#xff0c;解析的过程是耗时的&#xff0c;转化后会做本地缓存&#xff0c;我们的优化的目标主要是针对用户第一次访问站点的时候陷入长时间白屏的问题。 DNS 解析可以分为两类: 第一类是页面 DNS 解…

Flink中因java的泛型擦除导致的报错及解决

【报错】 Exception in thread "main" org.apache.flink.api.common.functions.InvalidTypesException: The return type of function Custom Source could not be determined automatically, due to type erasure. You can give type information hints by using th…

【php实战项目训练】——thinkPhP的登录与退出功能的实现,让登录退出畅通无阻

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

Mendix 创客访谈录|Mendix助力开发高手10日交付复杂应用,且支持移动端呈现

本期创客 莊秉勳 布鲁科技技术顾问 各位Mendix社群的夥伴好&#xff0c;我是莊秉勳&#xff0c;大家也可以叫我Danny。 我大學是資訊科學背景&#xff0c;在與Mendix相遇前&#xff0c;曾在一上市製造企業&#xff0c;擔任軟體工程師&#xff0c;負責企業內部軟體開發&#xf…

Virtualbox 安装unbuntu + qemu

0. 前言 关于 Virualbox 安装虚拟机的优秀文章太多了&#xff0c;笔者主要是着重梳理一些安装小细节&#xff0c;利己利人&#xff01;&#xff01; 如果需要保姆式的安装教程&#xff0c;可以查看后续的参考链接。 1. VirtualBox 的安装 直接去官网搜索最近的软件即可&…

js每日十题(二)

1. 6.3 js第6题 以下结语句中&#xff0c;返回true的是&#xff1f; A !![] B 1’1’ C nullundefined D !!’’ 答&#xff1a; A选项&#xff0c;由于数组属于对象类型&#xff0c;所以空的数组转换成布尔型是true&#xff0c;前置&#xff01;&#xff01;&#xff0c;两次取…

【paper】环形虚拟管内的多无人机协同目标包围

Multi-UAV cooperative target encirclement within an annular virtual tube2022.8ELSEVIER Aerospace Science and Technology【Q1 5.6】Yan Gao 全权 北航 Q1 Background&#xff1a;本文试图解决一个什么样的问题&#xff1f; 多无人机对单个静态目标进行连续包围任务&…

基于聚类和回归分析方法探究蓝莓产量影响因素与预测模型研究附录

&#x1f31f;欢迎来到 我的博客 —— 探索技术的无限可能&#xff01; &#x1f31f;博客的简介&#xff08;文章目录&#xff09; 目录 背景数据说明数据来源思考 附录数据预处理导入包以及数据读取数据预览数据处理 相关性分析聚类分析数据处理确定聚类数建立k均值聚类模型 …

12- Redis 中的 链表 数据结构

Redis 的 List 对象的底层实现之一就是链表。C 语言本身没有链表这个数据结构&#xff0c;所以 Redis 自己设计了一个链表数据结构。 1. 链表节点结构设计 先来看看【链表节点】结构的样子&#xff1a; typedef struct listNode {//前置节点struct listNode *prev;//后置节点…

liunx配置网络的命令

liunx配置网络的命令 文章目录 liunx配置网络的命令ifconfig命令查看路由表信息netstat命令ss命令lsof命令ping 命令nslookup命令 ifconfig命令 ifconfig:显示正在工作的网卡&#xff0c;启动的设备 ifconfig -a 展示所有设备 ens33: flags4163<UP,BROADCAST,RUNNING,MUL…

测试脚本参数设置

首先构建用例&#xff0c;关联脚本位置。 设置Jenkins服务器和Jenkins任务&#xff0c;设置Jenkins ip、测试阶段、测试平台、测试入口、主机CPU架构、操作系统版本、测试机类型、测试机资源、测试对象&#xff08;hba/raid&#xff09;、背板类型、是否编译安装包、编包对象、…

oracle with 递归查询

在Oracle SQL中&#xff0c;WITH子句&#xff08;也称为公共表达式或CTE&#xff0c;Common Table Expressions&#xff09;用于定义临时的命名结果集&#xff0c;这些结果集可以在主查询中引用。WITH子句可以简化复杂的SQL查询&#xff0c;使其更具可读性&#xff0c;特别是当…

RK3588+FPGA+算能BM1684X:高性能AI边缘计算盒子,应用于视频分析、图像视觉等

搭载RK3588&#xff08;四核 A76四核 A55&#xff09;&#xff0c;CPU主频高达 2.4GHz &#xff0c;提供1MB L2 Cache 和 3MB L3 &#xff0c;Cache提供更强的 CPU运算能力&#xff0c;具备6T AI算力&#xff0c;可扩展至38T算力。 产品规格 系统主控CPURK3588&#xff0c;四核…

银行数据治理:优化金融信息安全

在当今数字化时代&#xff0c;数据已成为银行等金融机构最重要的资产之一。然而&#xff0c;数据的数量和复杂性日益增加&#xff0c;给银行的数据治理带来了巨大挑战。数据治理不仅仅是数据的管理&#xff0c;更是数据质量、数据安全和数据价值的综合体现。为了解决这些挑战&a…

数字、钱工具栏

/*** 提取字符串中的 数字 带小数点 &#xff0c;没有就返回"0"** param money* return*/fun getMoney(money: String): String {var money moneyvar pattern Pattern.compile("(\\d\\.\\d)")var m pattern.matcher(money)if (m.find()) {money if (m.…

数据挖掘实战-基于长短期记忆网络(LSTM)的黄金价格预测模型 | 97% 准确度

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…