场景是接口自动化功能中的基本管理单元,由一组用例和接口组装而成。例如用户管理场景,包含用户注册、用户登陆、用户修改、用户注销、用户销户等用例或者接口。

MeterSphere 支持拖拽的方式对场景进行编排和设计,可添加的步骤包括各种协议的请求、断言、自定义脚本、逻辑控制器等。同时场景支持定时、API调用、Jenkins调用等方式触发自动化执行。

模块树管理

每个场景都需要属于一个特定的模块,在创建场景前需要先规划并创建模块树。

“说明” 接口自动化与接口定义中的模块树相互独立,接口定义中创建的模块不会出现在接口自动化的模块树中。

具体的模块管理操作与接口定义中的模块树类似,请参考接口定义中的 模块树管理

场景管理

快速创建场景

在模块树中选择模块,点击模块树上方搜索框右侧的 创建场景 按钮 可以仅填写接口基本信息,在该模块下快速创建接口。 !快速创建场景

编辑场景详情

在场景列表中点击指定场景操作列中的 编辑 按钮,进入场景详情编辑页面。在该页面中可以对场景的基础信息,场景的具体步骤等进行进一步编辑。

编辑完成后点击右上角的保存按钮进行保存。 !编辑场景详情

场景公共参数配置

在添加场景步骤前可以添加整个场景公用的参数,参数支持多种不同类型,在场景中的步骤均可引用这些参数。 !场景公共参数

“参数说明” - 常量 - 变量名: 该变量的变量名,可以在场景步骤中通过 ${varName} 的形式引用该变量。 - 描述:针对该变量的详细说明。 - :该变量的值,可以使用 JMeter 中的内置函数。 - 举例说明:定义变量名为 varName,变量值为 varValue 的变量,在后续步骤中通过 ${varName} 引用得到 varValue。 - 列表 - 变量名: 该变量的变量名,可以在场景步骤中通过 ${varName} 的形式引用该变量。 - 描述:针对该变量的详细说明。 - :以逗号 , 分隔的值列表,可以在步骤中通过 ${varName_n} 的形式引用指定位置的值,其中 n 代表要引用的值的位置,从 1 开始。 - 举例说明:定义变量名为 listVar,变量值为 value1,value2,value3 的变量,在后续步骤中通过 ${listVar_1} 引用得到 value1,通过 ${listVar_2} 引用得到 value2

场景步骤编排

添加一级步骤

在场景详情编辑页面,点击页面右下方的 添加 按钮,可以在当前场景中添加步骤。点击步骤条目的空白处,可以展开查看步骤详情。 !添加一级步骤

添加子步骤

选中场景中的某一步骤后,右下方可添加的步骤会根据当前选中的步骤进行筛选,点击某个步骤后将其添加为当前选中步骤的子步骤。点击步骤条目左侧的 展开/收起 按钮,可以展开/收起该步骤下的子步骤。 !添加子步骤

调整步骤顺序及层级

选中某个步骤后长按鼠标左键可以对步骤进行拖拽,拖拽支持调整步骤顺序及层级,通过拖拽可将其变为一级步骤或某个步骤的子步骤。 !调整步骤

针对步骤的其他操作

!步骤操作

“操作说明” 1. 编辑名称:对于支持配置名称的步骤,点击该按钮可以修改该步骤的名称。 2. 启用/禁用:点击该按钮启用/禁用该步骤。 3. 调试:对于支持单独执行的步骤,点击该按钮可以单独执行步骤,执行后点击步骤空白处可以在其详情中查看执行结果。 4. 复制:复制该步骤。 5. 删除:删除该步骤。

“说明” 针对不同步骤的详细说明请参考 用例步骤说明

调试指定场景

场景及场景中的步骤创建完成后,在场景详情编辑页面选择场景执行环境并点击 调试 按钮,弹出执行结果页面,当场景执行完成后可查看到详细的执行结果。调试产生的结果仅临时存在,无法保存为测试报告供后续查看。 !调试指定场景

执行指定场景

在场景列表中点击指定场景操作列中的 执行 按钮,弹出执行结果页面,当场景执行完成后可查看到详细的执行结果。同时点击场景列表中指定场景的 最后结果 列,可查看该场景最后一次的执行结果。执行产生的结果可以保存为测试报告供后续查看,当不手动保存为测试报告时,只保留场景最近一次执行的结果。 !执行指定场景

批量执行场景用例

在场景列表中选中多个场景后点击批量操作按钮中的 批量执行,所有用例执行完成后可进入 测试报告 页面查看执行结果。 !批量执行场景

将场景移入回收站

在场景列表中点击指定场景操作列中的 删除 按钮,该场景将被移入回收站,同时场景变为 废弃 状态。用户可以点击左侧模块树中的 回收站 查看已废弃的场景。 !删除场景

恢复场景

点击左侧模块树中的 回收站,选择要恢复的场景点击操作列中的 恢复 按钮。 !恢复场景

彻底删除场景

点击左侧模块树中的 回收站,选择要彻底删除的场景点击操作列中的 删除 按钮。 !彻底删除场景

!!! error “注意” 从回收站中删除某个场景时,该场景将从数据库中删除且无法恢复,请谨慎使用该功能。