Jmeter(五):脚本录制

目录

JMeter(一):基础概念
JMeter(二):配置元件
JMeter(三):变量参数化
JMeter(四):监听器

本文提纲:3种脚本录制方法
一:使用原生的HTTP代理服务器
二:使用第三方软件badboy录制
三:通过Fiddler抓包导出Jmeter脚本
四:通过抓包工具(Fiddler、F12、FireBug都可以)手写脚本

方法一:使用原生的HTTP代理服务器

1、创建模板
通过菜单:文件 → Templates… → Recording →Create

工作台---非测试元件---HTTP代理服务器,默认端口8080,可自行修改,但不要与其他应用端口冲突
目标控制器:录制的脚本存放的位置,可选择项为测试计划中的线程组(根据实际来选择)

2、设置代理
打开IE/Firefox,不要关闭Jmeter

  • FireFox:点击工具(Tool) → 选项(Internet Options) → 高级(advanced) → NetWork(网络) → 设置(Settings)
    输入IP和端口号,勾选上【为所有协议使用相同代理 (Use this proxy server for all protocols)】
  • IE:工具 →Internet选项 → 连接 →局域网设置

3、录制脚本

  • 打开浏览器,在地址栏输入网址,然后回车
  • 在被测网站上点击操作
  • 返回Jmeter查看脚本
Jmeter(五):脚本录制_第1张图片
录制脚本.png

4、验证脚本
录制完之后,在测试计划之前我们需要对脚本进行验证
先保存测试计划,然后右键Thread Group选择Validate
检查结果树,看请求返回是否都ok

如出差申请页面,根据登录者信息获取部门信息,在请求页签可以看到是通过POST请求传递gonghao参数实现的,返回的请求码为200,响应数据页签显示的是部门信息

Jmeter(五):脚本录制_第2张图片
查看结果树.png

另外我们也可以看到出差列表页的请求参数以及每页显示的行数

Jmeter(五):脚本录制_第3张图片
请求数据.png

方法二:使用第三方软件badboy录制

下载:http://www.badboy.com.au

操作:
1、点击红色按钮,地址栏输入被测地址,录制完成点旁边黑色按钮,结束录制,选择 File---Export to Jmeter

Jmeter(五):脚本录制_第4张图片
录制.png

2、打开Jmeter工具,在文件---打开(.jxm类型),不需要的页面可以删掉或者禁用

Jmeter(五):脚本录制_第5张图片
打开录制脚本.png


关于badboy录制脚本时碰到的问题

1、提示脚本错误
解决办法:
(1)直接点击脚本提示“是”即可
(2)IE浏览器,在Internet选项>高级属性>浏览器标签>选中禁止脚本调试

2、版本不一致
解决办法:排查badboy和jmeter版本不匹配,把badboy升级到最新版

版本不一致.png

3、录制后的脚本,在导入Jmeter后会使线程组的循环次数失效
解决办法:先将循环控制器改成其他任一类型控制器,然后再改回来

Jmeter(五):脚本录制_第6张图片
循环次数失效解决办法.png

PS :badboy脚本里设置好的东西(比如参数化、检查点)是不会带到jmeter里的,只能录制基本的东西,导入到jmeter里还需要重新调试

方法三:通过Fiddler抓包导出Jmeter脚本

1、下载插件, 密码:rthd
将FiddlerExtensions.dll、FiddlerExtensions.pdb 放置到Fiddler的安装目录下的ImportExport里面

Jmeter(五):脚本录制_第7张图片
插件放置png

2、抓包
3、导出抓包请求为jmx格式,点击File,选择 Export Sessions ,根据需求选择 All Sessions 或者 Selected Sessions,在弹出框的下拉菜单中选择JMeter,然后保存即可
4、在JMeter中打开jmx文件

Jmeter(五):脚本录制_第8张图片
Fiddler导出Jmeter脚本

PS:导出的jmeter脚本是不包含Thread Group的,需要自己创建Thread Group,然后在运行脚本查看结果进行分析

方法四:手写脚本(推荐)

如果是通过Fiddler工具抓包,参数需要特别注意下,因为Fiddler是抓取id的name值,而Jmeter是通过id值的

如图:新增加班单页面的申请人和姓名的id不一样,name相同,按照Fiddler抓到的数据填入Jmeter后,运行查看请求数据发现申请人是空值,后来修改请求申请人姓名的名称再次运行,结果正确

Jmeter(五):脚本录制_第9张图片
手写脚本.png


关于jmeter录制的说明

既然玩jmeter就不要太依赖于录制了,况且jmeter本身对录制的支持不是特别好,还会产生很多无关的请求的数据,导入Jmeter后还需要手工去筛选

如下图通过badboy录制后导入到Jmeter,发现很多参数名称前面都加了0

Jmeter(五):脚本录制_第10张图片
badboy录制后导入的数据.png

下图通过Fiddler工具导出脚本,导入Jmeter后端口和IP显示在一起的,需要人工删除下,不然运行直接失败了

Jmeter(五):脚本录制_第11张图片
Fiddler导出的脚本

建议学会手写请求,基本都是界面操作,程度不难。
相反,录制看似简单,其实会给后期的脚本调试增加很多麻烦

你可能感兴趣的:(Jmeter(五):脚本录制)