组件介绍
- Threads(Users):
setup Thread Group 相当于LR的init
teardown Thread Group相当于清除信息
Thread Group 虚拟用户组 - 逻辑控制器:控制流程
- 配置元件:如csv Data Set Config、数据库配置等
- 前置处理器:在请求前处理数据
- 定时器
- Sampler:FTP/HTTP/TCP等
- 后置处理器:正则表达式提取响应
- 断言:判断响应是否正确
- 监听器:查看结果树、聚合报告等
录制脚本
- Badboy –> export to jmeter
- 用jmeter代理服务器进行脚本录制:工作台:添加非测试元件→http代理服务器
参数化
- 函数助手_CSVRead的参数化功能相比CSV Data Set Config较弱;
- CSV Data Set Config适用于参数取值范围较大的时候使用,该方法具有更大的灵活性;
- User Defined Variables一般用于test plan中不需要随请求迭代的参数设置;
- User Variables适用于参数取值范围很小的时候使用;
关联支持
上一个请求的响应作为下一个请求的参数
- XPath Extrator:如果是元素的属性值,可以优先用XPath
- 正则表达式
计数器
- CSV Data Set Config
- ${_Random}
- Counter 在配置元件中,感觉挺好用,可以按照格式自增,比如001/002
HTTP属性管理器
- Http Cache Manager: Last-Modified、ETag、Expired
- Http Cookie Manager
- Http Header Manager
- Http Authorization Manager
- Http Request Defaults: 请求默认值,于设置其作用范围内的所有HTTP Request默认值
逻辑控制器
- 作用域只对其子节点sampler有效,作用是控制采样器的执行顺序
- 仅一次控制器:一个线程只执行一次,如登录
- 简单控制器:不做控制,只用来分类脚本
分布式测试
- Jmeter GUI模式下,最多支持300左右的模拟请求。如果需要模拟更大量,采用分布式压测
- 原理:
- 分布式测试中,选择一台作为管理机(Contorller),其他的机器作为测试执行的代理机(Agent);
- 执行测试时,由Contorller通过命令行将测试脚本发给Agent,然后Agent执行测试(不需要启动GUI),同时将测试结果发送给Contorller;
- 测试完成,可以在Contorller上的监听器里面看到Agent发来的测试结果,结果为多个Agent测试结果汇总而成;
- 步骤
- 打开Contorller机下jmeter安装文件下的bin目录:jmeter.properties文件,搜索remote_hosts=127.0.0.1,将Agent机的IP和端口写在后面
- 启动jmeter后,设置线程组、配置元件、取样器、监听器等原件,点击“运行-远程启动”
Linux非GUI模式测试
jmeter -n -t test.jmx -l test.jtl
-n 非GUI
-t 测试脚本
-l 日志文件,生成后可用jmeter打开
生成HTML性能测试报告
- 利用已有.jtl文件生成报告:jmeter -g test.jtl -o /path
- 无.jtl文件生成测试报告:jmeter -n -t test.jmx -l test.jtl -e -o /path
网友评论