zoukankan      html  css  js  c++  java
  • 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游戏(一)

  • 相关阅读:
    macbook 无声音解决方案
    webapck dev server代理请求 json截断问题
    百度卫星地图开启
    服务器 nginx配置 防止其他域名绑定自己的服务器
    记一次nginx php配置的心路历程
    遇到npm报错read ECONNRESET怎么办
    运行svn tortoiseSvn cleanup 命令失败的解决办法
    svn add 命令 递归目录下所有文件
    m4出现Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib."
    Ubuntu下安装GCC,mpc、mpfr、gmp
  • 原文地址:https://www.cnblogs.com/zyfd/p/9837162.html
Copyright © 2011-2022 走看看