一个完整的jmeter测试计划,至少包含以下几个元素:测试计划、线程组、采样器、断言、监听器,下面介绍如何创建一个最简单的完整的测试计划
1、启动jmeter(Windows环境),有两种方法:
①如果配置了jmeter环境变量,首先打开Windows命令行窗口(win+R),在命令行窗口输入:jmeter 指令,jmeter即可启动
②在jmeter的bin目录下,双击 jmeter.bat 文件,即可启动jmeter;或者将jmeter.bat文件创建快捷方式到桌面,之后便可直接在桌面双击jmeter.bat启动jmeter
2、jmeter启动后,显示的界面如下:Test Plan 是测试计划的父节点,jmeter脚本所有的元素都在Test Plan下添加
Test Plan 面板介绍:
Name:测试计划名称,可以修改为一个有意义的测试计划名称
Comment:注释,可填写测试计划的一些描述信息
User defined Variables:用户自定义的变量,Name为变量名,后续引用变量的时候通过${变量名} 引用,value:变量值。对于一些全局的变量,可以在Test Plan 的User defined Variables 设置,比如登录用户名/密码,IP\域名\端口号
Add directory or jar to classpath:添加外部目录后者jar包到jmeter,测试过程中可以会用到一些第三方的jar包,可以在Test Plan下添加jar包,添加后jmeter可以使用这些jar包,比如生成生份证号\手机号\邮箱;不过jmeter引用外部的jar还有一种方式,即将第三方jar包放下jmeter的lib\ext目录下,则可以不需要在Test Plan下载引入jar包
3、添加线程组Thread Group
Thread Group 面板介绍:
Name:线程组名称,可以修改为有意义的名称
Comment:注释,可填写线程组的一些描述信息
Action to be taken after a Sampler error:取样器出错后才去的措施:continue-继续执行下面的脚本;Start next Thread Loop-忽略错误,开始下一次循环;Stop Thread-停止执行线程,不再执行这个线程的任何操作;Stop Test-等待当前采样器结束后,停止测试;Stop Test Now-直接停止整个测试
Number of Threads (users):模拟的用户数量
Ramp-up Period (in seconds):达到指定线程数所需要的时间,单位"秒",如Number of Threads=50,Ramp-up Period=5,则表示每秒启动10个用户(50/5=10)
Loop Count:循环次数,forever:永远循环
4、添加采样器
HTTP Request 面板介绍:
Name:采样器名称,可以修改为有意义的名称
Comment:注释,可填写采样器的一些描述信息
Basic:
protocol:协议,HTTP\HTTPS
Server Name or IP:服务器域名或IP,如:baidu.com或者127.0.0.1
Port Number:端口号,如8080
Method:发送请求的方法,常用的有GET\POST
Path:请求路径,如,有以下url:https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_4767435042235412817%22%7D&n_type=0&p_from=1
域名=mbd.baidu.com
路径=newspage/data/landingsuper
请求中的参数分别为:context=%7B%22nid%22%3A%22news_4767435042235412817%22%7D、n_type=0、p_from=1
Content encoding:编码格式,常用的为UTF-8,如果不定项目使用的编码格式,可以问开发
Parameters:随请求一起发送的参数,以上请求的三个参数可以填写在此处
Body Data:随请求一起发送的参数,也可以填写在body data,json格式的报文一般都使用body data
*Parameters和Body Data只能选其一
Files Upload:发送请求时如果有文件,如图片之类的,可以添加在此
5、添加断言
Custom failure message:断言失败时给出的提示信息
6、添加监听器
Write results to file / Read from file:将测试结果写入文件或者从文件读取测试结果,测试结果写入文件后可以方便后续分析结果,因为关闭jmeter后,测试结果是不会保存的;从文件读取测试结果,在使用非GUI,也就是命令行执行脚本的时候,生成的 .jtl 测试报告可以使用jmeter监听器显示
至此,一个完整的简单的jmeter测试计划已经创建完成