当前位置: 首页 > news >正文

SoapUi测试1——REST(WebAPi、Json协议/HTTP、Post通讯方式)接口测试

文章目录

  • 1背景
    • 1.1接口测试工具SoapUi产生背景
    • 1.2常见接口类型
    • 1.3接口包含内容
    • 1.4请求格式
  • 2软件使用
  • 3http、webservice、webapi如何测试
    • 3.1REST(WebAPi、JSON/HTTP、POST)
    • 3.2SOAP(Webserver、XML/HTTP、POST)

1背景

1.1接口测试工具SoapUi产生背景

当服务器被开发出来,但是客户端(前端还未开发),此时需要使用接口测试工具进行接口测试。通过模拟客户端发送请求,同时接收服务器回馈结果,完成接口测试。

1.2常见接口类型

在这里插入图片描述

1.3接口包含内容

在这里插入图片描述

1.4请求格式

  1. json
{"method": "POST","url": "https://api.example.com/login","headers": {"Content-Type": "application/json"},"body": {"username": "test_user","password": "p@ssw0rd123","remember_me": true}
}

2.XML

<?xml version="1.0" encoding="UTF-8"?>
<request><param name="id">1001</param>
</request>

2软件使用

该软件包含两部分
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通俗来说SOAP采用XML格式可以传输消息长,REST采用二进制编码传输快。

3http、webservice、webapi如何测试

在这里插入图片描述

3.1REST(WebAPi、JSON/HTTP、POST)

1. 生成服务器
这边有一个很好的博客,教如何创建REST的服务器,输入和输出均采用json格式。
2. 服务器限制报文格式
在这里插入图片描述
双击选中的Response1,点击底部的Scrip按钮,下拉会出现一个脚本文件。插入一下脚本内容。

// 获取请求内容
def requestContent = mockRequest.getRequestContent()// 定义响应模板
def buildResponse(success, message) {return ["success": success,"errMsg": message,"Data": ["PalletNo": "123456","ProductCode": "HY-DH144N8"]]
}try {def requestJson = new groovy.json.JsonSlurper().parseText(requestContent)// 验证逻辑...def errors = []if(!requestJson.EqpCode) errors << "缺少EqpCode"if(!(requestJson.FullQty in Integer)) errors << "FullQty必须为整数"if(!(requestJson.LotNumbers in List)) errors << "LotNumbers必须为数组"if(errors) {def response = buildResponse(false, "验证失败: " + errors.join(", "))mockResponse.setResponseContent(new groovy.json.JsonBuilder(response).toString())mockResponse.setResponseHttpStatus(400)} else {def response = buildResponse(true, "")mockResponse.setResponseContent(new groovy.json.JsonBuilder(response).toString())}} catch(e) {def response = buildResponse(false, "无效的JSON格式: " + e.message)mockResponse.setResponseContent(new groovy.json.JsonBuilder(response).toString())mockResponse.setResponseHttpStatus(400)
}

这样就可以限制报文输入类型为:

{
"EqpCode":"L1_BZ1",
"FullQty":36,
"LotNumbers":["H3501241015172300345","H3501241015172300346","H3501241015172300347"]
}

这个界面需要注意红色框中为空白,一切用脚本来写入即可。
在这里插入图片描述
3.3创建客户端
参考这边博文,很清楚说明了REST如何请求服务器
双击REST
写入http://localhost:8080/phone/blackphone
在这里插入图片描述
即可得到测试界面
在这里插入图片描述

3.2SOAP(Webserver、XML/HTTP、POST)

可以参考这一篇文章。

http://www.xdnf.cn/news/199351.html

相关文章:

  • 【AI 工业应用 】AI大模型在工业领域(CAD等)的前景与实战
  • 1.8空间几何与场论
  • OpenGL进阶系列21 - OpenGL SuperBible - blendmatrix 例子学习
  • [26] cuda 应用之 nppi 实现图像格式转换
  • 企业 AD 域安全10大风险场景解析
  • Redis常用数据结构解析:从原理到实战应用
  • Python(14)推导式
  • Linux文件的一般权限
  • 2799. 统计完全子数组的数目
  • [Spring] Sentinel详解
  • Linux常见基础命令
  • i/o复用函数的使用——epoll
  • jclasslib 与 BinEd 结合的二进制分析技术指南
  • 【计算机系统结构】第四章
  • 利用EMQX实现单片机和PyQt的数据MQTT互联
  • 数据库系统概论|第三章:关系数据库标准语言SQL—课程笔记6
  • 计算机基础—(九道题)
  • 云上玩转DeepSeek系列之六:DeepSeek云端加速版发布,具备超高推理性能
  • AI图片跳舞生成视频,animate X本地部署。
  • 2025系统架构师---论企业集成平台的技术与应用
  • 永磁同步电机控制算法-反馈线性化滑模控制
  • Telephony VoiceMail
  • 数据库基础与核心操作:从概念到实战的全面解析
  • 嵌入式多功能浏览器系统设计详解
  • 使用双端队列deque模拟栈stack
  • 获得ecovadis徽章资格标准是什么?ecovadis评估失败的风险
  • sortablejs + antd-menu 拖拽出重复菜单
  • 【个人理解】MCP server和client二者各自的角色以及发挥的作用
  • 【TS入门笔记4---装饰器】
  • DPanel 一款更适合国人的 Docker 管理工具