来源:http://www.cnblogs.com/jackei/archive/2006/11/10/557160.html
http://www.cnblogs.com/jackei/archive/2006/11/13/558720.html
JMeter是一款在国外非常流行和受欢迎的开源性能测试工具, 像 LoadRunner 一样,它也提供了一个利用本地 Proxy Server (代理服务器)来录制生成测试脚本的功能,但是这个功能并不好用。所以在本文中介绍一个更为常用的方法——使用 Badboy 录制生成 JMeter 脚本。
简单的介绍一下 Badboy 。 Badboy 是一款不错的 Web 自动化测试工具,如果你将它用于非商业用途,或者用于商业用途但是安装 Badboy 的机器数量不超过 5 台,你是不需要为它支付任何费用的。也许是一种推广策略, Badboy 提供了将 Web 测试脚本直接导出生成 JMeter 脚本的功能,并且这个功能非常好用,也非常简单。你可以跟着下面的试验步骤来迈出你在开源世界的第一步。
1. 通过 Badboy 的官方网站下载 Badboy 的最新版本;
2. 安装 Badboy 。安装过程同一般的 Windows 应用程序没有什么区别,安装完成后你可以在桌面和 Windows 开始菜单中看到相应的快捷方式——如果找不到,可以找一下 Badboy 安装目录下的 Badboy .exe 文件,直接双击启动 Badboy ;
3. 启动 Badboy ,你可以看到下面的界面。
在地址栏(图中红色方框标注的部分)中输入你需要录制的 Web 应用的 URL ——这里我们以 http://www.yahoo.com 为例,并点击 GO 按钮开始录制。如果你用过 LoadRunner 之类的商业工具,对于这个操作一定不会陌生吧 ^_^
4. 开始录制后,你可以直接在 Badboy 内嵌的浏览器(主界面的右侧)中对被测应用进行操作,所有的操作都会被记录在主界面左侧的编辑窗口中——在这个试验中,我们在 Yahoo 的搜索引擎中输入 JMeter 进行搜索。不过你将看到,录制下来的脚本并不是一行行的代码,而是一个个 Web 对象——这就有点像 LoadRunner 的 VuGen 中的 Tree View 视图;
5. 录制完成后,点击工具栏中的“停止录制”按钮,完成脚本的录制;
6. 选择“ File -> Export to JMeter ”菜单,填写文件名“ login_mantis.jmx ”,将录制好脚本导出为 JMeter 脚本格式。也可以选择“ File -> Save ”菜单保存为 Badboy 脚本;
7. 启动 JMeter 并打开刚刚生成的测试脚本。
也许你已经急不可待的准备开始尝试着用 JMeter 处理你手头的工作了 ^_^ 在下面的几节,我将继续为大家介绍如何在 JMeter 中完成一个测试场景的设置和 JMeter 测试结果分析入门,以及如何参数化 JMeter 脚本。
当然,如果你的动手能力很强,几分钟你就可以熟悉这些内容。不过还是请允许我一点点由浅入深的来帮大家完成“ JMeter 从入门到精通”的过程。我相信在这个过程中你将会了解到更多有关性能测试的知识和经验,甚至包括一些 LoadRunner 等商业测试工具所无法提供给你的经验。
Aggregate Report 是 JMeter 常用的一个 Listener ,中文被翻译为 “ 聚合报告 ” 。今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下,以备大家查阅。
如果大家都是做 Web 应用的性能测试,例如只有一个登录的请求,那么在 Aggregate Report 中,会显示一行数据,共有 10 个字段,含义分别如下。
Label :每个 JMeter 的 element (例如 HTTP Request )都有一个 Name 属性,这里显示的就是 Name 属性的值
#Samples :表示你这次测试中一共发出了多少个请求,如果模拟 10 个用户,每个用户迭代 10 次,那么这里显示 100
Average :平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以 Transaction 为单位显示平均响应时间
Median :中位数,也就是 50 % 用户的响应时间
90% Line : 90 % 用户的响应时间
Note :关于 50 % 和 90 % 并发用户数的含义,请参考下文
http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html
Min :最小响应时间
Max :最大响应时间
Error% :本次测试中出现错误的请求的数量 / 请求的总数
Throughput :吞吐量——默认情况下表示每秒完成的请求数( Request per Second ),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
KB/Sec :每秒从服务器端接收到的数据量,相当于 LoadRunner 中的 Throughput/Sec