Jmeter模拟多用户登陆测试实践

时间:2024-04-05 15:35:29

一、模拟测试准备
1.下载Jmeter测试工具:http://download.csdn.net/download/java2316/10243022
2.下载badboy脚本录制工具:http://jmeter.apache.org/download_jmeter.cgi

二、模拟测试场景准备
1.用户数据准备
由于需要模拟多用户登录,所以需要准备一个txt文件,文件中包含username,password,验证码。用户名以及密码均是固定值,不需要做处理。验证码需要处理成固定值,这里是11111。
Jmeter模拟多用户登陆测试实践

2.压力测试脚本准备
2.1 脚本录制
使用badboy录制Jmeter脚本,badboy录制的脚本比Jmeter自己运行的Http请求要有更多的参数,比如图形验证码、服务器名称或IP会自动加载,无需手写。另外自动加载Http Cookie管理器、用户定义的变量、HTTP信息头管理器,以及Http请求。
Jmeter模拟多用户登陆测试实践

2.2 Http请求参数配置
刚打开的脚本需要修改项相关参数,才能模拟多用户登录,否则只能是使用同一个用户名和密码进行登录。本次测试修改的参数有:
Jmeter模拟多用户登陆测试实践
Jmeter模拟多用户登陆测试实践
必须知道的是,这些参数不是固定的,各个系统各有不同,需要通过浏览器登录页面,然后抓取这些参数。

2.3 CSV Data Set Config配置
右键点击脚本,添加—配置元件—CSV Data Set Config,本次测试配置如下。
Jmeter模拟多用户登陆测试实践
Filename 为user.txt文件存放的位置,user.txt可先建一个文本文件,里面的数据为一行一个“username,password,captcha”,中间用逗号隔开。
variable names的设置需要与HTTP请求中的参数保持一致,其他的如图一致。

2.4 HTTP Cookie管理器
通过badboy录制的脚本直接带过来的,无需做变更。
Jmeter模拟多用户登陆测试实践

2.5 用户自定义变量
通过badboy录制的脚本直接带过来的,无需做变更。
Jmeter模拟多用户登陆测试实践

2.6 HTTP 信息头管理器
通过badboy录制的脚本直接带过来的,无需做变更。
Jmeter模拟多用户登陆测试实践

三、开始进行模拟测试

  1. 设置线程组
    设置线程数和Ramp-Up Period(我理解为每个线程的执行间隔时间)和循环次数。线程数慢慢由小到大逐步递增,间隔时间我设置为0,循环数为1次。
    Jmeter模拟多用户登陆测试实践

  2. 添加监听器
    我是用的监听器是【察看结果树】、【图形结果】和【聚合报告】。需要注意的是,添加监听器的是时候要右键点击step1下的脚本添加。
    Jmeter模拟多用户登陆测试实践

3.linux服务器性能监控
为了更直观的看到linux服务器的CPU、内存和I/O吞吐量等变化,可以在测试之前在linux服务器添加nmon(nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,相对于其它一些系统资源监控工具来说,nmon所记录的信息是比较全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件与图形化结果。)。