目的: jmeter 是一个开源性能测试工具,也是必须要掌握的,基础级别看网上的视频,高级的需要实践。
百科:Apache JMeter是Apache组织开发的基于Java的压力测试工具。
保存聚合报告:保存文件的后缀是 .jtl
响应时间单位:毫秒
1.Jmeter的特点:
可以对 http 和 ftp 进行压力和性能测试,也可以对数据库进行同样的测试。(JDBC)
数据化和可视化的插件
2.录制脚本(两种方法):
第一种:使用工具 badboy ,下载地址:http://www.badboy.com.au/
录制时经常报:当前页面的脚本发生错误,这个就一直点击”是“就好了,因为可能是工具和浏览器不兼容,但不会影响我们录制的脚本。
录制完成后点击 file—>Export to JMeter,格式是jmeter能够失识别的格式(.jmx)
第二种:代理
操作比较复杂,老师不建议使用这个方法。
3.自动化测试badboy脚本开发
1.设置检查点。结束脚本后,选中搜索的内容—>tools—>Add Assertion for Selection,然后在回放一下看是否成功。
2.参数化-文本(目的就是为了替换)
1)建立参数化列表
在 Variables 处右键—>New Variable,填写参数化的名字 和 value 值,value值可以写多个,其他默认
2)在请求中替换${参数名称}
发送搜索关键字的请求
如何知道具体替换哪个参数,要根据具体的业务,自己要知道业务的请求都传了哪些参数。
设置完参数化之后,要回放,我们设置了2个参数值,就要回放2次,如何设置回放次数呢?
3)中文可能有乱码,设置一下请求的编码格式就好。
回放时产生了乱码现象,这时候考虑编码不一致的问题,看请求里面的编码值,把utf8 改为 gbk.
检查点没有跟着参数化变化 ,也要设置一下参数化的名称,点击右键修改即可。
3.参数化-数据库
需要在本地安装JDBC的源,设置数据源,此处不深入研究
4.badboy中的并发
tools—>Run Background Threads
5.badboy中的报告
View—>Report
视频 7—Jmeter元件的作用域和执行顺序
作用域取决于 元件的层次结构
执行顺序:
配置元件
前置
定时器
sampler
后置
断言
监听器
视频8—参数化
1:把在badboy导出的脚本.jmx 格式的,在Jmeter中打开、
2:优化脚本,把step1中的请求拖到上面,然后把 step1禁用掉
3:点击请求,把 ”自动重定向“ 勾掉,不要选中 ,把域名不一样的请求禁用掉
4:在线程组中添加 监听器”查看结果树“
5:运行脚本在结果树的响应数据中没有发现小强,去改请求参数,把乱码改成 小强,重新运行可以找到搜索的结果,目前环境就调通了
参数化:
第一种:右键添加前置处理器-用户参数,添加变量和用户,去参数里面替换
第二种:文件里面写参数替换,右键添加配置元件-CSV Date Set Coding ,写上文件的绝对路径,文件里面的参数回车分开,编码不写,变量名字
视频9—集合点
增加并发,准确的模拟并发,
右键-定时器-Synchronzing Timer,放的位置放在业务前面
视频10—断言
作用:对你响应的结果做一个判断
涉及到添加断言和断言结果
视频11—动态关联
两种方式:1:正则 2:xpath(一般xml用的比较多)
以 webtours 为例,看LoadRunner
什么东西需要关联?要在哪个请求去找?
正则都是在括号里去写
视频12—图形监控扩展
使用扩展插件 JmeterPlugins-Standard-1.2.zip,下载地址:http://jmeter-plugins.org/downloads/all/
资源监控软件:(server agent)需要部署
视频13—测试web程序
步骤;
1)badboy录制
2)导入到 jmeter
3)参数化、检查点、集合点
4)指标监控、资源监控
5)报告(可以导入到 xls,然后自行生成报表)
视频14—测试ftp
视频15—数据库
select 一个表
首先要添加数据库驱动,把 mysql-connector-java.jar放在jmeter的 lib目录下,再在测试计划下方添加
然后添加配置,在配置元件里面
一般修改配置最后四行
database URL : jdbc:mysql://ip:3306/Hainan_dcms
JDBC Driver class : org.git.mm.mysql.Driver com.mysql.jdbc.Driver
username
Password:
然后添加jdbc请求
视频16—分布式
1)关闭防火墙
2)步骤
2.1) A是主机器,BC是负载,ABC 都有安装jmeter
2.2) 在压力机上运行 jmeter- server文件
2.3)找到 A机器的 jmeter.properities 文件的 remote,修改配置
2.4)运行了A机器上的jmeter,运行——>远程启动;或者 直接选择 “远程全部启动”