将JMeter安装完成后,就可以开始尝试做一些简单的测试了,
我们可以先模拟多人同时登入的情况,进行简单的压力测试。
新增Thread Group
开启JMeter后,系统预设会新增一个空白的执行计画,
根据需要测试的内容,在测试计画底下新增一个Thread Group。
本次要执行的动作是使用者登入并进入到系统首页,所以将Thread Group命名为登入。
接下来设定Thread Properties,前三个栏位说明如下:
Number of Threads(users):执行测试时,需要多少个使用者Ramp-Up Period (in seconds):在几秒内执行完这个测试Loop Count:重複执行次数当我们如下图设定时,代表这个测试同时需要100位使用者,
在3秒内执行完登入动作,并且执行1次即可(不重複)。
準备测试帐密资料
我们设定这个测试需要由100位使用者同时进行,这时候可以準备一个csv档,
纪录100组测试帐密资料。
接着在登入Thread Group中,新增CSV Data Set Config。
CSV Data Set Config设定如下图。参数说明如下:
FileName:CSV档的来源路径。Variable Names:需要从CSV档中取得的变数名称,可以自行命名,后续设定需要使用到CSV中的资料作为变数时,以这个名称做指定。Ignore first line:需不需要忽略CSV档中的第一行,本範例中的CSV档第一行为标题列,所以选择True。新增Http Request
在Test Plan中,新增一个Http Request,将这个Http Request命名为登入页面。
设定Web Server中的参数,指定要载入的登入页面,本例使用本机环境载入登入页面。设定参数如下图。
Protocol[http]:设定目前使用的环境使用的通讯协定,如果是使用非本机环境,请注意该环境是否有使用https,若有的话,本栏位请调整为https。Server Name or IP:只要填写Server IP或domain name即可,例如本机环境填写localhost。HTTP Request:依需求设定POST/GET,Path请填写登入页面的网址。若测试的系统有设定RequestVerificationToken,
那就需要登入页中RequestVerificationToken的值抓出来一併传送,才能通过登入页防伪验证,
在登入页面新增一个CSS Selector Extractor来抓取。
CSS Selector Extractor设定如下图,
可以将登入页中的RequestVerificationToken存到变数RequestVerificationToken中。
接下来在Test Plan中,再新增一个Http Request,
这一个Http Request是用来传送登入资料的,我们将它命名为登入。
与登入页面一样,设定Web Server中的参数,但HTTP Request要设定为POST。
为了让登入可以辨别登入页面传进来的参数值,需要在登入中新增Parameters,
这个範例需要的变数值分别为帐号(Account)、密码(Password)与RequestVerificationToken,如下图设定。
最后在Test Plan底下加入HTTP Cookie Manager,在登入后执行的动作,
都会继续使用登入时产生的Cookie,以保持登入的状态。
进行测试
为了确认测试计画使否有正确执行,以及进行后续的分析,
可以在Test Plan底下新增View Results Tree以及Summary Report。
新增完毕后,将本範例储存为jmx档,才能进行测试。
点选上方绿色箭头的符号后,测试计画会开始执行,等到执行结束后,
可以切换到View Results Tree页面,确认是否有测试计画正常执行,
若结果都呈现绿色,代表测试计画有执行成功。
切换到Summary Report,可以检视每一个动作执行的相关数据,例如执行次数、执行时间、错误率等等。