Apache JMeterJmeter性能测试工具Jmeter

JMeter上手试用

2018-03-20  本文已影响67人  爱在蔓延中

概念

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

环境搭建

界面大致介绍

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

  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动个手脚:

操作技巧

处理器

处理器分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可以改默认语言为简体中文
上一篇 下一篇

猜你喜欢

热点阅读