Jmeter入门实例

此文已由作者夏君授权网易云社区发布。

欢迎访问网易云社区,了解更多网易技术产品运营经验。

本文主要结合实例、利用图形方式简要介绍Jmeter基本功能,以便新人快速入手,希望能结合具体测试场景提高测试效率:

一、Jmeter简介

Jmeter是一款使用Java开发的,开源免费的测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试),而且用Jmeter 来测试 Restful API, 非常好用。

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

二、Jmeter安装与使用

Jmeter 下载和运行

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

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

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

三、Jmeter工具使用(实际例子)

eg:  获取【网易理财】-【基金】每日涨跌数据:

GET 请求:https://8.163.com/wyfund/getFundDailyGain.htm?fundCode=270001&page=1

response 中获取到基金每日涨跌信息. 比如:

result": [
{
"fundCode": "270001",
"dataDate": "2016-09-12",
"unitNet": 0.8501,
"cumulativeNet": 3.6661,
"dailyGain": -0.0241
},
{
"fundCode": "270001",
"dataDate": "2016-09-09",
"unitNet": 0.8711,
"cumulativeNet": 3.6871,
"dailyGain": -0.0023
}]

1、 新建Thread Group
如下图,选择控件创建(右键"测试计划",依次选择添加->Threads(Users)->线程租)

说明:必须新建线程租Thread Group,Jmeter的所有任务都必须由线程处理,所有任务都必须在线程组下面创建。

2、新建HTTPS Request

如下图,选择控件创建(右键"线程租",依次选择添加->Sampler->HTTP请求)

设置Get请求: https://8.163.com/wyfund/getFundDailyGain.htm?fundCode=270001&page=1,如图所示:

3、添加HTTP信息头管理器

如下图,选择控件添加(HTTP请求右键,依次选择添加->配置元件->Http信息头管理器)

参数设置如图:

4、 添加View Results Tree

如下图,选择控件添加(线程租右键,依次选择添加->监听器->察看结果树)

查看运行结果

运行,检查结果:

5、添加Assertion和Assert Results

如下图,选择控件添加(选择HTTP Request,右键,依次选择添加->断言->响应断言),添加测试值

如下图,选择控件添加(右键"线程组",依次选择添加->监听器->断言结果),查看断言执行的结果。

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

6、使用用户自定义变量

通过Jmeter中定义变量。 比如定义一个变量叫 fundCode. 使用它的时候用 ${fundCode};

如下图,选择控件添加(右键“线程组”,依次选择添加->配置元素->用户定义变量)

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

四、Jmeter简单的压力测试

1、使用CSV Data Set Config 来参数化

新建一个data.txt文件,参数数据放至txt文件中,一行有两个数据(分别表示fundCode、page),用逗号分隔。

如下图,选择控件添加(右键点击"线程租",依次选择添加->配置元件->CSV Data Set Config),填写相关数据:

2、添加HTTP Request.

Get请求:http://8.163.com/wyfund/getFundDailyGain.htm?fundCode={fundCode}&page={page}

如下图,选择控件添加(右键点击"线程租",依次选择添加->Sampler->HTTP请求),填写相关数据:

3、 使用线程租Thread Group, 控制模拟多少用户

说明:

a. 线程数:一个用户占一个线程, 200个线程就是模拟200个用户

b. Ramp-Up Period(in seconds): 设置线程需要多长时间全部启动。如果线程数为200,准备时长为10 ,那么需要1秒钟启动20个线程。也就是每秒钟启动20个线程。

c. 循环次数:每个线程发送请求的次数。如果线程数为200 ,循环次数为10 ,那么每个线程发送10次请求。总请求数为200*10=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本。

4、添加Summary Report 用来查看测试结果

如下图,选择控件添加(右键点击"线程租",依次选择添加->监听->Summary Report)

5、 运行,查看结果

五、利用Jmeter录制脚本

通过配置Web代理,利用jmeter录制脚本:

1、如下图,选择控件添加(右键点击"工作台",依次选择添加->非测试元素->HTTP代理服务器),配置端口-目标控制器-分组:

2、设置chrome浏览器的代理服务器。

3、浏览器中访问网站,相应请求进行录制。

说明:Jmeter中录制的脚本比较乱,可设置忽略某些请求,另外创建与录制可结合使用。

网易云免费体验馆,0成本体验20+款云产品!

更多网易技术、产品、运营经验分享请点击

相关文章:
【推荐】 使用Phaser开发你的第一个H5游戏(一)

原文地址:https://www.cnblogs.com/zyfd/p/9837162.html

时间: 2024-10-11 22:36:41

Jmeter入门实例的相关文章

【转】jMeter入门实例

人们对从认识事物都有一个具体到抽象的过程,学习Jmeter也不例外,通过一个实例来进行学习,一方面可以让初学者有所见即所得的信心,另一方面,其实也是在初学者心中留下了对这事物的一个朦胧的印象,这在以后的学习中,会不断地被深化. 所以,下面我们不对Jmeter的任何部件做任何详细的说明,而是通过一个例子,让大家了解这个框架.   一 前期准备 首先,你要去官方那里下载Jmeter的压缩包,官方地址是http://jmeter.apache.org/,另外,你的系统要配置好java环境,笔者写这篇文

DWR之入门实例(一)

DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-

React 入门实例教程

React 入门实例教程 作者: 阮一峰 日期: 2015年3月31日 现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.做出来以后,发现这套东西很好用,就在2013年5月开源了. 由于 React 的

Java AIO 入门实例(转)

Java7 AIO入门实例,首先是服务端实现: 服务端代码 SimpleServer: Java代码   public class SimpleServer { public SimpleServer(int port) throws IOException { final AsynchronousServerSocketChannel listener = AsynchronousServerSocketChannel.open().bind(new InetSocketAddress(por

FPGA入门实例一:LFSR

一:任务: 要求使用Verilog语言在Xilinx Virtex-6开发板上实现线性反馈移位寄存器(LFSR)的硬件逻辑设计. 二:前期准备: 基本上完成一个简单的设计需要用到以下几个软件 逻辑:Uedit32(硬件狗吐血推荐) 综合:ISE14.1 仿真:Modelsim SE 10.1b 分析:Chipscope Pro 三:设计流程 逻辑: 首先当然是RTL级设计,俗称硬件逻辑设计.使用的是Uedit32,这个软件相当于一个记事本,但编辑功能十分强大,简直是写Verilog代码的神器,具

php页面get方法实现ajax,入门实例教程

ajax,入门实例教程 本例针对php页面,做了一个小的demo加深对ajax的理解 1.文档结构: 共有ajax.php 和action.php 2个页面. 2.源码如下: /*ajax.php页面*/<!DOCTYPE html> <html lang="en"> <head> <title> ajax</title> <script type="text/javascript"> func

Omnet++ 4.0 入门实例教程

http://blog.sina.com.cn/s/blog_8a2bb17d01018npf.html 在网上找到的一个讲解omnet++的实例, 是4.0下面实现的. 我在4.2上试了试,可以用.照着做就能完成,有些小地方不同而已 Omnet++ 4.0 入门实例教程根据http://omnest.com/webdemo/ide 上的实例,自己动手做了做.新版本的4.0 跟它视频上的版本有些差别,配图说明一下我的操作过程,供大家一起学习.现在开始.首先,开发环境选择simulation 的视

freemarker入门实例与源码研究准备工作

首先去freemarker官网下载源码jar包,本文是基于freemarker-2.3.21.tar.gz进行研究的.解压源码包,找到freemarker的源码部分导入eclipse工程中.需要注意的是:freemarker的ftl文件解析使用javacc实现的,所以源码中没有解析类(FMParse.java).要想研究freemarker源码,往往还需要引入freemarker.jar(含有FMParse.class),否则源码会出现编译问题.另外,还需要引入的jar包有:commons-lo

Android HttpGet() 请求简单入门实例

HttpClient httpclient = new DefaultHttpClient(); String url = "http://example.com"; List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add( new BasicNameValuePair( "param", "value" ) ); URI uri =