接口定义
接口定义展示当前项目的所有接口列表、接口用例列表和以文档的形式显示接口信息。
1 接口协议
点击左上角【HTTP】下拉框,可切换接口协议,目前支持HTTP、TCP、SQL和DUBBO四种协议。
2 模块树管理
接口定义可以分模块管理,按照测试项目实际功能划分为多级模块进行管理,最多可分八级。鼠标悬浮在模块顶部,点击【+】创建一级模块。
模块支持重命名、添加子模块、删除、展开/收起子模块等操作,选中目录可进行拖拽调整。
支持通过模块名称进行模糊查询。
3 接口管理
3.1 接口快捷调试
鼠标悬浮在【+】上,点击【快捷调试】进入快捷调试页面。
填写完整的测试地址和基本请求参数,点击【测试】按钮即可进行接口调试。
测试完成后,点击【另存为新用例】,填写接口用例名称可以保存为一个新的接口定义和接口用例。
3.2 快速创建接口
点击 【更多操作-创建接口】,可快速创建接口。
点击【确定】按钮即可完成接口定义创建;点击【编辑详情】按钮进入接口定义详情页面,可填写基础信息、请求参数、响应内容等信息进行接口定义创建。
说明
接口编辑页面由四个功能Tab页组成:
1.【API】:接口定义详情页面
2.【TEST】:接口的调试信息页面
3.【CASE】:接口用例管理页面
4.【Mock】:接口Mock服务管理页面
3.3 编辑接口详情
3.3.1 API
在API页面中可以对接口的基础信息、请求及响应定义、依赖关系进行详细编辑。
对已有的接口,更改接口地址、请求头、请求参数等内容,点击保存时,会弹出同步更新设置确认框。
关注接口定义
点击页面右上角的五角星图标,可关注/取消关注该接口定义。
接口变更日志
点击页面右上角的【变更记录】可查看此接口所有的变更历史详情。
可查看具体的变更字段、变更前、变更后的信息。
版本管理 (X-Pack)
点击页面右上角的【版本: v1.1.0】可查看所有的版本号,选择当前版本号,创建接口。
HTTP请求
请求头
MeterSphere提供默认请求头变量。
同时支持批量添加请求头参数。
点击铅笔图标按钮还可添加 Mock 数据和 JMeter 方法内置函数。
选择Mock数据,点击【添加函数】按钮,可添加函数。
选择JMeter方法,可查看相关函数。
说明
内置函数的详细说明请参考 内置函数
QUERY参数
QUERY参数是在接口地址栏中跟在?后面的参数,如 updateapi?id=11。
点击参数上面的【高级设置】,可设置参数的其它属性。
REST参数
REST参数是在接口地址栏中被【/】分隔的参数,如updateapi/{id}。
请求体
请求体参数支持多种形式:form-data,x-www-form-urlencoded,json,xml,raw,binary。
请求体是 form-data 和 x-www-form-urlencoded 格式时,可以选择参数类型。
不同的参数类型,系统会提供默认属性。
请求体是 json 格式时,系统默认提供两种形式维护 json 格式。
认证配置
可支持 Basic Auth 的认证方式和对数据加密。
其他设置
可设置证书、跟随重定向、连接超时、响应超时时间等。
TCP请求
请求参数
请求参数可以在请求模板通过 ${xxx} 引用。
请求体
请求体参数支持 json、xml、raw 三种数据格式。
其中在 xml 参数中点击【添加】按钮,支持以表格形式添加参数。
xml 可添加 object、string、array 三种数据类型的参数。
点击【保存】按钮保存添加的 xml 参数。
其他设置
在其他设置中可设置 TCP 客户端、连接时间、响应时间等参数。
TCPClient 默认提供三种连接方式。
SQL请求
一个项目支持配置多个数据源,根据接口实际使用场景选择具体数据源。
存储结果是将返回结果的所有字段存储到一个变量中。
按列存储直接指定返回字段的结果值,列数要和 SQL 语句中查询字段返回结果的列数相同。
同时可以用逗号作为占位符代替列名,只写出要提取的列名即可,引用时 ${列名变量_n}
DUBBO请求
Interface
点击【Get Providers List】按钮,可从【Registry Center】中获取服务列表。
可在字段 Interfaces 下拉列表中选择需要测试的接口及方法,根据该方法的定义,传入所需的参数。
Config Center
可在【Config Center】中填写配置超时时间、用户名、密码等相关基础信息。
Registry Center
可在【Registry Center】页面中选择协议、填写连接信息等。
Consumer & Service
可在【Consumer & Service】填写 Consumer 和 Service 信息。
Args
可在【Args】中添加请求相关参数。
Attachment Args
可在【Attachment Args】中设置其他键值对参数。
依赖关系设置
接口定义支持设置接口的前后置依赖关系。点击【添加】按钮,可以添加前后置接口。
依赖关系图 (X-Pack)
点击【依赖关系图】,可以看到该接口与前后置接口之间的关系
3.3.2 TEST
在【TEST】页面中可以调试接口,同时可以添加前后置脚本、前后置SQL、断言、提取参数等子步骤。
自动生成测试数据 (X-Pack)
在【JSON-SCHEMA】的【高级设置】里,可对枚举值进行设置
设置枚举值后,点击【生成测试数据】,则生成的数据是其中一个枚举值。
若在【高级设置】,同时设置了默认值和枚举值,则生成测试数据是默认值
针对单个接口发起测试
选择运行环境,点击【测试】按钮即可调试接口。
说明
前后置脚本、前后置SQL、断言及参数提取等子步骤的详情说明请参考 用例步骤说明
执行结果
在响应内容中展示响应体、响应头、请求内容、控制台、断言和提取参数等信息。
其他管理功能
点击【测试】按钮旁边的向下箭头【V】,还提供了加载用例、更新接口等多种快捷功能。
点击【加载用例】加载该接口下的所有用例。
点击【另存为新用例】可使用该接口页面填写的参数信息及添加的子步骤,创建一个新的接口用例。
输入用例名称,点击【保存】按钮,即可保存为一个新的接口用例。
点击【更新接口】可将当前页面填写的参数信息更新到对应的接口定义中。
点击【另存为新的接口】即可使用当前页面接口信息来创建新的接口定义。
3.3.3 CASE
在CASE页面中展示当前接口定义下的所有接口用例列表。
列表功能
支持对接口用例的编辑、执行、复制、删除操作。
鼠标悬浮【…】可展示更多隐藏功能:查看引用、执行历史、创建性能测试。
功能说明
1.【编辑】:编辑该接口用例
2.【执行】:调试该接口
3.【复制】:复制该接口用例信息
4.【删除】:删除该接口用例到回收站
5.【查看引用】:查看该接口用例被场景引用和测试计划引用情况
6.【执行历史】:可查看该接口用例执行历史列表及执行结果详情
7.【创建性能测试】:可使用当前接口用例快速创建性能测试
批量操作
选择多条接口用例,点击【…】,可对多个接口用例进行批量操作。
批量处理功能说明
1.【批量删除】:批量删除接口用例到回收站
2.【批量编辑】:批量编辑接口用例属性
3.【批量执行】:批量调试接口用例,运行模式可选择串行或并行,生成报告可选生成独立报告、集合报告。
4.【批量同步】:批量同步接口用例,可对同步用例进行基本信息、请求参数、其他设置相关内容进行配置
批量执行接口用例生成报告
批量执行接口用例可以选择生成【独立报告】或【集合报告】。集合报告可以将多个接口用例整合到一个报告中,以方便用户使用,报告展示方式与场景自动化集合报告一致。
新建接口用例
点击【+添加】按钮,可使用当前接口定义填写的参数信息创建新的接口用例。
搜索
支持通过接口用例的【ID、名称、标签】进行模糊搜索。
3.3.4 MOCK
在 MOCK 页面中展示当前接口定义下的 MOCK 服务。
HTTP Mock设置
HTTP Mock地址
在接口编辑页面可展示此接口的 Mock 信息,Mock 默认地址是 MeterSphere 系统地址+模块 ID + 接口地址,一个接口定义可以设置多个 Mock 服务。
Mock服务设置
MeterSphere 提供的Mock功能可以根据用户输入的请求参数、返回数据生成Mock接口,这些接口会自动生成模拟数据,以覆盖用户的一些测试需求。而 Mock 期望则是根据设置的请求触发条件来进行过滤,然后返回期望的数据。
点击【+添加】按钮添加 Mock 服务。
设置 Mock 服务触发条件
Mock 服务触发条件设置规则匹配及逻辑判断
请求参数新增了规则匹配,可以根据参数设定的值、长度、正则表达式 Mock 出相应的请求参数,同时参数与参数之间新增了逻辑判断(AND/OR),以提升触发条件的灵活性。
针对一些特定测试场景需要对返回信息进一步处理的情况,比如加解密操作、调用第三方 JAR 包等,MeterSphere 在 Mock 服务中提供了对后置脚本的支持,用户可以通过编写脚本或添加系统已有的自定义代码片段来实现对返回信息的处理。
设置 Mock 服务响应内容。
请求参数与设置的触发条件匹配,则返回设置的响应内容。
列表功能
支持对 Mock 服务的开启/关闭、编辑、复制、删除操作。
TCP Mock设置
开启TCP Mock服务
Mock 服务显示未开启,需在【项目设置-应用管理-接口测试】中开启 TCP Mock 服务。
TCP Mock设置
其功能请参考 HTTP Mock设置
3.4 定时同步
点击【更多操作-定时同步】可设置 Swagger 在线接口文档定时同步。
设置同步的路径、定时规则等必要定时任务信息,点击【添加】按钮完成接口定时同步设置。
接口定时同步任务支持任务通知。
定时同步页面支持定时同步任务查看、开启/关闭及删除等操作。
3.5 导入接口定义
MeterSphere 支持多种类型接口文档的导入,包括:MeterSphere、Postman、Swagger、HAR、JMX,点击【更多操作-导入】进入接口定义导入页面。
Metersphere 支持 Swagger json 文件的离线导入,同时也支持使用 Swagger URL 进行在线同步。
导入规则请看导入页面下方的提示。注意: 若导入的接口为新建接口且没有用例,则默认为接口创建一个用例
3.6 导出接口定义
MeterSphere 支持 MeterSphere 和 Swagger3.0 格式的接口 API 导出,选择要导出的接口,点击【更多操作-导出】系统自动完成接口导出。
3.7 列表功能
支持对接口定义的编辑、执行、用例、删除、复制操作。
功能说明
1.【编辑】:进入【编辑接口详情-API】页面
2.【执行】:进入【编辑接口详情-TEST】页面
3.【用例】:进入【编辑接口详情-CASE】页面
4.【删除】:删除该接口到【回收站】
5.【复制】:复制该接口定义信息
3.8 批量操作
选择多条接口定义,点击【…】,可对多个接口进行批量操作。
批量处理功能说明
1.【批量删除】:批量删除接口到回收站
2.【批量编辑】:批量编辑接口属性
3.【批量移动】:批量将接口移动到其他模块
4.【批量复制】:批量将接口复制到其他模块
5.【复制版本数据】:将指定版本的 CASE 和 Mock 数据复制到当前版本中 6.【生成依赖关系】(X-Pack):批量接口之间的联系生成依赖关系拓扑图
3.9 搜索
支持通过接口定义的【ID、名称、标签、路径】进行模糊搜索。
同时也支持多种条件组合搜索。
3.10 回收站
回收站展示已删除的接口定义列表。
功能说明
1.【恢复】:恢复接口到之前的模块
2.【删除】:彻底删除接口
支持批量删除、批量恢复功能。
批量处理功能说明
1.【批量删除】:批量删除接口
2.【批量恢复】:批量恢复接口到之前的模块
4 接口用例管理
4.1 列表功能
支持编辑、执行、复制、删除操作。
鼠标悬浮【…】可展示更多隐藏功能:查看引用、执行历史、创建性能测试。
功能说明
1.【编辑】:编辑该接口用例
2.【执行】:调试该接口
3.【复制】:复制该接口用例信息
4.【删除】:删除该接口用例到回收站
5.【查看引用】:查看该接口用例被场景引用和测试计划引用情况
6.【执行历史】:可查看该接口用例执行历史列表及执行结果详情
7.【创建性能测试】:可使用当前接口用例快速创建性能测试
4.2 批量操作
选择多条接口用例,点击【…】,可对多个接口用例进行批量操作。
批量处理功能说明
1.【批量删除】:批量删除接口用例到回收站
2.【批量编辑】:批量编辑接口用例属性
3.【批量执行】:批量调试接口用例,运行模式可选择串行或并行
4.【批量同步】:批量同步接口用例,可设置同步基本信息、请求参数等信息
4.3 搜索
支持通过接口用例的【ID、名称、标签】进行模糊搜索。
4.4 回收站
回收站展示已删除的接口用例列表。
功能说明
1.【恢复】:恢复接口用例到之前的模块
2.【删除】:彻底删除接口用例
支持批量删除、批量恢复功能。
批量处理功能说明
1.【批量删除】:批量删除接口用例
2.【批量恢复】:批量恢复接口用例到之前的模块
5 文档管理
支持以文档形式展示接口定义详细信息,页面右侧展示所有的接口名称列表,点击接口名称定位到该接口详情所在位置。
支持接口文档分享功能,点击分享图标按钮,系统会生成接口的 URL 地址,点击【复制】按钮即可将接口的 URL 地址分享给他人。
6 版本管理 (X-Pack)
接口列表中,选择当前版本号,可查看当前版本的所有接口用例