服务器压力测试之JMeter篇(二)

前言

在上一篇《服务器压力测试之JMeter篇(一)》中我简单的介绍了一下JMeter的下载安装以及基本使用,在这一节中我将给大家说一说JMeter如何通过读取参数化进行web调试。

说之前先放出JMeter的官方文档:http://jmeter.apache.org/usermanual/index.html,每次看官方文档都是件劳民伤身的活,但是就是如此还必须耐下性子来去阅读,不仅仅涉及到英语水平的提高,更能帮助你更深的了解一门技术。要想更加深刻的学习JMeter的使用还请移步官方文档,我这里就不细说了,因为我也还没看懂文档。

JMeter参数化

首先还是先说说什么是参数化。这里我举个栗子,当我们在进行用户登录测试时会涉及的许多不同手机号和密码的输入,在没有参数化的前提时,我们就需要为每一个登录都创建一个http请求,然后再在每一个http请求你中输入手机号以及密码,这一听就知道是件麻烦事,所以,JMeter参数化闪亮登场。

当我们使用参数化时,直接在一个dat数据文件中输入需要登录的手机号以及密码,然后创建一个http请求,通过这个请求可以实现循环读取数据文件,避免了为每一次登录都创建一个http请求。

JMeter参数化读取有四种种方式,可以利用函数助手获得参数,也可以利用CSV数据文件设置(csv data set config)读取参数,这里我只介绍csv data set config方式,因为这种方式较其他方式而言比较常用,感兴趣的可以去问问度娘其他方式的使用。

创建xx.dat文件

不同参数之间我使用英文逗号隔开,需要敲黑板的地方是,CSV Data Set Config对于参数化的要求比较严格,所以在设置编码格式方面一定要选择utf8。

添加线程组

创建完数据文件后就可以添加线程组和结果树了,具体添加方法请点击这里,这里需要对http请求参数进行如下修改:

添加CSV数据文件设置

添加方式:在添加的http请求上右键后选择配置元件中的CSV数据文件设置。

- 遇到文件结束符再次循环:是否循环读取参数文件内容。因为CSV Data Set Config一次读入一行数据,分割后存入若干变量中交给一个线程,如果线程数超过文本的记录行数,那么可以选择从头再次读入;
- 当遇到文件结束符再次循环为false,遇到文件结束符停止线程为true时,如果此时有4个线程请求,3个数据参数,那么会执行3个http请求
- 当遇到文件结束符再次循环为false,遇到文件结束符停止线程为false时,如果此时有4个线程请求,3个数据参数,那么仍会执行4个http请求,但由于不会循环读取数据文件,因此第四个线程会发生请求错误

运行

这里我一共添加了4个线程并发执行登录,每个线程循环一次,可以看到一共发起了5个http请求,其中199开头的用户因为数据文件读取结束而循环读取了一次。

最后

通过参数化我们可以很方便进行http请求,并且有利于以后的调试。但是不要去随意去测试别人网站能承受的压力,有时这带来的后果是我们无法预知的。

更多文章请关注我的个人博客:www.zhyocean.cn

猜你喜欢

转载自blog.csdn.net/swpu_ocean/article/details/81987772
今日推荐