zoukankan      html  css  js  c++  java
  • Jmeter入门使用

    1. 什么是Jmeter

    转自:https://www.cnblogs.com/lijuanhu321/p/9537185.html#testComponent
    https://www.cnblogs.com/dongye95/p/9337998.html
    https://www.cnblogs.com/yuki-lau/archive/2013/04/20/3033010.html
    JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。



    2. 为什么使用JMeter

    • 开源免费,基于Java编写,可集成到其他系统可拓展各个功能插件
    • 支持接口测试,压力测试等多种功能,支持录制回放,入门简单
    • 相较于自己编写框架或其他开源工具,有较为完善的UI界面,便于接口调试
    • 多平台支持,可在Linux,Windows,Mac上运行



    3. JMeter工作流程





    4. JMeter下载安装运行

    1)JMeter 安装

    2)JMeter 运行

    • 进入到目录:D:jmeterJmeterapache-jmeter-2.9in,下运行jmeter.bat启动jmeter
    • 打开之后,是中文界面,如果需要展示英文界面,选项->选择语言->英语,即可。



    5. 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用户手册



    6. Jmeter相关插件安装

    7. JMeter主要测试组件

    转自:https://www.cnblogs.com/lijuanhu321/p/9537185.html#testComponent

    1. 测试计划(Test Plan)是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。
    2. 线程组(Thread Groups)线程组元件是任何测试计划的起点。代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。
    3. 控制器(Controller)分为采样器(Sampler)和逻辑控制器(logic Controller)。逻辑控制器(Logic Controller)可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。
    4. 监听器(Listener)负责收集测试结果,同时也被告知了结果显示的方式。
    5. 定时器(Timer)负责定义请求之间的延迟间隔。
    6. 配置元件(Config Elements)维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。
    7. 前置处理器(Pre Processors)负责在生成请求之前完成工作。常常用来修改请求的设置。
    8. 后置处理器(Post Processors))负责在生成请求之后完成工作。常常用来处理响应的数据。
    9. 断言(Assertions)可以用来判断请求响应的结果是否如用户所期望的。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常有用的。



    7.1 JMeter测试计划(Test Plan)

    测试计划可视化为用于运行测试的JMeter脚本。 测试计划由测试元素组成,例如线程组,逻辑控制器,样本生成控制器,监听器,定时器,断言和配置元素。
    测试计划包含执行脚本的所有步骤。 测试计划中包含的所有内容都按照从上到下的顺序执行,或者按照测试计划中定义的顺序执行。

    7.2 JMeter线程组(Thread Groups)

    一个测试计划的所有元件必须在一个线程组下。线程组元件控制JMeter运行测试时使用的线程数。Thread Group有三个和负载信息相关的参数:

    • Number of Threads: 设置发送请求的用户数目
    • Ramp-up period: 每个请求发生的总时间间隔,单位是秒。比如你的请求数目是5,而这个参数是10,那么每个请求之间的间隔就是10/5,也就是2秒
    • Loop Count: 请求发生的重复次数,如果选择后面的forever(默认),那么请求将一直继续,如果不选择forever,而在输入框中输入数字,那么请求将重复指定的次数,如果输入0,那么请求将执行一次。

    7.3 JMeter控制器(Controllers)

    控制器分为采样器(Sampler)和逻辑控制器(logic Controller)

    7.3.1 采样器(Sampler)

    采样器是允许JMeter将特定类型的请求发送到服务器的组件。它模拟用户对目标服务器的页面的请求。
    采样器是必须将组件添加到测试计划中的,因为它只能让JMeter知道需要将哪种类型的请求发送到服务器。JMeter取样器包括:

    • FTP请求
    • HTTP请求(也可用于SOAP或REST Web服务)
    • JDBC请求
    • Java对象请求
    • JMS请求
    • JUnit测试请求
    • LDAP请求
    • 邮件请求
    • 操作系统进程请求
    • TCP请求

    7.3.2 逻辑控制器(logic Controller)

    逻辑控制器可控制线程中采样器处理顺序的流程。 也可更改来自其子元素的请求的顺序。即逻辑控制器允许你定制JMeter何时发送请求。

    7.4 JMeter监听器(Listeners)

    性能测试就是以各种形式分析服务器响应,然后将其呈现给客户端。
    当JMeter的采样器组件被执行时,监听器提供JMeter收集的关于那些测试用例的数据的图形表示。它便于用户在某些日志文件中以表格,图形,树或简单文本的形式查看采样器结果。
    监听器可以在测试的任何地方进行调整,直接包括在测试计划下。JMeter提供了大约15个监听器,但主要使用的是表,树和图形。

    7.4.1 察看结果树

    用于查看请求结果,通过的测试通常为绿色。红色则代表失败。查看对应Sampler的测试结果的请求、响应数据。

    7.4.2 汇总报告

    提供了最简要的测试结果信息,同时可以配置将相应的信息保存至指定的文件中(支持xml、csv格式的文件)。单击Configure按钮,可以配置结果保存各种选项。

    7.4.3 聚合报告

    提供了最详细的报告,也是最为常用的报告。
    该监听器对于每个请求,它统计响应信息并提供请求数,平均值,最大,最小值,中位数、90%、95%、错误率,吞吐量(以请求数/秒为单位)和以kb/秒为单位的吞吐量。

  • 相关阅读:
    [LeetCode]230. 二叉搜索树中第K小的元素(BST)(中序遍历)、530. 二叉搜索树的最小绝对差(BST)(中序遍历)
    【二叉树-所有路经系列(根->叶子)】二叉树的所有路径、路径总和 II、路径总和、求根到叶子节点数字之和(DFS)
    [LeetCode]1083. 销售分析 II(Mysql,having+if)
    [LeetCode]196. 删除重复的电子邮箱(delete)
    [LeetCode]面试题62. 圆圈中最后剩下的数字(数学)
    [算法]十进制整数转八进制
    [LeetCode]534. 游戏玩法分析 III(Mysql)
    [LeetCode]Mysql小本本
    [LeetCode]Mysql系列5
    Java 冒泡排序的实现
  • 原文地址:https://www.cnblogs.com/itlihao/p/14338419.html
Copyright © 2011-2022 走看看