----------------------------------------------------------------------------------------------------
环境
Badboy version 2.2
JDK: 1.8.0_25
Apache JMeter-2.12
----------------------------------------------------------------------------------------------------
代理所要完成的工作就是录制发往服务器的请求。
JMeter录制脚本有多种方法,其中最常见 的方法是用第三方工具badboy录制,另外还有JMeter自身设置(Http代理服务器+IE浏览器设置)来录制脚本,但这种方法录制出来的脚本比较 多且比较乱,个人更推荐使用Badboy进行录制,下面是两种方法的具体操作步骤。
注:使用JMeter的代理或是BadBoy进行录制的时候,特别是JMeter代理的时候,操作不能太快,不然容易造成录制失败。
(1)启动JMeter,在Windows中使用jmeter.bat,在UNIX上使用jmeter.sh
(2)选中测试树中的测试计划(Test Plan)
(3)用鼠标右键单击测试计划(Test Plan),添加一个新的线程组:Add->Thread Group,如图:
(4)选中线程组(Thread Group)
(5)单击鼠标右键,在弹出的快捷菜单中选择“Add”->"Config Element"->"HTTP Request Defaults"命令
(6)Server Name or IP:输入“jakarta.apache.org”
(7)Port Number:输入“80”
(8)Protocol:输入“http”,如图所示:
(9)选中工作台(WorkBench)
(10)用鼠标右键单击工作台并添加HTTP代理(Add->Non-test Elements->HTTP(S) Test Script Recorder)注:以前的版本叫HTTP Proxy Server
(11)Port域默认端口号为“8088”,如图所示,这一步骤指明了代理使用的端口号,也可以随意修改,修改前尽量通过netstat –ano命令查看一下本机正在使用的端口,不要重复使用,否则录制不到jmeter脚本
(12)单击“Patterns to Include”中的“Add”按钮,输入正则表达式“.*\.html”和“.*\.gif”过滤掉我们不要录制的内容或者只录制的内容
(13)所有设置完毕,单击底部“Start”,启动JMeter代理
(14)打开IE浏览器,选择“tools”->“Internet Options”->"Connection"->"Lan Settings"设置本机的代理,注意:端口号要一直,如果是其他机器,请修改IP地址。注意两台机器都要有JMeter
(15)在IE浏览器顶部的地址栏中,输入“http://jmeter.apache.org/index.html”,单击JMeter页面上的几个链接,关闭IE,手动停止代理,返回JMeter查看录制后的脚本
在代理中已经去图片格式的请求都过滤掉啦,这里录制到的只有其他格式的请求。
大家看到录制的脚本中有很多冗余的URL,一定要精简脚本,保证只有有效的URL发给服务器。
Badboy是一款不错web自动化测试工具,利用它来录制脚本,并且录制的脚本可以直接保存为JMeter文件来使用。
下载地址:http://www.badboy.com.au/download/add
1.打开badboy工具,在地址栏目中输入被测试项目的地址
注意:badboy正常状态下是录制状态,为红色按钮,如图
录制完成后,点击工具栏旁边黑色按钮,结束录制。
2.选择“文件”--Export to Jmeter…
3.打开JMeter工具,选择“文件”-->“打开”选择刚才保存的文件(.jmx类型),将文件导入进来了。
录制的脚本一定要添加HTTP Cookie Manager,否则脚本运行失败,切记.
现在对于JMeter来 说,一个测试计划只能有一个Cookie管理器。因为当多个Manager存在时,JMeter目前还没有方法来指定使用哪个Manager.同时,一 个Cookie Manager中的存储的Cookie也不能被其他Cookie Manager所引用,所以同一个测试计划中不建议使用多个Cookie Manager.
添加cookie将保证每个用户使用不同的cookie,但是分享一份Http element,几乎所有的web测试都需要cookie的支持.