Jmeter使用入门.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Jmeter使用入门
Jmeter简介
Jmeter的基本概念
百度百科:
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器,等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言
我们为什么使用Jmeter
开源免费,基于Java编写,可集成到其他系统可拓展各个功能插件支持接口测试,压力测试等多种功能,支持录制回放,入门简单
相较于自己编写框架活其他开源工具,有较为完善的UI界面,便于接口调试
多平台支持,可在Linux,Windows,Mac上运行
Jmeter安装配置
Windows下Jmeter下载安装
登录/download_jmeter.cgi ,根据自己平台,下载对应文件
安装JDK,配置环境变量(具体步骤不做介绍)
将下载Jmeter文件解压,打开/bin/jmeter.bat
其他平台安装Jmeter
与Windows平台一致,除入口文件不同,例如linux平台下为/bin/jmeter.sh
Jmeter的目录结构
/bin 目录(常用文件介绍)
examples:目录下包含Jmeter使用实例
ApacheJMeter.jar:JMeter源码包
jmeter.bat:windows下启动文件
jmeter.sh:Linux下启动文件
jmeter.log:Jmeter运行日志文件
jmeter.properties:Jmeter配置文件
jmeter-server.bat:windows下启动负载生成器服务文件
jmeter-server:Linux下启动负载生成器文件
/docs目录——Jmeter帮助文档
/extras目录——提供了对Ant的支持文件,可也用于持续集成
/lib目录——存放Jmeter依赖的jar包,同时安装插件也放于此目录/licenses目录——软件许可文件,不用管
/printable_docs目录——Jmeter用户手册
Jmeter相关插件安装:
插件安装:
Jmeter的插件安装很简单,只需要下载对应插件解压即可。
下载地址:/downloads/all/
下载后解压放入:apache-jmeter-2.12\lib\ext\目录下
重启jmeter
ps:数据库链接驱动如果需要需要专门下载,例如mysql需要jdbc 的jar包,地址:/downloads/file/?id=462850
使用注意事项:添加第三方插件并使用后保存的jmx文件在未添加该插件的运行环境下会导致无法打开该文件并报错,请保持环境一致性。
用例生成与导出:
Jmeter的用例格式为jmx文件,实际为xml格式,感兴趣可以学习下自己定制生成想要的jmx文件。
生成原则:
每个功能模块为一个独立的jmx文件。增加可维护性。(尽量不要将
一个jmx文件放入太多功能,后期维护成本会很高。)
模块的私有变量保存在模块中,多模块共有的(例如服务器ip端口等)可以考虑存在单独的文件中读取。
接口测试不要放太多线程,毕竟不是做压力测试,意义也不大。
导出方法:
编写测试用例
文件——保存为——确定:
Jmeter常用文件类型
Jmx文件
文件的实际类型:xml
文件样本:
false
false
Sample test for demonstrating JMeter Ant build script and Schematic stylesheet
1143889321000
3
false
5
false
1143889321000 continue
1
1
1000
C
false 1000000
=
100
Sleep_Time =
0xFF Sleep_Mask
=
Label
=
200
ResponseCode
=
OK ResponseMessage
=
OK
Status
=
Request SamplerData
=
Response C=${C} ResultData
org.apache.jmeter.protocol.java.test.JavaTest
3
Assertion.response_data
false
= 100
Sleep_Time
=
0xFF Sleep_Mask
=
Label
=
200 ResponseCode
=
OK ResponseMessage