1、 JMeter是什么?
JMeter是一个软件,使负载测试或业绩为导向的业务(功能)测试不同的协议或技术。 Apache软件基金会的Stefano Mazzocchi JMeter的最初的开发。他写道:它主要对 Apache JServ(现在称为如Apache Tomcat项目)的性能进行测试。Apache后来重新设计JMeter 增强的图形用户界面和添加功能测试能力。
这是一个具有图形界面,使用Swing 图形API 的 Java 桌面应用程序,因此可以运行在任何环境/工作站接受一个Java 虚拟机,例如:在Windows,Linux,MAC等。
JMeter 支持的协议是:
-
web:HTTP,HTTPS站点的Web1.0的Web 2.0 (ajax, flex and flex-ws-amf)
-
Web Services: SOAP / XML-RPC
-
通过JDBC驱动程序的数据库
-
目录: LDAP
-
面向消息的服务通过JMS
-
Service: POP3, IMAP, SMTP
-
FTP 服务
2、 Jmeter安装配置
2.1 Jmeter是基于Java的,所以必须要有JDK环境,配置好Java环境变量;
2.2 Jmeter是免安装的,下载zip包( Apache JMeter - Download Apache JMeter),在本地解压,配置环境变量(JMETER_HOME)
3、 Jmeter运行前的准备
3.1 测试片段(Test Fragment),类似于可复用的功能模块,如登录等,可供其他线程组调用;一般一个大型的测试项目,由多个测试片段+多个组程线组成;
3.2 用户自定义变量(User Defined Variables),如当测试环境、开发环境、预发布环境、生产环境等IP或URL不同时,不需要写死具体地址,把地址定义为一个变量,只需更改变量值,即可测试不同环境;变量使用方式: ${变量名}
3.3 数据驱动,如登录等,需测试正常、异常的情况,把不同的账号写入CSV文件(CSV Data Set Config),使用时导入文件,并把值指定给某个变量,即可测试不同情况;
3.4 断言,如JSON Assertion,必须要有预期结果,才能判断测试是否通过(注意Json path写法,以 $.位置.位置 方式)
3.5 循环控制器,测试不同账号登录,1次只会测试1组,要测试多个账号,需要对整个测试片段设置循环控制器;
3.6 关联上下文,业务不是独立的,如业务中的增、删、改、查,需要在账号登录才能进行,则要应用接口上下文关联;
3.6.1 设置后处理控制器:取得Token,并把值赋给全局变量
3.6.2 在业务测试中设置预控制器
以上,就是一个大型项目接口测试前置准备。
4、 项目测试计划
5、 命令行执行测试
如启动Jmeter时的提示
jmeter -n -t [项目计划文件] -l [结果文件] -e -o [测试结果目录]
6、 查看测试报告