前言

了解过编程和自动化开发的程序员们,应该对“封装”的概念有所了解。

封装可以简单地理解为:把代码中的一些常用的操作,放在一个方法中,当需要使用此操作时,直接调用其方法。优点是便于维护和管理。

Jmeter作为java为底层语言的性能测试工具,自然也提供了封装的方法——测试片段。

测试片段常与include控制器和模块控制器一起使用。

这里将在介绍完这三个原件的基础上,再介绍Jmeter的部分模块化方案。

测试片段的创建

首先我们需要了解测试片段是什么,测试片段的作用是什么?

当我们在测试计划下创建一个测试片段时,测试片段默认是被禁用的。这其实就是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,模块控制器是数据驱动,根据数据驱动的不同,执行不同的操作。

在工作中,我们也可以通过测试片段,把一个任务分解给多个人做,只需定义好共用变量,便能够实现多人合作。

————————————————————————————————————————————————————————————————————————————————

本人原创,未经本人允许,不可转载。