一个关于jmeter使用的简单实例

最近有小朋友经常问关联怎么做,正好遇到一个好的小实例,写下。

收益:

从一个小的测试实例中可以快速简单的了解到jmeter的一些使用技能,比如关联,正则表达式的使用,if控制器,jmeter作用域。

背景:

收到一个很简单的性能测试的需求:

压测下面页面: http://[ip地址]/test5?data=[加密数据][&sign][加密数据]

备注:【数据就不贴出来啦】

要求 60qps,页面5s内加载完 且观察涉及的几个服务的应用服务器的CPU、内存、IIS情况

脚本过程:

恩,需求和指标都很明确。于是我们手动点开看了下待测的页面:

发现有个跳转在中间一闪而过,用fiddler工具抓包看了下,其实是包含一个登录的操作。进一步找技术人员沟通得知,这是一个联合登录。

抓包

开始用badboy工具来录制请求。 我们发现和抓包一样的发现很多个请求,远远不止开始开发提测的一个get请求而已。

![抓包1]

抓包1

录制好请求后,把脚本保存为JMX格式,用jmeter打开。我们加了一个“查看结果树”调试器,点“开始”放了一遍。查看了下返回,发现都是其他的JS页面或者报错。

默默得打开了fiddler工具抓了个包。发现第一次请求的时候,服务返回的报文里面含一段 authcode=
6F84F9C8976DA39F923A7B87D94AB25E

特别留意了下,于是第二次手动请求再抓包,发现这个authcode每次请求都会不一样。

接着往下找,发现这个authcode 在后面的登录请求里面是需要使用到的。

关联

于是我们此处需要一个关联:

我们在第一个请求前面, 后置处理器-->正则表达式提取器抓取了authcode码后,我们在登录的请求里面,用到的authcode码做成参数化,参数名 code,来抓取这个服务器返回的authcode。

正则1

参数化1

关联知识Tips:

方法一:从前一个请求中取,用正则表达式提取器。

具体方法,在需要获得数据的请求上右击添加一个后置处理器-->正则表达式提取器引用名 称即下一个请求要引用的参数名称,如上图的填写code,则可用{code}引用它. 正则表达式中()括起来的部分就是要提取的。其中.代表任意字符,*代表出现任意次。 模板,用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的内 容),则可以是2,3$等

来自简书果果果果我是果酱呐

联系作者longtestyan

一个关于jmeter使用的简单实例


分享到:


相關文章: