当前位置: 首页 > 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)

可以参考这一篇文章。

相关文章:

  • C语言基础—(函数,指针与形参实参,字符串与指针,结构体)
  • 在另外一台可以科学下载的电脑用ollama下载模型后,怎么导入到另外一台服务器的ollama使用
  • (一)Linux的历史与环境搭建
  • 云原生--核心组件-容器篇-6-Docker核心之-镜像仓库(公共仓库,私有仓库,第三方仓库)
  • 香橙派打包qt文件报错“xcb 插件无法加载”与“QObject::moveToThread”线程错误的解决方案
  • 2.2.1goweb内置的 HTTP 处理程序
  • uniapp做app,使用v-for遍历渲染第二层的时候,打包到手机上渲染不出第二层的数据
  • 5G与边缘计算:协同发展,开启智慧世界新篇章
  • (云计算HCIP)HCIP全笔记(十三)本篇介绍虚拟化技术,内容包含:虚拟化资源、虚拟化过程、I/O虚拟化、虚拟化架构KVM和Xen介绍、主流虚拟化技术介绍
  • 终端管理系统如何助力企业简化IT管理?
  • stm32wb55rg (2) 阅读资料手册
  • 近地卫星网络 (Low Earth Orbit Satellite Networks)入门学习笔记
  • C++23 std::bind_back:一种调用包装器 (P2387R3)
  • Scratch——第20课 辗转相除法/绳子算法
  • FTP-网络文件服务器
  • Docker 容器虚拟化技术和自动化部署
  • Java面试:Spring及Spring Cloud技术深度剖析
  • 基于Springboot + vue + 爬虫实现的高考志愿智能推荐系统
  • Nacos源码—1.Nacos服务注册发现分析二
  • 驱动开发硬核特训 │ 深度解析 fixed regulator 驱动与 regulator_ops
  • 来伊份一季度净利减少近八成,今年集中精力帮助加盟商成功
  • 北京朝阳涉住宅组团地块126亿元成交
  • 大家聊中国式现代化|陶希东:打造高水平安全韧性城市,给群众看得见的安全感
  • 旧衣服旧纸箱不舍得扔?可能是因为“囤物障碍”
  • 印方称与巴基斯坦军队在克什米尔交火
  • 我国对国家发展规划专门立法