Jmeter使用总结

来源:互联网 发布:如何成为社交高手 知乎 编辑:程序博客网 时间:2024/06/03 12:40
1 测试流程的录制:
首先:Internet选项下的连接的局域网设置  启用代理:localhost  8080 
然后在Jmeter下:
在“测试计划”下新建一个线程组;
在“工作台”下新建一个 “HTTP 代理服务器”;目标控制器里选择”测试计划“->”线程组“;然后点击下面的”启动“。
再就是 去浏览器,把你需要测试流程操作一遍:例如 从打开网页,登录、进入栏目、发帖、之后的退出;完事之后 选择 ”启动“旁边的”停止“。
最后就是去”测试计划“的”线程组“里,把多余的记录删除,之后保存所需测试的流程。

2、测试前的配置:
如果是登录什么的,在”线程组“下添加”HTTP Cookie 管理器“、用户参数、 HTTP信息头管理器、CSV Data Set Config等元件。

查看登录时传递的参数:
Jmeter使用总结 - 无幻 - 一个PHPer
 
在CSV Data Set Config 里面首先导入csv文件(确定该文件的数据已经添加到项目的数据库),在该元件的下面的”variable Names(comma-delimited)“一栏里添加 username、password两个变量名,用逗号隔开。

这样在记录的所有操作步骤里,只要遇到传递这两个变量的,都要把他们对应的值改为:${username}  ${password}.

在用户参数里定义 出现的 sesskey  对应的值为  ${sesskey}:
Jmeter使用总结 - 无幻 - 一个PHPer
 同样,在记录的所有操作步骤里,只要遇到传递名称为sesskey变量的,都要把他们对应的值改为:${sesskey} .

3、
本次实验的例子是发帖:
这样 在发帖环节上,把传递的内容message和标题 subject   都用变量(可以是用户名${username}做帖子内容区分)一下。
并且在该环节上添加”响应断言“里面添加 你网站发帖成功 的提示信息。例如本次试验是”您的帖子已成功发布“。

4、在登录成功后,进入的根目录环节添加”正则表达式提取器“,。
Jmeter使用总结 - 无幻 - 一个PHPer
 
5、一开始录制时,会在每个环节下有一个”HTTP信息头“的元件,这样不方便管理,把里面的参数移植到到前面在线程组下建的”HTTP 信息头管理器“中。 然后把其他所有的信息头管理器删除。

7、这样基本就可以测试了,为了查看测试效果;
再在线程组下新建:监视器结果、聚合报告、察看结果树等监听元件。
之后点击运行按钮 ,就可以开始试验了。

这样默认的是一个用户,可以修改线程组里的 ”线程数“选项。不要大于csv文件记录的行数。

8、
还有,为了模拟登陆、发帖等操作的真实性,可以在每个环节下,建一个”高斯随机定时器“元件。用来定义”固定延迟偏移“和”偏差“的值,可以分别用4000 和3000 单位默认为毫秒。

聚合报告 说明:
Label:说明是请求类型,如Http,FTP等请求。 
#Samples:也就是图形报表中的样本数目,总共发送到服务器的样本数目。 
Average:也就是图形报表中的平均值,是总运行时间除以发送到服务器的请求数。 
Median:也就是图形报表中的中间值,是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。 90%line:是指90%请求的响应时间比所得数值还要小。 
Min:是代表时间的数字,是服务器响应的最短时间。 
Max: 是代表时间的数字,是服务器响应的最长时间。 
Error%:请求的错误百分比。 
Throughput:也就是图形报表中的吞吐量,这里是服务器每单位时间处理的请求数,注意查看是秒或是分钟。 
KB/sec:是每秒钟请求的字节数。




补充:
1、Listener
Generate Summary Results:

The lines with “summary +” are incremental for the latest summariser period, the lines with “summary =” are cumulative.  The above was with a summariser period of 20 secs, the actual periods can sometimes be longer than the specified period and the length of the very first period is somewhat random.  You get the throughput statistics as well as average, min and max response times, and how many errors were detected (assuming your JMeter test plan has assertions to detect errors).

You may have noticed that one of the summariser properties was whether we wanted to send summariser output to the log file.  Every JMeter run produces a log file, by default bin/JMeter.log. In either GUI or non-GUI mode, you can specify a different log file directly on the command line using the -j option.  And as with most things in JMeter, the actual name of the log file is configurable through a property, in this case the log_file property. 
So when you enable summariser.log=true as we did above, the summary lines we saw on stdout will also appear in the log file, with an identifying header such as “INFO  – JMeter.reporters.Summariser:” to show their source (they will be mixed with other JMeter log information).


2、处理请求返回json 的情况:




原创粉丝点击