Jmeter性能测试 入门
原文:Jmeter性能测试 入门

Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率。

熟练使用Jmeter后, 能用Jmeter搞定的事情,你就不会使用LoadRunner了。

【小坦克Jmeter教程】,将会覆盖Jmeter的各个功能,并且会通过丰富的实例,让读者快速掌握Jmeter的各种用法 。

本文将通过一个实际的测试例子, 来讲解Jmeter的基本用法。本文的最后提供了本篇文章的脚本。 不喜欢看文章的同学直接看脚本也能看懂

阅读目录

  1. Jmeter介绍
  2. 如何学好Jmeter
  3. Jmeter下载和运行
  4. 实际测试的例子
  5. 第一步: 新建Thread Group
  6. 第二步: 新建HTTP Request
  7. 第三步: 新建HTTP Header Manager
  8. 第四步: 新建 View Results Tree
  9. 第五步: 运行测试,查看结果
  10. 第六步: 添加Assertion和Assertion Results
  11. 第七步: 使用用户自定义变量
  12. 第八步: 关联
  13. 源代码下载

Jmeter 介绍

Jmeter  是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试).

而且用Jmeter 来测试 Restful API, 非常好用。

如何学好Jmeter

如果你用Jmeter去对Web进行功能测试,或者性能测试。 你必须熟练HTTP协议,才能学好Jmeter。 否则你很难理解Jmeter中得概念。

不熟悉HTTP协议的话, 可以参考我的 【小坦克:HTTP 协议教程】

Jmeter  下载和运行

官方网站:http://jmeter.apache.org/

解压后, 运行  “bin/jmeter.bat”

Jmeter 是支持中文的, 启动Jmeter 后, 点击 Options -> Choose Language  来选择语言

实际测试的例子

目标: 获取城市的天气数据:

第一步: 发送request 获取城市的城市代号
http://toy1.weather.com.cn/search?cityname=上海

从这个请求的response 中获取到上海的城市代码. 比如:

上海的地区代码是101020100

上海动物园的地区代码是:  10102010016A

第二步:  发送request 到: http://www.weather.com.cn/weather2d/101020100.shtml   可以得到该城市的天气数据

第一步: 新建一个Thread Group

必须新建一个Thread Group,  jmeter的所有任务都必须由线程处理,所有任务都必须在线程组下面创建。

第二步:新建一个 HTTP Request

比如我要发送一个Get 方法的http 请求: http://toy1.weather.com.cn/search?cityname=上海

可以按照下图这么填

第三步 添加HTTP Head Manager

选中上一步新建的HTTP request. 右键,新建一个Http Header manager. 添加一个header

第四步: 添加View Results Tree

View Results Tree 是用来看运行的结果的

第五步:运行测试,查看结果

到这里。 我们已经成功运行起来了。

第六步:添加Assertion和Assert Results

选择HTTP Request, 右键 Add-> Assertions -> Response Assertion.  添加 Patterns To Test

然后添加一个Assetion Results 用来查看Assertion执行的结果.

选中Thread Group 右键  Add -> Listener -> Assertion Results.

运行后, 如果HTTP Response中没有包含期待的字符串。 那么test 就会Fail.

第7步: 使用用户自定义变量

我们还可以在Jmeter中定义变量。 比如我定义一个变量叫 city.    使用它的时候用  ${city}

添加一个 User Defined Variables.  选中Thread Group: 右键 Add -> Config Element -> User Defined Variables.

我们添加一个变量: city

然后在Http Request中使用这个变量

第八步:关联

所谓关联, 就是第二个Requst, 使用第一个Request中的数据

我们需要在第一个Http Requst 中新建一个正则表达式,把Response的值提取到变量中,提供给别的Http Request 使用

选择第一个Http Request, 右键 Add -> Post Processors -> Regular Expresstion Extractor

现在新建第二个Http Request,     发送到: http://www.weather.com.cn/weather2d/${citycode}.html

${citycode} 中的数据, 是从Regular Expression Extractor 中取来的

到这, 脚本就全部写好了, 运行下,看下最终结果

源代码下载

点击这里[小坦克]下载源代码

posted on 2016-07-18 10:53 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/5680422.html

Jmeter性能测试 入门相关推荐

  1. jmeter性能测试入门简介

    Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件.相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工 ...

  2. Jmeter性能测试入门(一)

    官网:http://jmeter.apache.org/ window 下点击jmeter.bat 打开. 打开时出现如下问题运行jmeter.bat时提示"not able to find ...

  3. JMeter性能测试入门

    JMeter是一款性能测试工具.个人认为与其说他是一个工具,不如说他是一个框架.因为JMeter的支持范围非常广,目前常见的需要进行性能测试的应用几乎都能应用(如:files, Servlets, P ...

  4. Jmeter 性能测试入门 ——性能插件介绍

    目录 一.前言 1.首先,JMeter提供了三个基本的线程组,分别为: 2.其他线程组可以通过集成插件的方式使用,包括: 二.集成插件下载安装 1.下载地址:jmeter-plugins.org 2. ...

  5. Jmeter Web 性能测试入门 (六):Jmeter 解析 response 并传递 value

    解析response中的内容,并把获取到的value传递到后续的request中,常用的方法就是在想要解析response的request上添加后置处理器 本章介绍两种常用的组件 BeanShell ...

  6. JMeter性能测试,完整入门篇(自己做测试了)

    原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件 ...

  7. 使用Jmeter对mysql进行性能测试入门

    使用Jmeter对mysql进行性能测试入门 第一步:测试环境准备: 1).mysql> select version(); +-----------+ | version() | +----- ...

  8. Jmeter Web 性能测试入门 (四):一个小实例带你学会 Jmeter 脚本编写

    测试场景: 模拟并发100个user,在TesterHome 站内搜索VV00CC 添加线程组 添加HTTP信息头管理器 添加HTTP Sampler 填写HTTP Sampler中的信息 添加监听器 ...

  9. (一)JMeter性能测试,完整入门篇:性能测试操作步骤

    原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 1. Jmeter简介 Apache JMeter是一款纯java编写负载功能测 ...

最新文章

  1. 行走在区块链上的智能合约
  2. python3 set 集合 简介
  3. 图像拾取点_10分钟看懂Photoshop 照片修饰(用“消失点”滤镜编辑照片)
  4. abap对采购订单强制置为”交货已完成“状态(BAPI_PO_CHANGE、BAPI_PO_RELEASE、BAPI_PO_RESET_RELEASE)
  5. sql server版本特性简介、版本介绍简介
  6. Spring Boot WebFlux 上手教程
  7. 181110每日一句
  8. 机器学习 声音 分角色_机器学习对儿童电视节目角色的痴迷
  9. python中sub的用法_Python Pandas Series.sub()用法及代码示例
  10. ecli中@Data标签getset不起作用
  11. 利用Python+云服务器+邮箱实现的个人待办事项提醒
  12. 如何优雅的创建一个Java不可变对象类,JDK源码中也是这么干的!
  13. 推荐 :如何全面解析数据并创造数据故事
  14. 蓝桥杯基础练习合集一(C语言) 1.A+B问题2.数列排序3.十六进制转八进制4.十六进制转十进制5.十进制转十六进制
  15. 在codesys中通过EtherCAT总线驱动IO模块
  16. 还我一个干净的Mac OS(如何彻底删除不需要的App)
  17. CSS scroll-behavior 属性 — 纯 CSS 平滑滚动
  18. 文理学院的数学计算机方向夏校,【陈老师说】计算机名校冲刺计划
  19. vue3组合式Composition API之setup函数的具体用法
  20. 方法的重载---(Java版)

热门文章

  1. python读文件的解码方式_跳过Python文件读取中的不可解码字符
  2. Bqq服务器的缓存文件放什么目录,如何使文件系统缓存失效? - How to invalidate the file system cache? - 开发者知识库...
  3. 中国对计算机科学与技术人才的需求,计算机科学与技术整体概况之人才需求分析_跨考网...
  4. 记录值上调10_「阴阳师」10月16日维护更新公告,海国迷踪,迷影重重
  5. 正则 不区分大小写_为什么要学正则表达式 7
  6. mysql远程连接工具 cen_Navicat远程连接Centos数据库Mysql
  7. .net new一个类为什么报空指针_谈谈.NET对象生命周期
  8. mysql库可以无限创建吗_mysql 创建库
  9. java排序的例子_Java的8大排序的基本思想及实例解读
  10. 用计算机能改装成万用表吗,用旧手机电池修改万用表