目录
1.Jmeter录制脚本的原理
2.Jmeter录制并优化脚本
3.Jmeter回放WEB脚本&联调
4.Jmeter WEB脚本参数化
把Jmeter作为代理服务器,客服端浏览器发送请求到Jmeter,然后Jmeter再把请求转发给服务器;服务器返回的数据传给Jmeter,经Jmeter返回给客户端浏览器。
2.1.测试计划-->线程组(前程贷登录--投资--退出)
2.2.工作台-->非测试元件-->HTTP代理服务器
Global Settings中设置要监听的端口号,例如:8888
Test Plan Creation-->目标控制器,选中录制的脚本要存放的位置,如下所示:
Requests Filtering-->排除模式,可以填写或选择要排除的模式,如下所示:
2.3.给浏览器设置代理
打开火狐浏览器-->网络设置-->设置,勾选"手动代理配置",填写HTTP代理和端口号,如下所示:
注意:如果不再使用Jmeter进行脚本录制,那么记得要把火狐浏览器的网络代理给设置回来,勾选“使用系统代理设置”。
2.4.点击"启动"按钮,开始录制脚本
2.5.录制前程贷的登录--投资--退出脚本
2.6.优化录制的脚本
经过以上步骤,我们可以明显看到脚本进行了成功的瘦身。
但是为什么第1和3可以删除掉,而第2个只能屏蔽掉呢?
脚本联调最重要的部分就是:让脚本顺利的跑动起来。
一个脚本从开始录制到最后可以参数化跑通,投入到压力测试中,还需要做很多的工作!
回放脚本,可以看到投资接口的响应数据为文本,回放不成功!
接下来我们查看投资接口哪些请求参数是手动填写的,哪些不是手动填写的。
其中,token是服务器返回的数据 ,我们需要从投资接口的前几个请求中,找到这个token来自于哪个请求。
这时,我们需要把之前屏蔽掉的接口重新启用,这也是我们在优化脚本的录制时,提到"没有传递任何数据的请求可以屏蔽掉",但并不删掉的原因!
线程组(前程贷登录--投资--退出)-->添加HTTP Cookie管理器
在接口"610 /loan/loan_detail/Id/20225.html" 返回的数据中,我们查找到了token值,然后将其它无关的请求屏蔽掉。
在接口"610 /loan/loan_detail/Id/20225.html"下添加一个正则表达式提取器,然后在投资接口的请求参数中引用它,${token},如果想要查看正则表达式提取器有没有提取到token值,可以添加一个Debug Sampler
察看结果树,可以看到投资接口请求成功,登录前程贷,查看是否多了一条记录!
首先来看登录接口,当用不同的用户去登录时,就需要创建多个HTTP请求,并且要手动添加手机号和密码,就会有些麻烦,这时我们可以对手机号和密码进行参数化,减少工作量!
然后来看投资接口,用户登录之后,可以投资多个标,每个标都会有唯一的标号,投资的金额也可以发生变化,所以投资的标的id和金额val也可以进行参数化!
下面我们来看个小案例:单个用户投资多个标,应该怎么进行参数化?
分析步骤如下: