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可以改默认语言为简体中文

你可能感兴趣的:(JMeter上手试用)