Jmeter(五):脚本录制

作者: 倔强的潇洒小姐 | 来源:发表于2018-03-28 17:46 被阅读26次

    目录

    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查看脚本
    录制脚本.png

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

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

    查看结果树.png

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

    请求数据.png

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

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

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

    录制.png

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

    打开录制脚本.png
    关于badboy录制脚本时碰到的问题

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

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

    版本不一致.png

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

    循环次数失效解决办法.png

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

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

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

    插件放置png

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

    Fiddler导出Jmeter脚本

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

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

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

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

    手写脚本.png

    关于jmeter录制的说明

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

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

    badboy录制后导入的数据.png

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

    Fiddler导出的脚本

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

    相关文章

      网友评论

        本文标题:Jmeter(五):脚本录制

        本文链接:https://www.haomeiwen.com/subject/ddjrcftx.html