[JMeter]简单的多人登入压力测试

将JMeter安装完成后,就可以开始尝试做一些简单的测试了,
我们可以先模拟多人同时登入的情况,进行简单的压力测试。

新增Thread Group

开启JMeter后,系统预设会新增一个空白的执行计画,
根据需要测试的内容,在测试计画底下新增一个Thread Group。
http://img2.58codes.com/2024/20149099ROQPVmgDXF.png

本次要执行的动作是使用者登入并进入到系统首页,所以将Thread Group命名为登入。
http://img2.58codes.com/2024/20149099A7Zfd03QMt.png

接下来设定Thread Properties,前三个栏位说明如下:

Number of Threads(users):执行测试时,需要多少个使用者Ramp-Up Period (in seconds):在几秒内执行完这个测试Loop Count:重複执行次数

当我们如下图设定时,代表这个测试同时需要100位使用者,
在3秒内执行完登入动作,并且执行1次即可(不重複)。
http://img2.58codes.com/2024/20149099rNwYfPhNHr.png

準备测试帐密资料

我们设定这个测试需要由100位使用者同时进行,这时候可以準备一个csv档,
纪录100组测试帐密资料。
http://img2.58codes.com/2024/201490996mB4tvNpOz.png

接着在登入Thread Group中,新增CSV Data Set Config。
http://img2.58codes.com/2024/20149099oAgsRJ04hD.png

CSV Data Set Config设定如下图。参数说明如下:

FileName:CSV档的来源路径。Variable Names:需要从CSV档中取得的变数名称,可以自行命名,后续设定需要使用到CSV中的资料作为变数时,以这个名称做指定。Ignore first line:需不需要忽略CSV档中的第一行,本範例中的CSV档第一行为标题列,所以选择True。

http://img2.58codes.com/2024/20149099RMeqmit4sh.png

新增Http Request

在Test Plan中,新增一个Http Request,将这个Http Request命名为登入页面。
http://img2.58codes.com/2024/20149099wKYtMeV3v5.png

http://img2.58codes.com/2024/20149099v6pFgvIirn.png

设定Web Server中的参数,指定要载入的登入页面,本例使用本机环境载入登入页面。设定参数如下图。

Protocol[http]:设定目前使用的环境使用的通讯协定,如果是使用非本机环境,请注意该环境是否有使用https,若有的话,本栏位请调整为https。Server Name or IP:只要填写Server IP或domain name即可,例如本机环境填写localhost。HTTP Request:依需求设定POST/GET,Path请填写登入页面的网址。

http://img2.58codes.com/2024/20149099GAv3IGD9Vo.png

若测试的系统有设定RequestVerificationToken,
那就需要登入页中RequestVerificationToken的值抓出来一併传送,才能通过登入页防伪验证,
在登入页面新增一个CSS Selector Extractor来抓取。
http://img2.58codes.com/2024/20149099DLGzv0uxIC.png

CSS Selector Extractor设定如下图,
可以将登入页中的RequestVerificationToken存到变数RequestVerificationToken中。

Name of created variable:变数名称,可以自己命名。CSS Selector expression:要从目标页面中抓取的变数值,要用CSS取值的方式填写。Attribute:要取得的Attribute。

http://img2.58codes.com/2024/20149099EeaQ6TSi89.png

接下来在Test Plan中,再新增一个Http Request,
这一个Http Request是用来传送登入资料的,我们将它命名为登入。
http://img2.58codes.com/2024/20149099gKcE2h9xRd.png

与登入页面一样,设定Web Server中的参数,但HTTP Request要设定为POST。
http://img2.58codes.com/2024/20149099IxEkGGqTuZ.png

为了让登入可以辨别登入页面传进来的参数值,需要在登入中新增Parameters,
这个範例需要的变数值分别为帐号(Account)、密码(Password)与RequestVerificationToken,如下图设定。
http://img2.58codes.com/2024/20149099bepA5cAbcz.png

最后在Test Plan底下加入HTTP Cookie Manager,在登入后执行的动作,
都会继续使用登入时产生的Cookie,以保持登入的状态。
http://img2.58codes.com/2024/201490991ZRCaRHP8S.png

进行测试

为了确认测试计画使否有正确执行,以及进行后续的分析,
可以在Test Plan底下新增View Results Tree以及Summary Report。
新增完毕后,将本範例储存为jmx档,才能进行测试。
http://img2.58codes.com/2024/20149099KmqvMZhas5.png

点选上方绿色箭头的符号后,测试计画会开始执行,等到执行结束后,
可以切换到View Results Tree页面,确认是否有测试计画正常执行,
若结果都呈现绿色,代表测试计画有执行成功。
http://img2.58codes.com/2024/20149099Xwn0t8Q36m.png

http://img2.58codes.com/2024/20149099znRXSu8iuq.png

切换到Summary Report,可以检视每一个动作执行的相关数据,例如执行次数、执行时间、错误率等等。
http://img2.58codes.com/2024/20149099Hs1UWTKXb1.png


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章