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

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

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

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

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 中取来的

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

源代码下载

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

个人广告

本人从事以下兼职: 请联系QQ:2464602531

1. 软件测试,自动化测试培训

2. 抓包程序开发, APP, HTTP, HTTPS, 网站抓包分析

3. Fiddler 工具培训

如果您看了本篇博客,觉得对您有所收获,请点击右下角的 [推荐]

如果您想转载本博客,请注明出处

如果您对本文有意见或者建议,欢迎留言

感谢您的阅读,请关注我的后续博客

 

Apache Jmeter 教程的更多相关文章

  1. Apache Jmeter教程(一) - 入门

    一.下载Jmeter 登录官网Jmeter下载,得到压缩包jmeter-5.0.tgz,下载地址:http://jmeter.apache.org/download_jmeter.cgi. 二.安装 ...

  2. 使用jmeter进行性能测试-Jmeter教程及技巧汇总 (转)

    http://www.jmeter.cf/loadtesting-jmeter.html 为什么使用jmeter, 它免费开源, 不断发展, 功能逐渐强大. 可以做功能,负载, 性能测试.一套脚本可以 ...

  3. 【转】Apache JMeter web性能测试实例

    Apache JMeter是可以对利用HTTP或FTP服务器的应用程序进行测试的工具.它是基于Java的,通过所提供的API它还具有高度可扩展性.典型的JMeter测试包括创建循环和线程组.循环使用预 ...

  4. Jmeter教程 简单的压力测试

    Jmeter教程 简单的压力测试:http://www.cnblogs.com/TankXiao/p/4059378.html

  5. Windows OS上安装运行Apache Kafka教程

    Windows OS上安装运行Apache Kafka教程 下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka. 简介 本文讲述了如何在 ...

  6. Apache JMeter安装

    Apache JMeter安装说明 1.       安装环境要求: Java版本 JMeter要求充分满足JVM1.3或更高. 操作系统 JMeter可以在当前任何一个已经部署了Java的操作系统上 ...

  7. 性能测试之--Apache JMeter安装

    Hi,今天给大家分享一下安装JMeter的相关内容~ Apache JMeter 是Apache组织的开源项目,是一个100%纯Java桌面应用,用于压力测试和性能测试. 它能够对HTTP.FTP服务 ...

  8. Apache Jmeter(1)

    Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域. 它可以用于测试静态和动态资源例如静态文件. ...

  9. 使用Apache JMeter进行SQL优化性能测试

    一. 前言 最近在公司里做性能测试,对于一张大概400万数据的表,进行全表扫描往往会比较费时,更不要说有若干这样的表格级联进行检索了.为了能够在不影响生产环境的前提下进行SQL的性能优化,需要首先利用 ...

随机推荐

  1. linux(centos)安装升级ruby

    参考文章:http://www.ruby-lang.org/zh_cn/documentation/installation/ 文章给出了不同平台的多种方法.我的是centos,我选择了一个比较简单的 ...

  2. PMP 考试 形式

    200 道单选题- 考试时间为4个小时(上午9点到下午1点) 1年4次考试时间 2017年 3月18 6月24 9月9 10月9 考试费用3300 PMBOK

  3. Java NIO-3

    http://itindex.net/detail/55603-java-nio-%E6%8A%80%E6%9C%AF

  4. SPFA算法 O(kE)

    主要思想是:     初始时将起点加入队列.每次从队列中取出一个元素,并对所有与它相邻的点进行修改,若某个相邻的点修改成功,则将其入队.直到队列为空时算法结束.     这个算法,简单的说就是队列优化 ...

  5. STL中优先队列的使用

    普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除.在优先队列中,元素被赋予优先级.当访问元素时,具有最高优先级的元素最先删除.优先队列具有最高级先出的行为特征.我们来说一下C++的 ...

  6. 吴恩达-coursera-机器学习-week7

    十二.支持向量机(Support Vector Machines) 12.1 优化目标 12.2 大边界的直观理解 12.3 数学背后的大边界分类(选修) 12.4 核函数1 12.5 核函数2 12 ...

  7. UVALive 6909 Kevin's Problem 数学排列组合

    Kevin's Problem 题目连接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid ...

  8. MIPS Mars 安装

    Mars 4.5下载 Java 环境配置好了以后可以直接双击打开 Mars

  9. CentOS5内核版本2.6.18升级至3.6.4 转

    http://www.kvm.la/centos5-upgrade-kernel-3-6.html

  10. [C# 基础知识系列]专题八: 深入理解泛型(二)

    引言: 本专题主要是承接上一个专题要继续介绍泛型的其他内容,这里就不多说了,就直接进入本专题的内容的. 一.类型推断 在我们写泛型代码的时候经常有大量的"<"和"& ...