软件测试技术之(三)JMeter录制与回放
白羽 2018-07-20 来源 :网络 阅读 1308 评论 0

摘要:本文将带你了解软件测试技术之(三)JMeter录制与回放,希望本文对大家学测试技术有所帮助。

关于录制和回放功能

在JMeter2.1版本之前,JMeter应该是不支持录制和回放功能的,那时候如果需要录制jmeter的性能测试脚本的话,就需要使用第三方工具——badboy。

现在jmeter已经支持脚本的录制功能了,但录制的体验相对于badboy来说还是差了一些。不过聊胜于无,对于性能测试的入门者来说,录制回放功能可以让大家对性能测试脚本开发的过程有个非常感性的认识。

不过录制脚本始终只是减轻工作量的一个手段,新手同学千万不要认为学会了录制回放就等于是学会了性能测试,学会录制回放只能代表你有机会真正的入门性能测试,这只是起点,而不是终点。

测试场景

在本节中,我们的测试场景是:在必应(bing)搜索引擎中搜索关键字乙醇 selenium。我们对搜索的结果并不关心,只要请求返回的状态码是200,我们就认为该请求是成功的,有效的。

准备录制


打开jmeter
工具栏点击Templates… ,选择Recording模版
点击WorkBench节点下的HTTP(S) Test Script Recorder
点击启动按钮,如下图所示




此时应该会出现下图所示的警告对话框,我们可以简单的忽略掉,此警告不影响我们本节内容的准确性



完成了以上的步骤之后,我们就成功的启动了jmeter的http代理,下面我们需要对配置系统,使得系统的http请求都通过jmeter代理发出。

注意:如果启动代理的过程中遇到了一些意外情况,请参考这里解决



配置HTTP代理



Mac OS 系统


系统偏好设置 -> 网络 -> 代理 -> Web代理(HTTP)

web代理服务器填写localhost,端口填写8888,如下图所示





保存配置


Windows 系统

Windows 10


通过设置 -> 网络和INTERNET -> 代理打开配置界面
打开使用代理服务器开关
地址文本框中填入localhost,端口填入8888,如下图所示




Windows 7


通过 ** 控制面板 -> Internet属性 -> 局域网设**打开配置界面
地址文本框中填入localhost,端口填入8888,如下图所示






开始录制




打开chrome浏览器的隐私模式。这是因为非隐私模式下浏览器发送请求时可能带有cookie,在录制过程中,我们是不希望已经保存的cookie对我们的录制过程产生影响的;

在地址栏中输入www.bing.com

待页面加载完毕后,在搜索框中输入 乙醇 selenium

点击搜索

关闭chrome浏览器

关闭系统的http代理配置(切记)

在节点树的Thread Group下的Recording Controller下我们就可以看到我们录制的结果了,如下图所示






回放



从上图我们可以看出,必应引擎在做搜索的时候,我们的客户端浏览器向服务器发送了很多的请求,这些请求大致分为下面几类


主要请求。比如打开必应首页的请求以及搜索乙醇 selenium的请求
静态资源请求。比如cn.bing.com/fd/s/a/hp/bingcn.svg这个请求就是返回了必应的icon
数据上报的请求。比如/msnjv/counting这个请求就有可能是数据上报和统计的请求
建议结果的ajax请求。每次我们输入不完整的关键字时搜索引擎都会返回给我们一些建议的结果,比如/AS/Suggestions这个请求就是从服务器返回建议结果的


在做一般的性能测试的时候我们需要明确我们的测试场景,如果我们的测试场景是需要精确模拟用户的行动的话,那么我们在回放请求时候是可以回放静态资源及数据上报的,因为这时候你测试的所关注的点可能是整体系统,而不是某台服务器。如果你的测试场景只是需要模系统的主要业务——在我们的例子里就是搜索——,那么在回放前我们可以删除掉录制脚本中的一些非主要业务的请求——比如搜索建议及数据上报。

在我们的例子中,我们不需要精确模拟用户的行为,我们将搜索的主要请求之外的请求都删除掉。结果如下图所示。



将这个脚本保存为bing_search.jxm,然后点击运行按钮(就是最上面一排绿色的三角形)



查看结果



点击View Results Tree我们发现结果树里有2个项目,第1个项目是我们真正发出的请求,第2个项目是第1个项目所属的事物控制器的结果,该结果仅仅用于展示,不代表事务控制器也发送了请求,这点需要注意一下。实际上我们的回放过程只发送了1个请求。

在结果树里选择search请求节点,该节点上方有个下拉菜单,通过该菜单我们可以选择让请求结果以什么格式展示,默认是纯文本(Text)格式。由于search请求返回的是html文本,所以我们选择HTML。点击响应数据 tab,我们可以看到如下图所示的结果:



从第一印象上看,这个结果说明了我们请求的回放是正确的。

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试技术频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程