JMeter中级篇-4-JMeter用例设计的组成部分举例

前面我们介绍了三种录制JMeter脚本的方法,那么接下来,我们就要考虑如何在JMeter上写测试用例的问题。一个测试用例,当然是包括录制的脚本,其实还是有其他几个部分组成。学习了这篇,你会很清楚了解如何在JMeter上设计一个比较规范和完整的测试用例。

1.线程组(Thread Group)

   线程组就是多个线程的集合。每一个线程表示这个被测试服务器的一个用户在使用这个服务,简单来说,每一个线程就好比一个真实的用户在给服务器发送请求。

在这里插入图片描述

   我们在实际设计测试用例的时候,线程组就是一个真实的测试用例,一般直接把线程组名称改成测试用例的名称,一个线程组就是一个测试用例。

2.Samplers

   就是一些用来给服务器发送请求就叫Samplers.例如接口测试中经常用到的HTTP请求,当然JMeter还支持FTP,JDBC和其他协议的请求。

在这里插入图片描述

在你电脑端,你跟着创建一个HTTP请求,下面步骤需要用到。

3.逻辑控制器(logic controller)

  我们可以借助逻辑控制器来控制执行测试计划的流程,也就是说,在一个测试计划里,我们可以设置这个计划里面包含不同元素(组成部分)的执行顺序。前面我们文章用到过逻辑控制器里面的录制控制器。

在这里插入图片描述

   这里我们来举例一个循环控制器的简单使用。点击当前测试用例名称或者叫线程组,右键点击逻辑控制器,选择一个循环控制器。然后把HTTP请求拖拽到新建的这循环控制器下,并且点击循环控制器,输入循环次数是5.

在这里插入图片描述

4.配置元件(config elements)

   配置元件和samplers不同,它并不发送请求给服务器。它的作用是用来配置或者设置那些给服务器发送请求的samplers。下面来举例一个用户自定义变量的使用场景。

在这里插入图片描述

选择添加一个用户自定义变量
在这里插入图片描述

点击HTTP请求,使用上面创建的变量
在这里插入图片描述

这里需要记住,在JMeter中使用${变量名称}来使用变量。

5.定时器(Timers)

   定时器主要用来在执行过程中,插入时间等待。

在这里插入图片描述

举例,添加一个固定定时器,这里我们选择在前面创建的循环控制器下添加一个固定定时器。
在这里插入图片描述

需要注意的是,单位是毫秒,上面1000毫秒表示延迟等待1秒。

6.前置处理器(Pre-Processors)

   前置处理器就是做一些前提动作,例如在执行samplers之前,使用JDBC连接数据库。

在这里插入图片描述

这个前提条件设置,暂时不好举例,先不管。

7.断言(Assertions)

  写过测试用例的都知道什么是断言,断言就是做出验证或者判断。一般来说在JMeter里面断言都是针对响应内容和状态等信息进行验证。

在这里插入图片描述

这里举例一个响应断言,还是在循环控制器下添加响应断言。

在这里插入图片描述

上面我们待会对访问百度首页进行响应状态码是不是200进行断言。

8.监听(Listeners)

   这里叫监听感觉有点不太合适,其实JMeter里面的监听就是显示结果的行为,简单来说就是结果报告输出这么一个功能。

在这里插入图片描述

我们常用的有察看结果树监听,这里在循环控制器下也添加一个。

在这里插入图片描述

   现在一个完整的测试用例就写好了,我们接下来的步骤就是要去运行和测试。点击这个线程组或者叫测试用例名称,点击绿色的倒三角的运行按钮,然后点击察看结果数和断言。

在这里插入图片描述

   其实在察看结果树页面就可以看到响应状态码是200,如果你在响应断言把200改成201,然后再次运行,在察看结果树这个HTTP请求肯定显示红色报错。你再仔细看sampler start的时间是,每个之间相差一秒,这个一秒就是我们是设置的固定定时器作用的结果。

总结:

   从上面的介绍可以看出,在JMeter中设计一个比较完善的测试用例,需要8个步骤组成,分别是:线程组(用例名称),samplers, 逻辑控制器,配置元件,定时器,前置处理器,监听和断言。

猜你喜欢

转载自blog.csdn.net/weixin_43639443/article/details/89846338
今日推荐