草帽路飞UU 发表于 2022-9-15 16:59:51

Jmeter模块化你知道多少?

本帖最后由 草帽路飞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,模块控制器是数据驱动,根据数据驱动的不同,执行不同的操作。
在工作中,我们也可以通过测试片段,把一个任务分解给多个人做,只需定义好共用变量,便能够实现多人合作。
https://img2022.cnblogs.com/blog/2472829/202209/2472829-20220902171829876-234705094.png




页: [1]
查看完整版本: Jmeter模块化你知道多少?