参考:
http://blog.chinaunix.net/uid-26884465-id-3416869.html
http://www.ltesting.net/ceshi/open/kyxncsgj/jmeter/2013/0517/206265.html
1.简介
Apache JMeter是Apache组织开发的基于Java的功能和性能测试的工具。
JMeter可以用于测试静态和动态资源的性能(比如文件、Servlets、Perl脚本、Java对象、数据库和查询、ftp服务器或者其它资源),模拟对服务器或者网络系统加以重负荷,以测试它的抵抗力,或者用来分析不同负荷类型下的所有运行情况。
最初被设计用于Web/HTTP测试,但后来扩展到其它测试领域,以支持各种各样的测试模块。它和用于HTTP和SQL数据库的模块一起运送。
JMeter也提供了一个可替换的界面用来定制数据显示,测试同步及测试的创建和执行。
特性如下:
- 能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC)。
- 完全的可移植性和100%纯java。
- 完全Swing和轻量组件支持包(预编译的JAR使用javax.swing.*)
- 完全多线程框架允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样。
- 精心的GUI设计允许快速操作和更精准的计时。
- 缓存和离线分析/回放测试结果。
- 高扩展性:
可链接的取样器允许无限制的测试能力。
各种负载统计表和可链接的计时器可供选择。
数据分析和可视化插件提供了很好的可扩展性以及个性化。
具有提供动态输入到测试的功能(包含Javascript)。
支持脚本变成的取样器(在1.9.2及以上版本支持BeanShell)
2.JMeter下载
1)下载:http://mirror.bit.edu.cn/apache//jmeter/binaries/apache-jmeter-2.13.zip
2)解压到apache-jmeter-2.13
3)在目录apache-jmeter-2.13apache-jmeter-2.13in下双击jmeter.bat,等待大约20s,即可打开Apache JMeter的工作界面。
问题:可能会提示:not able to find java executable or version。
解决方法如下:
不要使用管理员身份运行
或者在PATH中加上%SystemRoot%system32;%SystemRoot%;
注:
可在命令行下使用java -version来查看本地java版本,我的是1.8.0_60。如果确实没有java版本,请自行安装。
切记:在命令行下也不要使用管理员身份来查看版本,否则会报错
3.使用
1)创建一个线程组。(线程组的作用是模拟多个访问对象,对系统进行压力测试)
线程组的参数:
2)在线程组下添加一个ForEach控制器。(它可以去遍历要访问的URL)
为ForEach控制器设置输入变量前缀和输出变量名称:
输入变量前缀:url,即待会要输入的变量。
输出变量名称:returnVal,即每次遍历以url为前缀的变量之后输出的值。
Add "_" before number:输入变量的名称中是否使用"_"进行间隔
3)为ForEach控制器添加用户自定义变量。
用户变量设置如下:
4)有了数据之后,需要做访问页面的请求,因此为ForEach添加HTTP请求。
点击HTTP请求,路径设置为${returnVal}。
${}表示取值的意思。
工作流程:
对每一个HTTP请求,它会去读取ForEach控件中returnVal的值,而returnVal的值来自对前缀为url的输入值的遍历结果。
5)为了查看结果,添加监听器“察看结果树”。这样返回结果时,就可以看到响应结果的。
6)点击“运行”按钮。第一次运行时,需要保存一下,我的保存为“察看结果树.jmx”
7)点击“察看结果树”
取样器结果:
请求:
响应数据:
结果分析:
绿色的表示访问是成功的,有结果的。红色的表示访问不成功。这是因为中国大陆访问Google是用不了的。