接口测试(旧版)
传统的接口自动化测试大多借助第三方测试框架,以代码工程项目的形式实现,不利于管理和维护; MeterSphere 为了解决这个问题,开发了可视化接口自动化测试功能,只需要配置每个接口的入参和 断言,即可实现对接口的自动化测试,同时还开发了基于chrome浏览器的MeterSphere Recorder插件,方便录制场景以及快速导入场景,大大提升了接口测试的效率。
首页
由测试、报告、测试日历三个部分组成,可快速了解到最近执行的测试内容以及整体的接口测试频次。
-
测试:展示最近 5 次执行的接口测试
-
报告:展示最近 5 次执行的接口测试所生成的报告
-
测试日历:按时间维度展示接口测试执行的频次,颜色越深,代表使用频次越高
{ width="900px" }
项目
对项目进行新增、修改、删除、查询操作
{ width="900px" }
新增项目
点击“创建项目”,录入项目名称和描述
{ width="900px" }
修改项目
选择要修改的项目,点击编辑按钮
{ width="900px" }
删除项目
选择要删除的项目,点击删除按钮
{ width="900px" }
查询项目
查询全部项目选择“显示全部”,查询单个项目可以根据名称搜索
{ width="900px" }
环境配置
可以添加该项目下接口的实际环境,增加了全局 header,可以在项目中设置全局 header 值。在接口运行页面的场景中也增加环境配置弹层。
{ width="900px" }
新增全局变量,可以在环境列表中定义全局变量的名称和值,接口测试里面可以通过$(xx)来访问当前环境变量下定义的全局变量
{ width="900px" }
测试
对测试接口或接口集合进行新增、修改、删除、查询操作
创建测试
点击创建测试,如图 5 步即可成功创建接口测试
{ width="900px" }
目前支持HTTP、DUBBO 两种协议的接口测试
{ width="900px" }
场景配置
场景内的全局变量和请求头配置,作用域为场景内
环境配置
场景中可以配置环境
{ width="900px" }
自定义变量
在场景配置中自定义变量的名称和值, 接口运行或者测试集合里面可以通过 ${BASE} 来访问当前场景下定义的全局变量
{ width="900px" }
请求头
这里增加全局 header,可以在项目中设置全局 header 值
{ width="900px" }
Dubbo配置
主要用于Dubbo RPC接口测试
协议支持:zookeeper、nacos、Apollo
dubbo参数支持:connections、loadbalance、async
{ width="900px" }
请求配置
HTTP请求
引用环境
引用环境开启后,可以引用环境中的域名、请求头和变量
{ width="900px" }
请求参数
接口 url 的查询字符串
{ width="900px" }
请求头
http请求的header,作用域为请求内
{ width="900px" }
请求内容
http 请求的 body 部分,如果 http 请求方式是 post, put 等请求方式时会有 请求内容 部分,形式有2种,分别是 键值对(form)、文本(json)
{ width="900px" }
DUBBO请求
Dubbo 请求由协议、配置中心、请求参数三部分组合而成
{ width="900px" }
Dubbo 协议
目前仅支持dubbo协议
{ width="900px" }
配置中心
Interface
{ width="900px" }
Config Center 配置中心,协议支持 Zookeeper、Nacos、Apollo
{ width="900px" }
Registry Center 注册中心,支持 Zookeeper、Redis、Multicast、simple
{ width="900px" }
Consumer & Service
{ width="900px" }
请求参数
Args
{ width="900px" }
断言
断言支持文本、正则和响应时间三种方式,选择断言方式后,点击“+”生成规则即可生效
{ width="900px" }
提取
支持从响应中提取返回值作为变量存储,作用域为场景内,提取方式为正则、JSONPath、XPath三种
{ width="900px" }
修改测试
请求执行顺序和场景执行顺序支持拖拽调整;变更结束点击保存
{ width="900px" }
删除测试
点击测试-显示全部,选择要删除的测试,点击删除按钮
{ width="900px" }
查询测试
查询全部测试,点击显示全部,查询单个测试可以根据名称搜索
{ width="900px" }
执行测试
保存成功的测试点击“执行”按钮,编辑完成的测试也可以点击“保存并执行”按钮,页面将会跳转到当前测试的测试报告中。
{ width="900px" }
{ width="900px" }
定时任务
保存成功的测试,可以设置定时任务,测试将会在指定时间运行并产生测试报告
{ width="900px" }
创建定时任务
点击SCHEDULER可以编辑定时任务,点击“生成表达式”可快速生成cron表达式
{ width="900px" }
{ width="900px" }
定时任务执行
定时任务为开关控制,并展示最近一次的计划执行时间,生成的测试报告触发方式为“定时任务”
{ width="900px" }
{ width="900px" }
更多操作
创建性能测试
创建性能测试,接口测试保存后可以直接创建该场景对应的性能测试,配置压力测试参数后,可一键执行
{ width="900px" }
{ width="900px" }
导出
在更多操作中选择导出,可以将当前测试导出为json文件
{ width="900px" }
导入
支持快速导入MeterSphere Record ,postman, swagger数据
{ width="900px" }
MeterSphere Record
为 MeterSphere 配套的浏览器插件,该插件可将用户在浏览器操作时的 HTTP 请求记录下来并生成 JMX 文件(JMeter 脚本文件)或 JSON 文件,用于在 MeterSphere 中进行接口测试或性能测试。
录制脚本:
{ width="900px" }
编辑脚本:可以针对录制的请求进行编辑调整,导出格式支持JMX和JSON两种
{ width="900px" }
导入脚本:JSON脚本可以导入到平台进行接口测试,JMX脚本可以导入到平台进行性能测试
{ width="900px" }
{ width="900px" }
postman
导出postman测试
{ width="900px" }
{ width="900px" }
导入到MeterSphere
{ width="900px" }
{ width="900px" }
swagger
swagger导入:将swagger文件导入平台
{ width="900px" }
{ width="900px" }
报告
对接口测试报告的查询和删除操作
查询报告
查询全部报告,点击显示全部,查询单个报告可以根据名称搜索
{ width="900px" }
报告详情
展示接口测试的执行结果,包含响应时间、错误、断言以及请求的具体响应报文等
{ width="900px" }
{ width="900px" }
{ width="900px" }
删除报告
点击报告-显示全部,选择要删除的报告,点击删除按钮
{ width="900px" }