使用Jmeter录制脚本

相对于LoadRunner跟SilkPerformer来说,Jmeter确实有差距,但毕竟前两者太贵,Jmeter胜在免费开源。

先看下LoadRunner录制的脚本如下,美如画,结构清晰,易于修改编辑,比如做关联等。当然目前LoadRunner已经支持自动关联了,这样花在做脚本的时间会大幅减少

web_url("his", 
        "URL=http://www.baidu.com/his?wd=&from=pc_web&rf=3&hisdata=&json=1&p=3&sid=***&req=2&csor=0&cb=jQuery***", 
        "Resource=0", 
        "RecContentType=text/html", 
        "Referer=http://www.baidu.com/", 
        "Snapshot=t2.inf", 
        "Mode=HTML", 
        LAST);

下面我们来看Jmeter....

方法一: Jmeter自带组件录制

需要在test plan下面加两个组件,如下图

Recording Controller:

虽然叫Controller,但是你基本可以把它理解为一个接收器,不需要配置什么,你开始录制以后,所有录到的内容都会被它接收到。

HTTP(S) Test Script Recorder:

Jmeter自带帮助里,关于这个组件说了一大堆,我总结了一下

首先这是一个代理服务器,与Fiddler类似。所以当你用Jmeter录制的时候,需要设置你的浏览器代理。

然后你的Jmeter的代理也要设置相应的端口号,其他值默认即可开始录制

当你点击开始按钮之后,Jmeter会提示你生成了一个certificate文件在bin目录下面,你只要安装即可

录制完成结果如下,诸如百度这些命名都是我录制完成之后重命名的,Jmeter录制的时候只会生成类似637这种自增数列的命名

一共试了三个网站,百度,公司内部项目,还有公司内网

 需要说明的是,公司内部项目录制失败了,我看了下,Jmeter无法将该项目的hostname加到Jmeter自动生产的certificate文件的trust root下。

方法二: Badboy录制后导入Jmeter

只录制一个公司内部项目,只是为了证明Badboy更好用

做的操作是1.打开主页;2.登录;3.登出

导入到Jmeter之后:

可以看出Badboy录制出来一共是三个step,而到了Jmeter里面成了6个。Jmeter里面录制的脚本是基于Request请求的,而badboy是基于page的,基于page的更容易被理解。

而且badboy录制完成之后是可以加验证点的,推荐。

方法三: Chrome自带开发工具

点击录制之后,即可捕获所有的请求,然后右键另存为HAR文件

然后登录https://flood.io/har2jmx,将保存的数据转换成Jmx文件,再在Jmeter里面打开

只是做了个百度登录,然后截取了一部分,很长,包含了所有的图片以及css,js等,当然你可以手动的将所有session排列之后,过滤掉不需要的图片以及css,js等

方法四: Chrome插件BlazeMeter

 

点击录制,完成后可以导出为.jmx文件,然后导入Jmeter即可


暂时我只知道这四种方式录制Jmeter脚本,具体选择什么方式看个人喜好,我比较推荐Badboy。

最后,发现Jmeter录制的脚本不能做关联,这么一来这个页面脚本录制功能就很鸡肋了。

原文地址:https://www.cnblogs.com/ryansunyu/p/5715638.html