jmeter参数化

说明

本文内容,根据【高楼老师】的极客时间《性能测试实战30讲》而写,里面很多内容复用。

文中介绍到的关联和断言,仅仅是说明了其作用,并没有详细说明其用法,重点在于参数化的设置。

关联

首先关联,什么场景下需要做关联呢?下面几种情况也是需要的:

1、数据是由服务器端生成的; 2、数据在每一次请求时都是动态变化的; 3、数据在后续的请求中需要再发送出去。

其实,个人感觉关联和参数化是一起的,就是说 有了关联一般都有参数化,不然怎么取数据呢。

关联的作用就是“取服务端返回的值”,然后将这个值给到其他有需要的接口,或可以复用时就保存下来。

断言

断言,开始没觉得断言有必要,后来发现确实需要断言,但是当返回的结果很多时,怎么做断言呢?也不知道,就是随便呗,随便选一个容易断言的值。

现在才发现,“断言是根据需要来设计的,而设计断言的前提就是完全理解这个逻辑”。就是你要知道,这个断言是能反馈这个请求的正确与否的。

复制一下高老师的图:

比如,下图中,只有数据库返回了“true”这个字段,才表示成功插入到数据库,这时,我们只需要断言返回结果里面是否包含“true”字段值就好,不需要再进行其他方面的断言。


image

参数化

以下主要说明,jmeter工具的参数化设置,主要是说明以下3个条件的综合作用:

  • jmeter的参数化设置:
image.png

  • 线程组设置:
image.png
  • 在前两个参数固定的情况下,修改线程共享模式:

当前线程组

即文件时属于线程组的,所有线程共用此参数化文件

image.png

所有线程

在当前设置下,所有线程与当前线程组效果差不多

image.png

为了更好的看到效果,我调整了一下参数化文件的位置,再进行一次对比:

----所有线程:可以看到,2个参数分别左右到2个线程组,即每个线程组均有一个正确响应。

image.png

---- 当前线程组:每个线程组可以正确执行2个请求

image.png

当前线程

即文件是所属与每个线程的。每个线程使用一次参数化文件,

在当前测试中:2个参数值,3个线程,循环3次,每个线程均会使用一次参数化文件,在线程循环到第3次时,就会报错(在当前的设置下)。

image.png
image.png

编辑

属于自己编辑参数的范围,暂时没有用到。

总结

关于如何设计参数化数据:

 *分析业务场景;
 *罗列出需要参数化的数据及相对应的关系;
 *将参数化数据从数据库中取出或设计对应的生成规则;
 *合理地将参数化数据保存在不同的文件中; 
 *在压力工具中设置相应的参数组合关系,以便实现模拟真实场景。

通过以上步骤,我们就可以合理的参数化数据,模拟出真实场景。

你可能感兴趣的:(jmeter参数化)