JMeter上手试用

概念

(百度百科 JMeter ) Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

环境搭建

  • 基于java开发, 所以必须的JDK环境是要的, 在此基础上下载JMeter
  • 下载完成后解压, 打开bin目录, 双击执行 jmeter.bat


    正确的运行结果

界面大致介绍

这里是英文版的, 大家也可以对应找汉化的

  1. Test Plan (测试计划)
  2. Threads (Users)线程 用户
  3. 测试片段(Test Fragment)
  4. 取样器(Sampler)
  5. 逻辑控制器(Logic Controller)
  6. 配置元件(Config Element)
  7. ...
    这里就略过简介了, 可以自行搜索相关介绍.

脚本录制

JMeter的脚本录制, 大致是两类: 一个是JMeter自身设置代理录制, 另一个是借助其他工具录.
web测试的脚本工具有 Badboy
这里要介绍的是通过Fiddler抓包录制, 适合App脚本录制.
关于Fiddler抓包的操作技巧, 这里就不介绍了. 主要讲怎么结合JMeter操作, Fiddler本身是不能导出JMeter格式的脚本, 所以要先对Fiddler动个手脚:

  • 下载扩展插件 提取密码 wby5
  • 打开本地Fiddler安装目录, windows10 默认是C:\Users\Administrator\AppData\Local\Programs\Fiddler, 打开里面的ImportExport, 粘贴进去


    目录
  • 重启Fiddler
  • 之后可以设置手机代理, Fiddler抓取App操作的网络请求后, 过滤出需要的请求, 点击 "File -> Export Sessions" 导出JMeter脚本


    导出操作
  • 用JMeter打开刚才导出的文件即可操作.

操作技巧

  • js处理器
处理器

处理器分Pre/Post, 前置/后置处理器, 看意思能猜到是对请求的前/后做处理.
经常使用的场景就是处理请求里面的参数加工, 比如参数加密, 生成校验码...JMeter可以支持Java的jar和JavaScript的执行.
这里说下JS的执行, 我们可以添加前置处理器 JSR223 PreProcessor.


JSR223 PreProcessor

添加后选择脚本语言js, 然后在Script面板写上我们要执行的js方法(其他js的复杂操作大家可以去找下相关资料). 配合 Log Viewer 可以查看调试执行结果.
顺便提下js里面的JMeter变量"vars", vars的本质是Map, 可以使用put("xxx", abc), get("xxx"), 用来设置值和取值. 这在我们下面将要用到的管理器里面很有用.

  • 请求头管理器

右击线程组添加请求头管理器 Header Manager.


请求头管理器

这里的设置会对我们发起的请求自动加上这个值, 达到自定义请求头header设置的效果.
在管理器面板添加参数, value对应的是我们需要从js处理后的值, 用${xxx}取vars里面put进去的值.

  • 请求默认设置

右击线程组添加请求默认设置 RequestDefaults.


请求默认设置

这个面板管理的是所有http请求发起的默认设置. 这里要提下的是高级设置Advanced里面(Proxy Server)可以设置代理IP和端口, 可以代理到Fiddler去验证我们的脚本测试结果.

PS

JMeter安装目录bin文件夹下有JMeter的属性设置jmeter.properties


jmeter.properties编码设置

JMeter默认是ISO-8859-1, 如果使用过程中请求产生乱码, 可以在这里设置编码格式: 去掉注释#, 把值改为UTF-8.


改默认语言

类似的, 去掉language的注释, 改成zh_CN可以改默认语言为简体中文
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,348评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,122评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,936评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,427评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,467评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,785评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,931评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,696评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,141评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,483评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,625评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,291评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,892评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,741评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,324评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,492评论 2 348

推荐阅读更多精彩内容

  • 在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对于CPU和内存的消耗比较大,所以,当需...
    燕京博士阅读 4,162评论 0 16
  • 主要文体来自 CDNS:https://www.cnblogs.com/ceshisanren/p/5639895...
    Amano阅读 10,976评论 3 27
  • 想象一下如果我们的眼睛有透视功能,那我看到的对面的人可能是个骨头架子吧,而本章我们说得是透视一本书,其实就是从一本...
    baiying阅读 232评论 0 0
  • 快到年末了,也在整理自己拍摄的一些东西,我这个人,一直过得马马虎虎。做事情又没有那么仔细,干脆以后的时间轴就以年为...
    skulltuotuo阅读 506评论 2 4
  • 讲讲Java里计数器问题,对于理解原子性很有帮助。 线程安全的计数器 与 线程不安全的计数器 直接上代码,代码里实...
    昵称全尼马被注册了阅读 656评论 0 0