之前有记录过用bodbay这个地三方的插件来录制脚本,然后想了一下用jmeter本身来录制脚本,网上有很多人说jmeter录制的脚本会不稳定,当然,大家也可以用第三方插件录制,下面用jmeter 4.0的版本来录制脚本,然后实现压力测试。
录制前提:
1、下载好jmeter 4.0工具 (jemter3.0也可以录制,只是和jmeter4.0的区别在于UI发生了一点改变)
2、IE浏览器(能正常联网)
一、打开jmeter 4.0
1、添加线程组:点击测试计划,右键添加
2、添加代理服务器:点击测试计划->添加->非测试元件->HTTP代理服务器
PS:jemter3.0版本的添加方法是点击工作台添加
添加之后,页面如下:
端口可以是8888,也可以是其它的,只要不要和程序的端口有冲突就行。
3、添加录制控制器:点击线程组,右键添加
录制控制器页面如下:例如录制百度新闻页面,给录制控制器改了名字
然后点击HTTP代理服务器,切换到代理服务器配置界面,修改以下两处红圈位置。选择录制控制器
4、添加HTTP cookies 管理器:一定要添加这个,不然录制的时候会报错。
5、jmeter的相关设置好之后,下面设置代理浏览器(本文采用IE浏览器做例子,其它浏览器会下章记录)
6、打开IE浏览器属性,设置代理
局域网设置页面如下:
录制什么脚本就把地址给粘贴进去,然后设置代理服务器好本地的地址和端口,这里的端口要和jmeter的HTTP代理服务器端口一致,设置好之后,点击确定即可。
6、开始录制脚本,在jmeter工具中,点击HTTP代理服务器,点击启动
7、打开IE浏览器,在地址栏输入录制脚本的地址,然后就行相关的操作。
8、录制好之后,回到jmeter工具中HTTP代理服务器点击停止
ps:重点重点重点:刚刚将IE浏览器设置成代理了,如果脚本录制结束后,要将它设置成原来的样子,要勾选自动检测设置,然后去掉下面两个框的勾选即可,不然是访问不了外网的。
9、这时候,我们点击录制控制器会发现有很多行为已经被录制下来了。
10、HTTP代理服务器排除模式:
在测试脚本中有一些信息是没有任何作用的,所以我们在录制脚本的时候可以通过HTTP代理服务器的排除模式,排除一些不需要的请求信息,如css、gif、png等等。
例如:在包含模式处填上“ .*\.jsp ” ,只在请求jsp文件时录制脚本。(这里通常都是jsp html 根据具体情况进行填写)
在排除模式处填上".*\.js ",在请求js文件时不录制脚本。(通常js jpg png gif css php woff 这些类型文件都是不需要的)
添加上这些时候,录制出来的脚本,就只有自己需要的部分,没有多余的累赘。
二、运行录制的脚本
刚刚在上面已经录制了我们想要的脚本,现在用jmeter工具去测试这个脚本的性能:
1、设置好线程数和时间等,这里不解释了
2、点击线程组,右键添加查看结果树和聚合报告
2、点击测试计划或线程组,运行。(这时候不是HTTP代理服务器的启动,而是jmeter工具运行,注意区别下)
3、运行结束后,点击察看结果树,即可看到运行结果。还可以添加聚合报告等进行分析
区别:
如果是jmeter4.0的工具运行脚本的方法就是按照我上面的步骤,jmeter3.0工具和4.0的工具UI界面不太一样,jmeter4.0工具没有工作台了,直接合并在测试计划中了,下面是jmeter3.0录制好脚本之后运行方法:
把HTTP代理服务器下的录制控制器,拖拽到线程组下,并且给线程组添加一个结果树监听报告即可。
jmeter3.0和jmeter4.0的区别:
界面上:jmeter3.0有一个测试计划和工作台
jmeter4.0只有一个测试计划,没有工作台。相关设置都在测试计划中添加了
HTTP代理服务器:jmeter3.0是在工作台中添加,属于工作台下的子菜单
jmeter4.0是在测试计划中添加,属于测试计划中的子菜单,不是属于线程组的
jmeter4.0自身录制脚本就到这里