JMeter介绍

JMeter是开源的性能测试工具和接口测试工具,工作原理和Loadrunner一样:作为浏览器和WebServer之间的网关,捕获Browser请求和WebServer响应,然后通过多线程模拟用户访问场景,监控系统资源的变化情况从而得到性能的情况。JMeter和Loadrunner相比,不存在质的差异,因其成本的低廉性而被广泛使用。
和Loadrunner等商业工具相比,优点是:成本低廉,灵活性和可扩展性高(加载插件,开放API,ANT自动运行,支持分布式),学习资源和渠道多(有较多学习资源和论坛讨论)。缺点是:对从业人员的要求更高,需要有良好的编程能力,英文能力和分析解决问题的能力。除了易用性,Loadrunner的支持协议更广,图形报表更强,并且支持IP欺骗。

Jmeter主要特点

  1. 多协议支持
  2. 可通过录制回放实现
  3. 100%纯Java应用程序,具备高可移植性
  4. 高可扩展(开源代码,多种插件)。

测试元件

  • 测试计划:测试脚本的根节点,设置整个脚本的基础配置,比如用户定义变量。
  • 线程组:虚拟用户池。
  • 逻辑控制器:控制采样器执行逻辑。
  • 采样器:请求的基本单元,每一种采样器都有多种参数可供设置,用于向服务器发出特定请求并在超时前等待服务器响应。测试人员还可以在采样器的级联节点添加多个配置原件来定制采样器,如果不添加,则采用默认配置。采样器可以是逻辑控制器的子节点,也可以和逻辑控制器处于同一层级。
  • 断言:采样器/逻辑控制器的子节点,验证服务器返回结果是否满足需求,断言的结果可在监听器中查看。如果父节点是逻辑控制器,断言对父节点下的所有采样器都生效。
  • 监听器:收集和展示测试结果,有多种图形展示,监听器可以在任何地方添加,仅收集相同或者更低级别测试元件的数据。
  • 配置元件:设置脚本配置信息,有作用域并且子配置元件的优先级高于父配置元件,作用域规则和断言一样。
  • 定时器:作为采样器或者是逻辑控制器的子项,可让作用域内每一个采样器都在执行前等待一个固定时长,多个定时器的时长会叠加共同影响。
  • 前置处理器&后置处理器: 对执行范围内的采样器,在执行前和执行后做相应的处理
  • 工作台:保存暂时不需要使用的测试元素

测试元件执行顺序规则

  1. 配置元件
  2. 前置处理器
  3. 定时器
  4. 采样器
  5. 后置处理器
  6. 断言
  7. 监听器

逻辑控制器和采样器按照在测试树中出现的顺序执行,其他测试元件依据自身的作用域范围来执行,同一范围内出现,则按先后顺序执行。

线程组配置

ramp-up period: JMeter达到最大线程数需要多长时间.eg: 如果线程数设置为10,ramp-up period设置为20就意味着每2s启动一个线程,20s内启动所有线程并让他们运转起来。如果设定的太短,测试的初始阶段会给予服务器过大的压力;设 定的太长,第一个线程执行完毕的时候最后一个线程可能还没有启动,如何找到合适的Ramp-up? 建议初学者先设置ramp-up=总线程数,后续在根据情况适当调整。如果ramp-up不填,则默认为0,意味着立即启动所有线程。

循环次数和调度:用户亦可配置调度器,启动时间/结束时间搭配使用,JMeter会在每一次循环结束以后查看是否到达结束时间,如果没有,则启动下一轮循环。延迟时间和持续时间搭配使用,当这两个选项启用后会自动的忽略启动时间/结束时间。

Delay Thread creation until needed

JMeter变量:参数化

如何参数化

JMeter属性

全局的属性和变量

高级使用

  • 安装目录层级
  • 配置修改
  • ANT自动运行
  • 插件扩展
  • API定制

JMeter基础知识的更多相关文章

  1. JMeter基础知识系列二

    1.从web服务或其他远程服务的角度来看,Jmeter很像是一款浏览器,但实际他并不是浏览器,Jmeter支持浏览器的部分操作.如:Jmeter不支持hmtl页面中包含的JavaScript脚本.处理 ...

  2. 【Jmeter基础知识】Jmeter的三种参数化方式

    JMeter的三种参数化方式包括: 1.用户参数 2.函数助手 3.CSV Data Set Config 一.用户参数 位置:添加-前置处理器-用户参数 操作:可添加多个变量或者参数 二.函数助手 ...

  3. 【Jmeter基础知识】Jmeter响应断言和断言结果

    一.Jmeter创建一个响应断言 1.步骤:添加--断言--响应断,进入响应断言页面 2.断言内容:可以采用直接去搜索某些文本信息,或者可以去断言某个变量,如图 二.Jmeter创建一个断言结果 1. ...

  4. JMeter基础知识系列三

    JMeter测试结果字段的意义: Label:定义HTTP请求名称. Samples:表示这次测试中一共发出了多少个请求. Average:平均响应时长,当使用了Transaction Control ...

  5. JMeter基础知识系列一

    1.Jmeter简介: Apache Jmeter可以用于对静态和动态的资源(文件.web动态语言-PHP.java.ASP.net.java对象.数据库和查询.FTP服务器等)的性能进行测试.最初用 ...

  6. 零成本实现WEB性能测试(二)JMeter基础知识

    特点: 支持多种服务类型进行测试,包括: Web-Http,HTTPS SOAP Database via JDBC LDAP JMS Mail-POP3 & IMAP 支持录制回放方式获取脚 ...

  7. Jmeter 接口测试知识梳理——应用基础篇

    Jmeter 使用也有很长时间了,但是一直没有做一下知识梳理,近期会对公司同事做一下这方面的培训,借此机会,把使用过程中应用到的知识,或是遇到的问题,整理出来,方便大家学习! Jmeter 接口测试知 ...

  8. JMeter性能测试的基础知识和个人理解

    JMeter性能测试的基础知识和个人理解 1. JMeter的简介   JMeter是Apache组织开发的开源项目,设计之初是用于做性能测试的,同时它在实现对各种接口的调用方面做的比较成熟,因此,常 ...

  9. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

随机推荐

  1. change the walltime for currently running PBS job (qalter pbs)

    qalter jobid -l walltime=X e.g.qalter 377470.manager -l walltime=2222:00:00qalter: Unauthorized Requ ...

  2. 安装64位版Oracle11gR2后无法启动SQLDeveloper的解决方案

    安装64位版Oracle11gR2后发现启动SQL Developer时弹出配置java.exe的路径,找到Oracle自带java.exe后产生的路径“C:\app\用户名\product\11.2 ...

  3. 用sql的select语句从数据库中获取数据

    基本的select语句 select语句中的算数表达式和NULL值 列的别名 使用连接符操作,literal character strings,alternative quote operator, ...

  4. MemSQL Start[c]UP 2.0 - Round 1(无聊练手B题)

    http://codeforces.com/contest/452/problem/B   B. 4-point polyline time limit per test 2 seconds memo ...

  5. 《易货》Alpha版本项目展示

    一.团队成员和个人博客地址 PM:董元财 开发人员:胡亚坤,董元财,刘猛 测试人员:益西多吉,马汉虎 团队名:bestRW 团队博客地址:http://www.cnblogs.com/niceRW/ ...

  6. JAVA 大数据内存耗用测试

    JAVA 大数据内存耗用测试import java.lang.management.ManagementFactory;import java.lang.management.MemoryMXBean ...

  7. Json知识总结

    JSON对象是一个无序的"名称/值"对的集合它开始于“{”,结束于“}”.每一个属性名和值间用“:”提示,属性间用“,”分隔.一个数组开始于"[",结束于&qu ...

  8. Object Pascal 面向对象的特性

    2 面向对象的特性 在软件系统开发过程中,结构分析技术和结构设计技术具有很多优点,但同时也存在着许多难以克服的缺点.因为结构分析技术和结构设计技术是围绕着实现处理功能来构造系统的,而在系统维护和软件升 ...

  9. ganymedssh2 java执行linux命令

    需要下载ganymed-ssh2-262.jar package ganymed; import java.io.BufferedReader; import java.io.IOException; ...

  10. CSS3_边框属性之圆角的基本图形案例

    一.正方形 div{ background:#F00; width:100px; height:100px;}   二.长方形 div{background:#F00;width:200px;heig ...