本节使用在拉手搜索×××团购的案例,讲述Badboy导出脚本用于JMeter性能测试,以及JMeter的简单使用。

一 录制脚本(必须在Request模式下)

1. 输入http://Wuxi.lashou.com

2. 点击前进->,启动录制

3. 输入×××,点击搜索

4. 点击Record,录制结束

Badboy自动化测试工具10 导出脚本用于JMeter性能测试_第1张图片

5.回放脚本,以确定脚本录制无误

6.点击File—》Export to JMeter

Badboy自动化测试工具10 导出脚本用于JMeter性能测试_第2张图片

7. 脚本命名为“Lashou_Search”.jmx, 点击Save,脚本导出成功。

Badboy自动化测试工具10 导出脚本用于JMeter性能测试_第3张图片

 

Badboyjmeter使用注意事项:

1 导出jmeter脚本的时候,脚本不被导出,因为jmeter无内嵌浏览器,jscrīpt元素无法执行.

2 data sources不被导出.

二 JMeter简介

  • JMeter,一个100%的纯Java桌面应用,它是Apache组织的开放源代码项目,它是功能和性能测试的工具。JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、Java对象、数据库和查询、ftp服务器或者其他资源)。原先Jmemer是为Web/HTTP测试而设计的,但是它已经扩展以支持各种各样的测试模块。它和用于HTTP和SQL数据库(使用JDBC)的模块一起运送。它可以用来测试静止资料库或者活动资料库中的服务器的运行情况,可以用来模拟对服务器或者网络系统加以重负荷以测试它的抵抗力,或者用来分析不同负荷类型下的所有运行情况。它也提供了一个可替换的界面用来定制数据显示,测试同步及测试的创建和执行。
  • JMeter 的特性:
    a) 能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC)。
    b) 完全的可移植性和100%纯Java。
    c) 完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
    d) 完全多线程框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
    e) 精心的GUI设计允许快速操作和更精确的计时。
    f) 缓存和离线分析/回放测试结果。
    g) 高可扩展性:
    h) 可链接的取样器允许无限制的测试能力。
    i) 各种负载统计表和可链接的计时器可供选择。
    j) 数据分析和可视化插件提供了很好的可扩展性以及以及个性化。
    k) 具有提供动态输入到测试的功能(包括Javascrīpt)。
    l) 支持脚本变成的取样器(在1.9.2及以上版本支持BeanShell)。

  • JMeter的下载地址:http://jakarta.apache.org/jmeter/usermanual/index.html

    如果你想执行JDBC测试,你当然需要从厂商得到适当的JDBC驱动。JMeter没有提供任何JDBC驱动。其它你可能需要下载的软件:

      · BeanShell

      · Java Activation Framework - JavaMail需要

      · Java Mail - mail 显示 and SOAP 测试需要

      · JMS - JMS 取样器

      · General Java download page

Badboy自动化测试工具10 导出脚本用于JMeter性能测试_第4张图片 Badboy自动化测试工具10 导出脚本用于JMeter性能测试_第5张图片

  • JMeter启动

      1. 配置安装JDK1.4 或更高版本。并设置JAVA_HOME环境变量。下载地址:http://www.oracle.com/technetwork/indexes/downloads/index.html?ssSourceSiteId=ocomen

      2. 解压缩到D盘下,点击bin下的Jmeter.bat

 Badboy自动化测试工具10 导出脚本用于JMeter性能测试_第6张图片

     3. 界面打开成功

Badboy自动化测试工具10 导出脚本用于JMeter性能测试_第7张图片

  4. 为方便对界面的熟悉度,可以将语言改为中文

Badboy自动化测试工具10 导出脚本用于JMeter性能测试_第8张图片

三. 运行Lashou_Search脚本测试性能

1. 打开JMeter会有一个默认的测试计划,点击文件-打开,选中录制的脚本文件如:Lashou_Search.jmx,

 Badboy自动化测试工具10 导出脚本用于JMeter性能测试_第9张图片

2. 命名测试计划为Lashou,同时可以自定义描述,

3. 重命名线程组为Search,点击保存

Badboy自动化测试工具10 导出脚本用于JMeter性能测试_第10张图片

4. 给Search线程组上添加监听器-聚合报告(用于分析测试结果)

Badboy自动化测试工具10 导出脚本用于JMeter性能测试_第11张图片

5. 命名为“Search_Aggregate report”,点击保存

Badboy自动化测试工具10 导出脚本用于JMeter性能测试_第12张图片

6.点击运行-启动或工具栏上的启动按钮,开始测试

7. 测试结果展示在聚合报告中

Badboy自动化测试工具10 导出脚本用于JMeter性能测试_第13张图片

  • Label:每个 JMeter 的 element (例如 HTTP Request )都有一个 Name 属性,这里显示的就是 Name 属性的值
  • #Samples:表示你这次测试中一共发出了多少个请求,如果测试计划模拟10个用户,每个用户迭代10次,这里就会显示100
  • Average:平均响应时间 — 默认情况下是单个 Request 的平均响应时间,当使用了事务控制器时,也可以以事务为单位显示平均响应时间。也就是说当一个request响应发送到服务端时服务器响应请求的时间是多少,然后将所有的时间平均的相应时间就是Average。
  • Median:中位数,也就是 50 %用户的响应时间
  • 90% Line: 90 %用户的响应时间
  • Min:最小响应时间
  • Max:最大响应时间
  • Error%:错误率,本次测试中出现错误的请求的数量 / 请求的总数
  • Throughput:吞吐量 —— 默认情况下表示每秒完成的请求数( Request per Second )
  • KB/Sec:每秒从服务器端接收到的数据量,请求从客户端发出给服务器端之后,服务器会返回给客户端经过处理的结果,这个数据量返回/时间,就是每秒从服务器端接收到的数据量。

 End!

附:Jmeter 使用之常见问题,转自 http://www.51testing.com/?uid-128005-action-viewspace-itemid-84094