以前录制jmeter脚本的时候,基本都是使用jmeter的代理来进行录制的,这个录制的过程设置代理的话,可能会出现一些问题,下面就介绍一个基于chrome浏览器插件的jmeter和Selenium 录制编辑回放工具:BlazeMeter
一、安装插件
可以科学上网的话,直接打开chrome浏览器,进入谷歌商店,在搜索框内搜索BlazeMeter。如下图:
然后谷歌浏览器右上角出现下面这个图标,则说明安装成功。
安装完成之后,需要登陆BlazeMeter,这里可以使用谷歌账户直接登陆,也可以自己注册一个。(过程可能需要科学上网)
二、使用插件录制jmeter脚本
1)打开你要录制的网页
2)打开BlzaeMeter界面,如下图所示:
3)点击开始录制按钮,并在网页开始操作。录制之前可以有一些高级设置,比如过滤一些css、images、JavaScript等。
4)你看到右上角的BlzaeMeter图标的数字一直变化,说明你的操作事件被录制到了。中间可以填写step来设定事务
5)录制完毕后,点击 ".jmx" 导出脚本.注意:这里会要求你先登陆,然后才能够导出脚本。
比如我录制了个http://blazedemo.com/ 的定制航班操作,录制完成后
可以选择Jmeter ->Edit your script 来编辑和修改debug或回放你的jmx脚本内容:
6)打开Jmeter,并导入刚刚你从chrome导出的脚本,看到你刚刚录制的脚本。
一切都完成,接下来就是你自己去利用Jmeter去操作啦!
在录制jmeter脚本的同时,插件也会自动录制selenium的脚本
整个过程,可能需要科学上网
三、使用录制好的jmx脚本
脚本虽然录制完成了,但是里面很多参数,我们可能需要进行一些参数化之类的。这里就需要我们用jmeter gui对脚本进行修改。
首先打开jmeter,然后打开录制好的脚本。对其中的登陆进行参数化。
jmeter一般有如下几种参数化的方法:
-
方法1:利用函数助手
有些对请求参数,不需要进行特殊的校验或要求,就可以利用jmeter自带的函数助手中的随机函数,每次请求产生不同的数字或字符串,如 ${__Random(0,100,)} 或 ${__RandomString(10,qwerfghhjjjjjjjkbbbbb,)} ,方便简单。 -
方法2:从文件中读取
右击选择配置元件->CSV Data Set Config,添加后,即可
一般是,一次请求中,多个参数是有一定的逻辑对应关系,此时需要提前利用代码构造好存入txt文件中。这样,jmeter每次请求就取一行的多个字段,下一次请求就取下一行的多个字段,保证了数据的有效性。
Allow quoted data:允许双引号内的数据作为参数,逗号分隔
Recycle on EOF:循环读文件
Stop thread on EOF:当不循环读文件时,结束线程,不结束则退出
注意:filename路径,在window上和Linux上不一样的!!!
将登陆的接口参数化之后,我们就可以开多线程进行并发测试了。