本帖最后由 草帽路飞UU 于 2022-9-16 17:02 编辑
测试片段的创建
首先我们需要了解测试片段是什么,测试片段的作用是什么?
当我们在测试计划下创建一个测试片段时,测试片段默认是被禁用的。这其实就是jmeter在告诉我们,测试片段本身是不可以直接运行的。
我们可以把测试片段理解成一个不能直接执行的线程组,他的目的是封装常用的方法,用于别的线程组使用。
接下来举例说明测试片段的创建 我们需要封装一个登录接口。
1、测试计划-新建-测试片段
2、在测试片段中创建一个登录的HTTP请求。我们在这个HTTP请求中创建前置和后置处理器,方便在其他地方调用测试片段时,获取其返回值。
取样器:
后置处理器:
测试片段的基本使用
说到测试片段的使用,就离不开include控制器和模块控制器,我们这里将简单学习一下这两个控制器的使用
一、include控制器--基本使用
include控制器一般也是与测试片段一起使用,用于在一个线程组中,导入一个测试片段。
1、通过include导入测试片段,这里需要启用测试片段
2、运行当前线程组
运行成功
二、模块控制器 -- 基本使用
模块控制器,我们可以把它理解为python中的import,我们通过模块控制器,import不同的测试片段,从而达到不同的效果。
这里我们先介绍一下模块控制器使用测试片段的方法.
模块控制器与include控制器的不同在于,include控制器是直接引入外部文件中的测试片段。模块控制器引入的是当前测试计划中定义的测试片段,可以通过include控制器间接引入外部文件中的测试片段。
如图所示,模块控制器,可以选择一个测试片段(无法多选),选择以后,点击运行按钮,即可运行当前的这个测试片段。
测试片段--实现模块化
上面我们已经大致了解了测试片段的创建及使用。那么怎么才能通过测试片段实现模块化场景呢?
以下通过示例进行讲解。
场景
第一个是登录场景,分为普通用户登录和VIP用户登录。接下来是根据不同的用户,查看不同的页面内容。
1、编写普通用户的登录接口
后置处理器:
2、编写VIP用户的登录接口
后置处理器:
3、编写调用它们的线程组
模块控制器
IF控制器1
取样器1
IF控制器2
取样器2
当模块控制器选择普通用户登录时:
选择VIP用户登录时:
模块化思想
根据上面的例子,可以总结:
include控制器:
我们可以把一些常用的方法,封装成测试片段。我们可以把它当作python的xxxUtil.py。当需要使用时,通过include控制器导入。
模块控制器:
我们可以把测试计划当作为class,模块控制器是数据驱动,根据数据驱动的不同,执行不同的操作。
在工作中,我们也可以通过测试片段,把一个任务分解给多个人做,只需定义好共用变量,便能够实现多人合作。
|