1、线程数:相当于虚拟用户数
2、Ramp-Up Period(in seconds):启动所有线程的时间。
若值为0,则代表立即创建所有线程,即代表同时并发
若值为N,且线程数为M,则代表每隔N/M秒建立一个线程:比如线程数是100个,Ramp-Up Period(in seconds)的值是300 秒,则代表每隔3秒(300/100)建立一个线程
3、循环次数:包括固定循环次数和永远循环(不设置次数仅控制循环时间)
1) 固定循环次数:想循环几次就填写几
2)不设置次数仅控制循环时间,即循环次数勾选“永远”:该模式是为了观察服务器在一个时间段内,维持某种并发的运行情况。
具体设置情况如下图:勾选永远->勾选调度器->根据需要设置调度器
1、用badboy录制登录和进入日报操作的脚本->导出至jmeter格式
备注:
1)如果要衡量一个页面(页面渲染完成)的性能时,我们就需要考虑完成页面渲染所需要的图片、css和js等资源文件,因此用Jmeter录制脚本
2) 如果仅测试某操作的响应时间,比如:登录,则就用badboy录制脚本。因为badboy不会录制图片、css和js等资源文件
2、导入至Jmeter之后,在线程组下新增HTTP Cookies管理器
3、用fiddler抓包工具或者直接用谷歌浏览器中的开发者工具调试页面中,抓取并查看登录时的cookie信息
注意:若JSESSIONID的值失效,可重新抓包,然后修改值即可
fiddler抓包工具
开发者工具
4、在步骤2中的HTTP Cookies管理器中加入cookie,注意该处的域名一定要写上,不能为空或写成ip,否则无效。
5、在要测试的请求下添加察看结果树、汇总报告、响应断言和断言结果
1)在响应断言中添加测试模式(其中项目名称是包含在日报界面中的字符串,用以判断请求是否成功)
2)运行过后的断言结果,没有报错即为通过
6、在线程组中按照需求输入线程数、时间和循环次数
1)可以先设置为一个线程数,查看该响应数据是否正确,若正确,再按照需求设置线程组中各参数
2)把无关的请求,甚至包括登录请求均禁用(因为已经设置过cookie信息)
3)本次压测是针对进入日报界面,仅留该请求即可
7、执行脚本,查看察看结果树中结果
8、查看汇总报告中结果:
1、登录接口重定向问题:
如果登录接口使用了url重定向,则需要勾选Follow Redirects(跟随重定向)
解释如下:
http://tieba.baidu.com/p/5630956691
2、对用户名和密码进行参数化:
1)测试数据中账号和密码用英文逗号隔开:
2)在要测试的请求下添加CSV Data Set Config,设置测试数据文件路径、编码和参数名(与接口请求数据中参数名一致)
3)设置请求数据中的用户名和密码Value值如下格式:
1、先在JMeter中配置好运行参数,线程数和运行时间等
2、打开cmd,用cd命令进入到jmeter文件所在的路径(文件名叫:login.jmx),若放到了桌面上,则命令如下:
3、输入jmeter.bat所在路径(E:\CYX-documents\apache-jmeter-5.1.1\bin\jmeter.bat)和执行命令(-n -t login.jmx -l test_report_01.csv -e -o test_report_01),如下:
4、 生成的文件和文件夹如下:
5、 打开文件夹中的index.html文档即可