jmeter目前有两种方式来录制脚本:1.使用badboy录制;2.使用jmeter代理录制
本贴记录使用jmeter代理录制
步骤:
在Jmeter需要操作步骤:测试计划--->添加--->线程组
右击线程组--->添加--->逻辑控制器--->录制控制器
右击线程组--->测试计划--->非测试元件--->HTTP代理服务器(目标控制器选择:测试计划--http代理服务器),完成对代理服务器的添加。
![](https://img-blog.csdnimg.cn/img_convert/88d5f4d161904721468e39bb6cead6d4.png)
jmeter代理服务器功能界面:
端口:代理服务器的监听端口,默认是8080,可以自己修改,只要不和其他的端口冲突就可以
目标控制器:录制脚本存放的位置,我选择的是测试计划,http代理服务器。意思是将脚本保存在测试计划中http代理服务器下。
分组:对请求进行分组
![](https://img-blog.csdnimg.cn/img_convert/06757933b0ee8d63c5a654803245f788.png)
记录http信息头:自动录制request 的head信息,不需要额外单独配置。
添加断言:录制时,自动加入空的检查点,录制完成之后需要手动添加检查内容。
regex matching:录制时加入空的正则匹配进行关联,录制完成后需要手动添加正则表达式,这压根我们就能知道哪里需要关联。
![](https://img-blog.csdnimg.cn/img_convert/1f09582cd64ac596b2760b1eba59fe82.png)
type:选择服务器对应的http client的版本
自动重定向:选中后在发送http请求后,如果响应是301/302,jmeter就会自动重定向到新的页面。
use keepalive:选中之后,jmeter和目标服务器之间使用keep alive方式进行http通信,也就是在一个请求超时以前,jmeter不会向服务器建立一个新的请求链接,这个选项默认是选中的。
从HTML文件获取所有包含的资源:选中时,jmeter在发出http请求并获得返回的HTML文件内容后,会获取HTML中包含的所有的资源(图片、flash等),默认是不选中的。
排除模式:录制的时候许多JS、CSS、PNG、GIF的路径都录制了进来,而这些对于测试脚本来说都是没什么用的,那就可以在代理服务器的排除模式中设置,脚本不记录这些内容。
包含模式:和排除模式相似,可以控制录制过程中是否录制一下其他元素。
在浏览器需要操作的步骤:设置--->搜索代理--->修改地址为127.0.0.1/localhost,端口号为8888,不使用代理服务器(前面的对号去掉)--->点击确定
![](https://img-blog.csdnimg.cn/img_convert/5e568644527faac3564de387ceada0a4.png)
![](https://img-blog.csdnimg.cn/img_convert/3d2454a7006ffb99be6925324e1a03c7.png)
![](https://img-blog.csdnimg.cn/img_convert/f03659598b045239db04006edcd63fc0.png)
![](https://img-blog.csdnimg.cn/img_convert/c2f9f59de99160d13fc514c25b9c8370.png)
注意:
在录制完成后,记得恢复浏览器原来的端口号,否则浏览器将会无法正常使用。
浏览器中的端口号应该要与jmeter中proxy server中的端口号一致。
端口号要避免与其他端口冲突。
如果在录制时无法录制,可以在userproperties中,修改proxy.cert.alias=anything来解决。
在jmeter中点击启动开启录制
![](https://img-blog.csdnimg.cn/img_convert/4d03242bfb0a62412c4ccb948a308046.png)
最后去要录制的地方发送请求即可。
录制结束后:
停止http代理服务器,右击录制控制器元件,将记录的元件保存为文件,用于以后重复使用。