接口自动化
场景是接口自动化功能中的基本管理单元,由一组用例和接口组装而成。例如用户管理场景,包含用户注册、用户登陆、用户修改、用户注销、用户销户等用例或者接口。
MeterSphere 支持拖拽的方式对场景进行编排和设计,可添加的步骤包括各种协议的请求、断言、自定义脚本、逻辑控制器等。同时场景支持定时、API调用、Jenkins调用等方式触发自动化执行。
模块树管理
每个场景都需要属于一个特定的模块,在创建场景前需要先规划并创建模块树。
说明
接口自动化与接口定义中的模块树相互独立,接口定义中创建的模块不会出现在接口自动化的模块树中。
具体的模块管理操作与接口定义中的模块树类似,请参考接口定义中的 模块树管理
场景管理
场景快捷功能
场景列表的快捷按钮有 执行
、 编辑
、 复制
、 删除
。
快速创建场景
选择一个模块后,点击 更多操作-> 创建场景
按钮,可仅填写接口基本信息,在该模块下快速创建接口。
编辑场景详情
在场景列表中点击指定场景操作列中的 编辑
按钮,进入场景详情编辑页面。在该页面中可对场景的基础信息,场景的具体步骤等进行进一步编辑。
编辑完成后点击右上角的保存按钮进行保存。
场景变量配置
在添加场景步骤前可以添加整个场景公用的变量参数,支持多种不同类型,在场景中的步骤均可引用这些参数。
参数说明
常量
变量名
: 该变量的变量名,可以在场景步骤中通过 ${varName} 的形式引用该变量。描述
:针对该变量的详细说明。值
:该变量的值,可以使用 JMeter 中的内置函数。- 举例说明:定义变量名为
varName
,变量值为varValue
的变量,在后续步骤中通过${varName}
引用得到varValue
。
列表
变量名
: 该变量的变量名,可以在场景步骤中通过 ${varName} 的形式引用该变量。描述
:针对该变量的详细说明。值
:以逗号,
分隔的值列表,可以在步骤中通过 ${varName_n} 的形式引用指定位置的值,其中 n 代表要引用的值的位置,从 1 开始。- 举例说明:定义变量名为
listVar
,变量值为value1,value2,value3
的变量,在后续步骤中通过${listVar_1}
引用得到value1
,通过${listVar_2}
引用得到value2
。
CSV
变量名
: CSV 文件的名称,仅起到标记作用,无法在场景步骤中通过 ${varName} 的形式引用该变量。描述
:针对该变量的详细说明。添加文件
:CSV 文件选择,从本地上传 CSV 文件。Encoding
:CSV 文件的编码格式。分隔符
:CSV 文件中的数据分隔符,默认为,
。举例说明:上传 CSV 中的内容如下所示,第一列为变量名列,可以在场景的后续步骤中通过
${name}
,${age}
分别引用第一列和第二列的值。当在循环控制器外引用变量时,变量值为第一个数据值,${name}=Andy
,${age}=20
;当在循环控制器内引用变量时,每迭代一次都会取下一行的数据值。name,age
Andy,20
Tom,22
-
计数器
-变量名
: 该变量的变量名,可以在场景步骤中通过 ${varName} 的形式引用该变量。 -描述
:针对该变量的详细说明。 -开始
:计数器变量的起始值,即最小值。 -结束
:计数器变量的结束值,即最大值。 -增量
:计数器变量每次增加的增量值,默认为 1。 - 举例说明:定义变量名为counter1
的计数器变量,开始值为1
,结束值为100
,增量为1
。当在循环控制器外引用变量时,变量值不会递增,一直为当前值;当在循环控制器内引用变量时,每迭代一次变量值都会增加一次。 -随机数
-变量名
: 该变量的变量名,可以在场景步骤中通过 ${varName} 的形式引用该变量。 -描述
:针对该变量的详细说明。 -最小值
:随机范围的最小值。 -最大值
:随机范围的最大值。 -输出格式
:随机数的输出格式,例如设定最小值1
,最大值100
,输出格式为000
,则变量值为013
,074
这样的格式。 - 举例说明:定义变量名为random1
,最小值1
,最大值100
,输出格式为000
的变量。当在循环控制器外引用变量时,多次引用变量值不会重新随机,一直为当前值;当在循环控制器内引用变量时,每迭代一次变量值都会重新随机一次。
场景变量也支持配置请求头参数。
场景步骤编排
添加一级步骤
在场景详情编辑页面,点击页面右下方的 添加
按钮,可在当前场景中添加步骤。
点击步骤条目的空白处,可以展开查看步骤详情。
添加子步骤
在步骤的请求参数详情界面,可选择添加 前置操作
、后置操作
、断言规则
子步骤。 - 前置操作
可添加 前置脚本
、前置SQL
、等待控制器
调整步骤顺序及层级
选中某个步骤后长按鼠标左键可以对步骤进行拖拽,拖拽支持调整步骤顺序及层级,通过拖拽可将其变为一级步骤或某个步骤的子步骤。
针对步骤的其他操作
操作说明
- 编辑名称:对于支持配置名称的步骤,点击该按钮可以修改该步骤的名称。
- 启用/禁用:点击该按钮启用/禁用该步骤。
- 调试:对于支持单独执行的步骤,点击该按钮可以单独执行步骤,执行后点击步骤空白处可以在其详情中查看执行结果。
- 复制:复制该步骤。
- 删除:删除该步骤。
说明
针对不同步骤的详细说明请参考 用例步骤说明。
针对场景的其他操作
操作说明
- 场景变量:自定义场景变量,包括常量、列表变量、csv、计数器、随机数等。
- 共享cookie:场景里的所有步骤共享cookie。
- 失败继续:场景中有步骤失败不影响后面步骤执行。
- 运行环境:场景运行环境配置,可选项目环境或者环境组两种类型。
- 调试:调整场景和生成报告。
- 保存:保存场景。
- 刷新:场景内刷新步骤。
- 调试历史:查看场景的调试历史和报告详情。
- 变更记录:查看场景变更记录。
- 全屏编辑:对步骤全屏展示并编辑。
- 批量操作:场景内部的批量操作,包含 批量启用步骤、批量禁用步骤、批量展开步骤,批量折叠步骤、批量删除步骤。
调试指定场景
场景及场景中的步骤创建完成后,点击调试
可实时查看场景内各个步骤执行状态及响应结果信息,只点击调试
产生的结果仅临时存在,无法保存为测试报告供后续查看。
点击 调试
按钮右侧角标,再点击生成测试报告。弹出执行结果页面,当场景执行完成后可查看到详细的执行报告。
执行指定场景
在场景列表中点击指定场景操作列中的 执行
按钮,弹出执行结果页面,当场景执行完成后可查看到详细的执行结果。
批量执行场景
在场景列表中选中多个场景后点击批量操作按钮中的 批量执行
,所有用例执行完成后可进入 测试报告
页面查看执行结果。
操作说明
- 运行环境:批量执行场景选择的环境,支持项目环境和环境组两种方式。
- 模式:串行表示多场景依次执行;并行表示多场景同时执行。
- 其他配置:独立报告表示每个场景都生成一份报告;集合报告表示所有场景只生成一份报告。
- 资源池运行:支持选择不同节点执行场景。
批量编辑场景
在场景列表中选中多个场景后点击批量操作按钮中的 批量编辑
,支持批量编辑 用例等级
、 当前状态
、 责任人
、 运行环境
四个属性。
批量移动场景
在场景列表中选中多个场景后点击批量操作按钮中的 批量移动
,支持将场景到移动其他模块位置。
批量复制场景
在场景列表中选中多个场景后点击批量操作按钮中的 批量复制
,支持复制多个场景。
批量删除场景
在场景列表中选中多个场景后点击批量操作按钮中的 批量删除
,支持删除多个场景。
批量添加测试计划
在场景列表中选中多个场景后点击批量操作按钮中的 批量添加测试计划
,支持将多个场景添加到测试计划。
勾选要添加的测试计划,点击确定即可添加成功。
批量创建性能测试
在场景列表中选中多个场景后点击批量操作按钮中的 批量创建性能测试
,支持将多个场景导入性能测试。
场景定时任务
场景列表页点击右侧 ...
, 选择定时任务。
配置好时间表达式,下方会展示最近5次运行时间,点击确定
按钮保存成功。
任务通知支持配置事件、接收人、接收方式。
场景导出导入
场景列表支持导出 MeterSphere
和 JMETER
两种格式。
场景列表支持导入 MeterSphere
、 Postman
、 JMeter
、 HAR
四种格式,场景导入支持覆盖
和不覆盖
两种模式。
场景在跨项目、跨工作空间甚至是跨服务迁移数据导入、导出时,能够保留自身步骤的引用关系,保证数据的完整性和一致性。
场景查看引用
支持查看场景在另外场景和测试计划的引用情况。
将场景移入回收站
在场景列表中点击指定场景操作列中的 删除
按钮,该场景将被移入回收站,同时场景变为 废弃
状态。用户可以点击左侧模块树中的 回收站
查看已废弃的场景。
恢复场景
点击左侧模块树中的 回收站
,选择要恢复的场景点击操作列中的 恢复
按钮。
彻底删除场景
点击左侧模块树中的 回收站
,选择要彻底删除的场景点击操作列中的 删除
按钮。
注意
从回收站中删除某个场景时,该场景将从数据库中删除且无法恢复,请谨慎使用该功能。