如何使⽤JMeter⾃⾝代理录制测试脚本
录制脚本只不过是我们⽇常⼯作中的⼀个⼩应⽤⽽已(对!就是玩⼉!),只是为了能快速看到应⽤程序跑的逻辑及实现顺序。并够帮助测试⼈员,快速查出问题出现的节点。
⽽对于做有针对性的测试时,⽐如做某个接⼝的测试,建议⼤家还是⾃⼰去创建及组织脚本,不过录制的脚本可以拿来做参考,粘贴复制也是可以节省不少的⼯作量。
在JMeter中可以使⽤⾃⾝就带的HTTP代理服务器组件录制脚本,可以录制在WEB上的操作,也可以录制在⼿机App上的操作。
·录制在WEB上的操作时,需要设置浏览器的代理服务器。
· 录制在⼿机App上的操作时,需要设置⼿机上的代理服务器。
下⾯就详细的介绍,使⽤HTTP代理服务器组件录制WEB脚本。
我们以⼀个电商项⽬为例,录制如下步骤:
·登陆⽹站。
· 查看商品。
· 把商品加⼊购物车。
· 查看购物车。
1、测试计划内包含的元件
添加元件操作步骤:
创建测试计划。
创建线程组:选中“测试计划”右键 —> 添加 —> 线程(⽤户) —> 线程组。
在线程组中,添加配置原件“HTTP Cookie管理器”组件:选中“线程组”右键 —> 添加 —> 配置元件 —> HTTP Cookie管理器。
说明:如果录制的操作包括⽤户登录操作,则需要添加“HTTP Cookie管理器”,添加之后不需要任何配置,录制后,脚本中便保存⽤户登录的相关信息。
在测试计划下,添加⾮测试元件“HTTP代理服务器”组件:选中“测试计划”右键 —> 添加 —> ⾮测试
元件 —> HTTP代理服务器。
在HTTP代理服务器组件下,添加“察看结果树”组件:选中“HTTP代理服务器”右键 —> 添加 —> —> 察看结果树。
最终测试计划中的元件如下:
点击运⾏按钮,会提⽰你先保存该脚本,脚本保存完成后会直接⾃动运⾏该脚本。
2、HTTP代理服务器的设置内容
在HTTP代理服务器组件中,我们需要编辑:
端⼝:默认8888,⼀般使⽤默认即可。主要不能与本地其他服务的端⼝号冲突,否则启动不了。
HTTPS Domains:我的理解就是,设置代理服务器的主机IP地址或者域名。因为在我们本地使⽤,⼀般就是localhost或者
127.0.0.1即可,当然不填写也是可以的。(此填写的地址⼀定要能够连接外⽹)
设置⽬标控制器:也就是录制的组件存储到什么位置。这个⼀定要选,下图中选择了存储到⽬标线程组中。
配置完的界⾯内容,如下图所⽰:
3、设置浏览器的代理服务器
每个浏览器都可以设置服务器的代理,以Firefox浏览器为例。
点击右上⾓的设置 —> 选项 —> 常规 —> 最下⾯的⽹络设置,点击设置,就可以进⼊到代理服务器的设置页⾯了。
选要选中⼿动配置代理服务器,然后输⼊代理服务器的地址或者域名,还有端⼝号。
这⾥的配置,要和上⾯JMeter的HTTP代理服务器中的端⼝和HTTPS Domains的配置要对应上。
这样的话,浏览器中的操作,会先发送到JMeter中的HTTP代理服务器,在通过⽹络进⾏传输。这样JMeter中就可以录制下我们的操作,⽣成脚本了。
如下图所⽰:
提⽰:⼀定要勾选,“也将此代理⽤于FTP和HTTPS”选项。
4、录制脚本
以上内容设置完毕后,在浏览器地址栏中输⼊要录制脚本的地址。
然后在JMeter中的HTTP代理服务器界⾯,点击启动按钮。
提⽰:在HTTP代理服务器界⾯点击“启动”时,Meter将⽣成⾃⼰的证书。证书⽣成可能需要⼀些时间,在此期间,GUI将⽆响应。证书⽣成完成后,GUI将显⽰⼀个弹出对话框,其中包含根CA证书的详细信息,证书有效期为7天。该证书需要由浏览器安装,以便接受JMeter⽣成的主机证书。
如下图所⽰:
于配置证书,这⾥就不展开说明了。
之后开始在⽹站上进⾏操作,所有操作发出的请求,都会录制到JMeter脚本中。
操作完成之后,到JMeter的HTTP代理服务器中点击“停⽌”,然后将浏览器的代理设置恢复原样即可。
不恢复的话,会导致你⽆法使⽤浏览器访问外⽹。如何设置代理服务器
如下图所⽰:
5、查看录制的脚本
在JMeter中我们可以看到已经记录了许多请求对应的信息,包括PHP、js、.jpg、.png、.txt等请求。
如下图所⽰:
我们可以看到,我们只进⾏了简单的⼏步操作,却录制这么的请求。是因为JMeter录制很多⾮关键性的请求,这就需要我们进⾏⼀些优化。
录制脚本的优化有两个步骤:
在录制的时候,做⼀些过滤和排除操作。
在录制后的脚本中⼿动优化,删除不需要的组件,增加⾃⼰需要的组件。
1)服务器名称或IP与⽬标⽹站不同的、⽆关的,可以删除。
2)js/css/png/jpeg等这类请求删掉。
3)没有传递任何数据的请求可以屏蔽掉,等流程能回放成功了,这些再删除。如果回放不成功,再⼀个⼀个打开,进⾏检查。
6、HTTP代理服务器的排除模式
在测试脚本中有⼀些录制的信息是没有任何作⽤的,所以我们在录制脚本的时候,就可以通过HTTP
代理服务器的排除模式,排除⼀些不需要的请求信息,如css、gif、png等请求。
例如:
在包含模式添加填上 .*\.jsp,只在请求JSP⽂件时录制脚本。
这⾥通常都是设置JSP或者HTML,可以根据具体情况进⾏填写。
在排除模式处填上.*\.js ,在请求js⽂件时不录制脚本。
这⾥通常都是设置js、jpg、png、gif、css等,这些类型⽂件请求都是不需要录制的。
当然我们也可以点击添加建议排除按钮,会⾃动⽣成⼀个过滤的正则表达式。
如下图所⽰:
添加上这些时候,录制出来的脚本,多余的累赘会减少很多。
7、保存脚本
脚本录制完成后,需要进⾏脚本的保存。
把脚本保存到本地,可以分享给其他成员,进⾏查看、编辑、回放等操作。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论