Jmeter使用代理服务器录制脚本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter使用代理服务器录制脚本相关的知识,希望对你有一定的参考价值。
Mark一下Jmeter使用代理服务器录制脚本,以备自己可以翻阅,也可以帮助其他人了解一下Jmeter的这个功能。其实录制脚本只是在我们工作中的一个小插曲而已,只是为了能快速看到应用程序跑的逻辑及实现的顺序,并能够帮助测试人员快速查出问题出现的节点,而对于做有针对性的测试时(比如做某个接口的测试),建议大家还是自己去创建及组织脚本,不过录制的脚本可以拿来做参考,粘贴复制也是可以节省不少的工作量,下面就介绍一下代理服务器的使用:
Jmeter使用代理服务器录制脚本可以应用在WEB上,也可以应用在手机app上。在web上使用时,需要设置浏览器的代理服务器,手机上使用时,需要设置手机的代理服务器。为了方便截图,我就以web端的使用为例来讲解,后面会简单介绍一下手机的设置:
1.首先在Jmeter端工作台下,添加HTTP代理服务器,右键添加就可以了
2.在HTTP代理服务器元件里设置相应的内容:
a. 名称,注释可以随便添加;
b. Global Settings 端口要设置一个未使用的端口,因为不管是手机还是WEB实际上都是使用的本地IP地址,所以端口要取一个本地机器上未占用的端口(例如我的机器9988),HTTPS Domains 添加https请求的域名,如果有多个中间用英文下的 "," 隔开;
c. test plan content: 目标控制器:该下拉选择要保存脚本的根节点,可以创建一个录制控制器,保存在录制控制器下(录制控制器的好处就是如果不喜欢可清空节点下录制的sampler重新再录一遍)
d. 分组有几种方式:不对样本分组(很好理解,就是请求什么就记录什么,也不会分组);在组间添加分隔(每一个sampler结束都会有分隔符间隔开);每个组放入一个控制器(每一个sampler请求开始时都会有一个简单控制器生成);只存储每个组的第一个样本(每个sampler请求时,如果有子请求那子请求是不会被记录的,只记录第一个URL请求的样本,这种情况虽然很多人说比较推荐,但是个人觉得会丢失许多重要的请求,建议大家还是视情况选择);put each group in a new transaction controller(每个sampler请求开始时都会生成一个事务控制器)。后面可以选择记录HTTP信息头,断言,正则表达式匹配,如果这些勾选上,那请求sampler的时候会生成信息头和断言,正则表达式这里的匹配我还没搞清楚,不知道用在什么情况,后期研究吧。
e. HTTP Sampler setting:跟http的请求设置一样的,如果不清楚的话,建议大家翻翻HTTP请求的文档
f. Content-type filter, 包含模式,排除模式,这里是正则表达式匹配的,这几项很有用,主要是筛选一下自己想要获取的各种请求。因为录制的时候浏览器会有许多其他不必要的请求,像图片,css,qq,360等等许多请求,那这里就可以做过滤操作,把一些不想要的请求筛选掉,有助于自己后期维护录制的脚本。
g.最后一项后台监听sampler,这个默认勾选,app后台运行的时候如果有请求,这里是有用的。
3. Jmeter设置完成了,然后开始设置浏览器,哪种都可以,我这里使用firefox做演示,浏览器需要设置一下代理,打开浏览器的选项设置,手动设置代理,ip一定要设置127.0.0.1(firefox一定要这样写,如果写localhost一点用没有,如果用chrome倒是可以的),端口设置为Jmeter里的端口,两边要保持一致的端口
4. 两边设置完成了,然后加到Jmeter代理服务器的设置界面,点击最下面的”启动“按钮。回到浏览器界面,输入我们要测试的web地址,然后Jmeter下就会有一系列的请求生成了
5. 这样录制就算完成了,后期脚本的维护工作量还是蛮大的~~~
另外,如果是有https的请求,并且有安全证书问题的时候,比如支付,还需要jmeter的ssl管理器加载相应的证书,要不然会通不过。后面再详细讲吧~~~今天先到这里了~~~~哦,还有手机的录制,很简单,就手机设置一下代理就可以了~~~
以上是关于Jmeter使用代理服务器录制脚本的主要内容,如果未能解决你的问题,请参考以下文章