场景管理
1 场景创建
点击【序号1】或者【序号2】创建场景。
1.1 步骤
点击【添加步骤】添加接口或测试组件。详情参考:场景步骤
说明
- 【导入系统请求】可以复制/引用已创建的接口、用例、场景。
- 【自定义请求】可选择引用环境或不引用环境创建自定义请求。
- 【循环控制器】包括次数循环、while 循环、forEach 循环,需要将请求拖拽进循环控制器里才能循环。
- 【条件控制器】请求需要拖拽进条件控制器里,只有满足特定条件才能运行该请求。
- 【仅一次控制器】请求需要拖拽进仅一次控制器里,确保所包含的测试步骤仅执行一次。
- 【脚本操作】与前后置脚本使用方式类似,可以独立添加,不再需要依赖于请求作为其子步骤。
- 【等待时间】不是对整个场景所有步骤都生效,只对添加等待时间后的某个请求生效。
1.2 参数
【参数】可设置场景中请求使用的常量、列表参数、CSV参数进行传参。
【CSV参数】可本地上传或关联文件,作用域可设置为场景或步骤,文件编码、分隔符也可进行配置。
注意
尽量避免使用同名变量,使用同名变量时,按如下优先级取值。
参数优先级:临时参数 > 场景参数 > 环境参数。避免使用同名变量,同名变量时场景级 CSV 优先级最高。
临时参数: vars.put() 方式存储参数 和 后置操作提取的参数,一般采用就近原则使用参数。
1.3 前/后置
场景前后置可以进行脚本操作和设置等待时间。详情参考:前后置操作
注意
场景前置操作中的等待时间为场景中每一个步骤前添加等待时间。
1.4 断言
场景有多种断言方式,如状态码、响应头、响应体、响应时间、脚本等。详情参考:断言
1.5 设置
【设置】处可进行 Cookie 配置、等待时间配置、步骤执行规则配置。
配置说明
- 【Cookie 配置】同时存在共享 cookie、环境 Cookie 与场景变量 Cookie 时,共享 Cookie 会覆盖环境 Cookie 与场景变量 Cookie。
- 环境 Cookie:默认使用环境 Cookie,启用环境 Cookie,场景步骤的请求头也设置 Cookie ,会使用两个 Cookie 的值。
- 共享 Cookie:从某个步骤提取返回的 Cookie 信息,则后续步骤都会使用此 Cookie ,如果请求里添加了 Cookie 变量也会被覆盖。
- 【步骤执行失败规则】有”忽略错误,继续运行”、”停止/结束运行”两种规则。
场景创建完成,点击【保存】后,页面会多【执行历史】和【变更历史】标签页面。
说明
- 执行历史:默认保留全部执行历史记录,手动删除报告,不影响查看详情;系统清理报告后,则不能查看详情,显示“执行结果被清理”。
- 变更历史:变更历史默认保存最近的变更记录,场景每变更一次,产生一个变更记录,生成一个变更序号。
2 场景步骤
2.1 导入系统请求
【导入系统请求】可对接口、用例、场景进行复制和引用。
说明
- 复制:修改复制步骤,源数据不发生变化,若源数据被删除,复制的步骤 ID 置灰,无法跳转。
- 引用:参数值可编辑,除参数值以外都跟随源数据变化而变化,引用的源数据被删除时,ID和步骤名置灰,操作仅支持“移除”。
导入引用场景后,可配置场景引用模式、参数取值规则等内容。
字段说明
- 引用模式:引用步骤不可修改,跟随原数据变化而变化,引用的原数据被删除时,ID和步骤名置灰,操作仅支持“移除”。
- 完全引用:跟随原步骤内容及步骤状态变化,步骤状态不可调整。
- 步骤引用:仅跟随源步骤内容变化,步骤状态可调整。
- 使用原场景参数:
- 优先原场景参数:开启后优先使用原场景参数,没有则取当前场景参数。
- 优先当前场景参数:开启后优先使用当前场景参数,没有则取原场景参数。
- 使用原场景环境:开启后使用原场景运行环境,包含环境参数。
2.2 自定义请求
【自定义请求】的创建使用与快捷调试请求类似。详情参考:快捷调试请求
说明
- 引用环境:请求地址自动填充 http 或 https 环境,只需输入接口地址。
- 不引用环境:请求地址需要输入包含 http 或 https 的完整的 URL。
支持导入 cURL 请求。
2.3 循环控制器
【循环控制器】包括次数循环、while 循环、forEach 循环。详情参考:循环控制器使用教程
【次数循环】,将请求拖拽到控制器里,设置循环次数、间隔时间等。
【while 循环】,将请求拖拽到控制器里,设置表达式类型、循环条件、超时时间。
说明
- 表达式类型:可分为条件和表达式两种类型。
- 条件: 匹配条件可以下拉选择。
- 表达式:数值表达式,如 1 == 1,1 != 2,2 > 1 ; 字符串表达式,如 “abc”.equals(“abc”),”abc”.contains(“a”)。
- 超时时间:由于 while 循环的特殊性,当条件满足时将会一直循环,为了避免死循环的情况出现,用户可以配置循环超时时间,到超过该时间后,不管循环条件是否满足,循环都将被终止。
【forEach 循环】,将请求拖拽到控制器里,设置 forEach 遍历变量、时间间隔。以列表变量为例进行 forEach 循环
注意
存储形式:forEach 循环一般配合列表变量或提取列表变量或自定义列表变量进行使用,存储形式为 ID_1,ID_2,ID_3 的一组变量,才能进入 forEach 循环。
遍历形式:遍历列表变量时,不需要使用 ${ID} ,而是直接填写 ID。
2.4 条件控制器
【条件控制器】设置条件后,只有满足设定的条件才会进入控制器里,执行里面的请求。
2.5 仅一次控制器
请求需要拖拽进【仅一次控制器】里,确保所包含的测试步骤仅执行一次。
注意
仅一次控制器常用于”性能测试”中的登录/登出场景。
2.6 脚本操作
【脚本操作】不再需要依赖于请求作为其子步骤,可以独立为场景步骤运行,使用方式与前后置脚本使用方式类似。详情参考:前后置操作
可以编写脚本,并对脚本进行断言。
【脚本断言】支持对响应码、响应头、响应体、响应时间、变量、脚本等多种形式进行断言。详情参考:断言操作
2.7 等待时间
【等待时间】只对添加等待时间后的某个请求生效,不是对整个场景所有步骤都生效,默认 1000 ms。
3 场景执行
3.1 服务端执行
点击【服务端执行】即可在资源池上执行场景,默认服务端为默认资源池。
注意
社区版只有一个默认资源池,无法新增和切换资源池。企业版可新增和切换资源池。详情参考:资源池
3.2 本地执行
点击【本地执行】即可在本地服务执行场景。
注意
本地执行需在本地安装 task_runner 服务。详情参考:task_runner 部署
需要在【个人信息】处配置本地 task_runner 的地址。详情参考:配置本地执行地址
4 场景控制
单步骤可以进行【启用/禁用】、【执行】、【复制】、【删除】、【添加子步骤】、【在之前插入步骤】、【在之后插入步骤】操作。
操作说明
- 【启用/禁用】 启用,场景执行该步骤;禁用后,场景执行不再执行该步骤。
- 【执行】 服务端执行该步骤。
- 【复制】 复制该步骤。
- 【删除】 删除该步骤。
- 【添加子步骤】 循环控制器、条件控制器、仅一次控制器可以添加子步骤。
- 【在之前插入步骤】 在该步骤之前插入其他步骤。
- 【在之后插入步骤】 在该步骤之后插入其他步骤。
勾选多个步骤可以进行【展开全部子步骤】、【批量启用】、【批量禁用】、【批量调试】、【批量删除】操作。
可以进行【关注】、【复制链接】、【查看报告】等操作。
操作说明
- 【关注】 点击后,可加入到”我的关注”列表。
- 【复制链接】 复制链接后,粘贴到浏览器上,可打开该场景。
- 【查看报告】 可查看本次场景的执行情况。
可对列表场景进行【编辑】、【执行】、【复制】、【创建定时任务】、【删除】等操作。