image-20210207181120872

官网地址:https://jmeter.apache.org/

什么是Jmeter

官网介绍:

1
2
The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test
functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.

翻译:

Apache JMeter™应用程序是开源软件,一个100%纯Java应用程序,设计用于负载测试功能性行为和度量性能。它最初是为测试Web应用程序而设计的,但后来扩展到其他测试函数中。

简单来说Jmeter是个开源的性能测试工具, 使用java实现。 起初Jmeter是为测试web应用而设计的, 在后来的发展中
Jmeter加入了其它的一些功能。

Jmeter能做什么

Apache JMeter 功能包括:

  • 能够加载和测试许多不同的应用程序/服务器/协议类型:
    • Web的HTTP,HTTPS(java,Nodejs,PHP,ASP.NET,…)
    • SOAP / REST Webservices
    • FTP 文件传输协议
    • Database via JDBC
    • LDAP
    • Message-oriented middleware (MOM) via JMS
    • 邮件传输协议 - SMTP(S), POP3(S) 和 IMAP(S)
    • 本地命令或Shell 脚本
    • TCP
    • Java Objects
  • 全功能测试IDE,允许快速记录测试计划(来自浏览器或本地应用程序),构建和 调试。
  • 基于Java开发,支持Linux、Windows、MAC OSX等平台。
  • 可以生成完整的动态HTML报告。
  • 通过从最流行的响应格式、HTML、JSON、XML或任何文本格式提取数据的能力,可以轻松地进行相关性。
  • 全多线程框架允许多线程并发采样,同时通过不同的线程组进行不同功能的同时采样。
  • 缓存和离线分析/重放测试结果。
  • 高度可扩展内核。

注意:Jmeter是Apache一款非常好的开源工具,而且一直也在积极的维护,不断的更新中,因此在学习的时候,我们还是要以官方文档为准。

Jmeter安装

前面已经介绍了Jmeter是基于Java开发的,它的运行同样依赖于Java环境。

  1. 安装Java

    1. 安装JDK8,下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

    2. JDK支持跨平台,可在各个操作系统中安装,接下来介绍在MacOS中安装:

      1. 下载完成,安装包:jdk-8uxxx-macosx-x64.dmg

      2. 双击安装,点击下一步,下一步

      3. 配置环境变量,安装位置:/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home

        1
        2
        3
        4
        5
        jingdeMacBook-Pro:~ apple$ cat ~/.bash_profile
        JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home"
        export PATH="$JAVA_HOME/bin:$PATH"
        export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
        export JAVA_HOME
  4. 刷新环境配置文件

     
1
jingdeMacBook-Pro:~ apple$ source ~/.bash_profile
5. 验证是否成功
1
2
3
4
jingdeMacBook-Pro:~ apple$ java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
  1. 下载Jmeter

    image-20210207182744990

    将zip包下载本地,并解压,进入目录,执行shell脚本即可启动Jmeter

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    jingdeMacBook-Pro:~ apple$ cd apache-jmeter-5.4.1/bin/
    jingdeMacBook-Pro:bin apple$ ./jmeter
    ================================================================================
    Don't use GUI mode for load testing !, only for Test creation and Test debugging.
    For load testing, use CLI Mode (was NON GUI):
    jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
    & increase Java Heap to meet your test requirements:
    Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
    Check : https://jmeter.apache.org/usermanual/best-practices.html
    ================================================================================


  2. 配置Jmeter环境变量

    • 现在启动Jmeter,需要进入到jmeter执行目录下,执行jmeter的shell脚本,这是非常不方便的,接下来,我们配置jmeter环境变量

      1
      2
      3
      4
      jingdeMacBook-Pro:bin apple$ cat ~/.bash_profile
      ……
      export jmeter_HOME=/Users/apple/apache-jmeter-5.2
      export PATH=$PATH:$jmeter_HOME/bin
    • 成功配置jmeter环境变量下,我们在iterm任意目录下输入jmeter,都可启动jmeter

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      jingdeMacBook-Pro:~ apple$ jmeter
      ================================================================================
      Don't use GUI mode for load testing !, only for Test creation and Test debugging.
      For load testing, use CLI Mode (was NON GUI):
      jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
      & increase Java Heap to meet your test requirements:
      Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
      Check : https://jmeter.apache.org/usermanual/best-practices.html
      ================================================================================



Jmeter目录

image-20210207184131599

  • bin: 其中放置了各项配置文件(比如日志设置、JVM 设置等)、启动文件 JMeter 启动快捷方式,报告生成快捷方式,Heap Dump 快捷方式等〉、启动 jar 包、示例脚本等。
  • docs: 放置了 JMeter API 离线帮助文档,Web 方式。
  • extras:扩展插件目录
  • lib:所用到的插件目录,jmeter会自动在JMETER_HOME/lib和ext目录下寻找需要的类
  • licenses: jmeter证书目录
  • printable_docs:用户使用手册目录

bin目录下的重要文件:

  • jmeter.bat:windows的启动文件
  • jmeter.log:日志文件
  • jmeter.sh:linux的启动文件
  • jmeter.properties:系统配置文件
  • jmeter-server.bat:windows分布式测试要用到的服务器配置
  • jmeter-server:linux分布式要用到的服务器配置

修改 jmeter.properties内容,进行对jmeter的配置,后面遇到详细的场景进行说明

由于jmeter启动运行是依赖于Java环境,因此会受JVM的配置影响,则需要调整JVM的配置,在jmeter.bat/jmeter.sh中进行修改

image-20210207185459765

查看Jmeter自带文档

JMeter自带的文档几乎面面俱到, 对于使用者来说有很好的指导意义, 不出意外JMeter的一切行为以官方文档描述为准, 大家不应该轻信第三方资料, 包括本书。

打开jmeter安装目录下的printable_docs目录, 进入该目录后打开index.html文件。其中, jmeter用户手册是必看的, 用户手册界面如下图所示:

image-20210207185658729

通过JMeter界面查看帮助文档

使用jmeter主界面帮助文档的场景是这样的: 如果你在jmeter左侧的节点树中遇到了某个节点, 你对该节点的用户有些疑问, 在这种情况下你可以选择该节点, 然后打开帮助菜单并打开帮助文档, 此事帮助文档会显示当前上下文的帮助信息。

下图就展示了在选择测试计划节点后打开帮助文档的情况, 此时帮助文档就会跳转到测试计划(Test Plan)条目:

image-20210207191440113

点击完成之后,浏览器会直接跳转到页面:

image-20210207191539371

总之从界面查看帮助文档的心法口诀是: 哪里不会点哪里。