Jmeter,用户自定义的变量

目录

前言

操作

(一)添加线程组

(二)添加HTTP请求(多个)

(三)添加用户自定义的变量

(四)添加察看结果树

(五)使用变量替换掉Http请求的对应参数值

(六)保存、允许、察看结果树


前言

看过前面的,你对Jmeter的接口测试和压力测试应该有个大概的了解。那么这时候你就会产生更多的疑问。毕竟不是每个需求都这么简单的只是一个接口,或者只是一套参数就这样只考虑并发数量就好了的。最常见的,每个线程(用户)的请求参数都应该是不一样的,怎么实现每次的参数都能取到不一样的用户信息呢?其实这时候就要引入变量的概念了。

今天我们只说最简单的一个:用户自定义的变量。

适用于多个HTTP请求,有相同的传入参数。比如一个用户的一系列操作(http请求),都是同一个用户做的。如果想换一个用户,就要把各个http请求参数的用户信息换掉。这样就比较麻烦,如果我们采用变量,就可以直接改变变量值就好了。

之前的操作就不多做详述,实在不太懂的可以看一下我之前的博客,如《Jmeter入门②——压力测试》,连接:https://blog.csdn.net/liangyoufei/article/details/83796352

操作

(一)添加线程组

(1)选择测试计划,右键【添加-线程(用户)-线程组】

Jmeter,用户自定义的变量_第1张图片

(二)添加HTTP请求(多个)

(1)选择线程组,右键【添加-取样器-HTTP请求】

Jmeter,用户自定义的变量_第2张图片

(2)按以上步骤,新增2个HTTP请求(login、addLookRoom)。

这里特别说明一下,我这里只是随意用了2个http请求(接口)。虽然我用了2个http请求一个是登录,一个是提交申请单,但这里两个http请求并没有强逻辑关系,没有要求一定要登录成功才能提交申请单。不然就会产生疑问,提交申请单(addLookRoom)是怎么检查有没有登录(login)成功的?——这是另一个关于token和cookie的问题,暂且不在这里过多讨论。

我们这里只关注用户自定义的变量怎么使用。

Jmeter,用户自定义的变量_第3张图片

(3)因为我们的HTTP请求都是POST方法,要求传HTTP信息头,所以每个HTTP请求都要【添加-配置元件-HTTP信息头管理器】,并按接口要求添加对应的参数、参数值;

Jmeter,用户自定义的变量_第4张图片

Jmeter,用户自定义的变量_第5张图片

(三)添加用户自定义的变量

(1)选择线程组,右键【添加-配置元件-用户自定义的变量】

Jmeter,用户自定义的变量_第6张图片

(2)添加各个线程组共同的参数/用户信息变量,变量值、注释(注释可填可不填)

这里我们挑了几个用户信息来进行变量化,手机号(phoneNo)、密码(password)、姓名(name)。密码这么长是因为是要传密文的,具体值可以通过抓包工具/录制脚本获得,或者让研发从数据库获取提供。

Jmeter,用户自定义的变量_第7张图片

(四)添加察看结果树

(1)选择线程组,右键【添加-监听器-察看结果树】

Jmeter,用户自定义的变量_第8张图片

(五)使用变量替换掉Http请求的对应参数值

(1)使用定义的变量替换Http请问对应参数值,变量使用格式为:${变量名}

Jmeter,用户自定义的变量_第9张图片

Jmeter,用户自定义的变量_第10张图片

(六)保存、允许、察看结果树

(1)查看结果树-login:

(1.1)从取样器结果看,我们可以知道接口是发送成功了的。

Jmeter,用户自定义的变量_第11张图片

(1.2)可查看Request请求消息体,实际传参也取到了对应的变量值。

Jmeter,用户自定义的变量_第12张图片

(1.3)响应数据的消息体Response body,可以看到实际上这个用户登录失败了。——这个密码大概过期了,Response返回结果暂且不理。

Jmeter,用户自定义的变量_第13张图片

(2)查看结果树-addLookRoom:

(2.1)从取样器结果看,我们可以知道接口是发送成功了的。

Jmeter,用户自定义的变量_第14张图片

(2.2)可查看Request请求消息体,实际传参也取到了对应的变量值。

Jmeter,用户自定义的变量_第15张图片

(2.3)响应数据的消息体Response body,可以看到实际上这个申请单已经创建成功了。

Jmeter,用户自定义的变量_第16张图片

 

 

 

 

你可能感兴趣的:(Jmeter)