JMeter进行一次简单的压力测试

测试目的:10个用户并发打开百度首页(https://www.baidu.com/),百度能否正常响应。

操作步骤

一、打开JMeter

打开后的界面如下:

二、右击“测试计划”,添加线程组

三、设置线程组的线程数

 

JMeter中的线程组,类似于LoadRunner中的虚拟用户组,因为我们要测试10个用户并发的情况,所以这里的线程数,要设置为10

Ramp-Up Period(in seconds)”的含义是达到最大线程数(这里设置的是10)所需要的时间(单位是秒)。

如果我们把Ramp-Up Period设置为100秒,那么JMeter就会在100秒内启动所有10个线程,并让它们运转起来,每隔10秒启动一个新线程。这里我们把Ramp-Up Period设置为1秒。

四、右击“线程组”,添加“HTTP请求”

 

五、设置“HTTP请求”

 

服务器名称或IP:www.baidu.com

  • 协议:https

  • 方法:GET

  • 路径:/

六、添加“察看结果树”

“察看结果树”是用来看测试结果的。

至此,测试脚本已经设置完了,我们可以执行一下了,看看当有10个用户并发访问百度首页时,百度能否正常响应。

点击“启动”,执行测试脚本,如下:

执行完毕后,在“察看结果树”里面会出现结果,如下:

在这里面,我们可以看到每个请求的请求数据和响应数据。

每个请求都有正确的响应,如下:

说明,在10个用户在1秒内并发访问的情况下,百度首页仍然能正确响应。

但是在这里,我们会发现,每个请求的响应数据是乱码的,如下:

这里,我们可以这么设置,如下:

右击刚添加的“HTTP请求”,添加后置处理器

在脚本里面输入:

prev.setDataEncoding("UTF-8");如下

再次执行脚本,响应数据就不会乱码了,如下:

对于需要登录才能使用的接口,有两种方法可以测试:

1. 静态token:通过抓捕工具fiddler或者其它工具,登录用户获取token值,添加http信息头管理器,添加参数:名称(token名称),值(获取到的token值);

2.添加Http Cookie管理器,参数填写登录信息里的sessionID的key和key值,[域]/[路径]这两项可填可不填,如果填写则填写登录的域和路径。

第二种方法也可以什么参数都不填,但在线程组加上登录请求,并且post请求勾选跟随重定向,其他请求不勾选。

关于JMeter学习,这里给大家推荐一本书《零成本实现Web性能测试:基于Apache JMeter和Gatling》,大家看一下JMeter的那部分就可以了,需要电子版的可以留言邮箱

原文地址:https://www.cnblogs.com/camilla/p/7272005.html