Jmeter进行简单的压力测试

关于压力测试

压力测试简单的讲,就是测试在一定用户量用户访问的情况下,服务器是否能够稳定运行,稳定运行包括:打开页面是否变慢、网站是否崩溃、接口是否能够正常返回值等。另外Jmeter相对于LoadRunner来说,Jmeter免费的,而且上手简单,一般进行压力测试用Jmeter即可。

1、需求分析

根据接口测试需要,来判断是否需要参数,如果需要我们先进行定义参数数据。
在本次测试当中我的两个接口需要参数,因此我定义了一个data.txt和data2.txt用来存放参数数据。
data数据
data2数据

2、进行脚本编写

首先启动Jmeter,然后添加线程添加一个SetUp Thread Group,然后在新建好的线程上右击,点击添加配置元件–>CSV Data Set Config 详细如图
这里写图片描述
如图中框1代表参数值数据文件存放路径,框2代表读取的数据对应的参数名,在后面的使用当中可以用${storeCD}${PCFlg}这种形式进行调用

然后我们添加一个http请求,添加的请求如图所示
这里写图片描述
其中框1表示你需要填写的测试服务器ip、框2代表你要使用的请求方式和请求方法和参数。在这我们把请求参数拼接到了请求方法中${}中表示我们在data.txt中定义的请求参数,它会在我们执行的时候添加到我们请求url当中。如果不想把请求参数和请求名写在一起,如下图操作
这里写图片描述
框中选中的我们可以看出来我们选择Parameters选项卡,然后点击添加,填上参数名称和参数值,这样也可以实现带参数url访问。

请求执行之后会返回请求结果,实际测试当中我们一般会用到返回结果中的一些结果作为参数值来执行下一个请求。在上面的图中也可以观察到,我们后面的http请求会调用前面的返回结果作为参数进行下一个请求。那么我们需要提取参数值因此会用到正则表达式提取器,用来提取返回结果作为参数值。

在http请求下创建一个正则表达式提取器如图所示
这里写图片描述

  • 引用名称 用来调用参数
  • 正则表达式 匹配结果读取参数
  • 模板 对应正则表达式中的匹配的结果
  • 匹配数字 代表匹配第几个
    图中我们所用参数的意思(如有不准请及时指正),根据正则表达式匹配我们可以获得相对应的参数,在这我们可以添加
    一个后置处理器DebugPostProcessor用来观察我们正则表达式提取的值以及调用的变量名称,如下图所示
    这里写图片描述
    其中myJAN_g1便是我们提取的第一个变量值,当需要调用的时候我们只需要${myJAN_g1}即可,然后我们在添加一个http请求便完成了一次脚本的编写,同时我们需要对结果进行观察收集,因此在最后我们添加下面几个监听器用来搜集压力测试结果以及对结果进行分析
    这里写图片描述 在聚合报告当中我们可以看到请求时间,请求失败所占百分比等信息;用表格查看结果可以详细看到每一条请求开始时间结束时间、请求数据量等信息;查看结果树用来查看每条请求的详细信息以及返回结果。 针对不同系统的需要和客户要求,我们进行压力测试,来观察当一定数据量访问程序是否能够正常的运行,然后进行程序的优化,以此来调优自己的代码。