Jmeter学习笔记九:Jmeter录制WEB脚本

目录

1.Jmeter录制脚本的原理

2.Jmeter录制并优化脚本

3.Jmeter回放WEB脚本&联调

4.Jmeter WEB脚本参数化


1.Jmeter录制脚本的原理

把Jmeter作为代理服务器,客服端浏览器发送请求到Jmeter,然后Jmeter再把请求转发给服务器;服务器返回的数据传给Jmeter,经Jmeter返回给客户端浏览器。

2.Jmeter录制并优化脚本

2.1.测试计划-->线程组(前程贷登录--投资--退出)

2.2.工作台-->非测试元件-->HTTP代理服务器

Global Settings中设置要监听的端口号,例如:8888

Test Plan Creation-->目标控制器,选中录制的脚本要存放的位置,如下所示:

Jmeter学习笔记九:Jmeter录制WEB脚本_第1张图片

Requests Filtering-->排除模式,可以填写或选择要排除的模式,如下所示:

Jmeter学习笔记九:Jmeter录制WEB脚本_第2张图片

2.3.给浏览器设置代理

打开火狐浏览器-->网络设置-->设置,勾选"手动代理配置",填写HTTP代理和端口号,如下所示:

Jmeter学习笔记九:Jmeter录制WEB脚本_第3张图片

注意:如果不再使用Jmeter进行脚本录制,那么记得要把火狐浏览器的网络代理给设置回来,勾选“使用系统代理设置”。

2.4.点击"启动"按钮,开始录制脚本

Jmeter学习笔记九:Jmeter录制WEB脚本_第4张图片

2.5.录制前程贷的登录--投资--退出脚本

  • 请求地址:http://120.78.128.25:8765/
  • 用户名:13916686542
  • 密码:520lemon

2.6.优化录制的脚本

  • js/css/png/jpeg等这类请求删掉
  • 没有传递任何数据的请求可以屏蔽掉
  • 与目标网站无关域名请求可以删除掉

经过以上步骤,我们可以明显看到脚本进行了成功的瘦身。

但是为什么第1和3可以删除掉,而第2个只能屏蔽掉呢?

3.Jmeter回放WEB脚本&联调

脚本联调最重要的部分就是:让脚本顺利的跑动起来。

一个脚本从开始录制到最后可以参数化跑通,投入到压力测试中,还需要做很多的工作!

  • 回放脚本,查看脚本是否跑成功(如何定义这个脚本是否成功?查看结果树还是查看web的结果?)
  • 回放不成功时,去查看每个请求的参数,哪些是我们手动填写的?哪些不是?
  • 在包含非手动填写数据的请求中,从前几个请求的返回结果里找数据
  • 利用者则表达式或JSON Path正则表达式去获取数据,并传递给第二步的请求参数
  • 再次回放,多次修改并联调,直至脚本顺利通过。

回放脚本,可以看到投资接口的响应数据为文本,回放不成功!

Jmeter学习笔记九:Jmeter录制WEB脚本_第5张图片

接下来我们查看投资接口哪些请求参数是手动填写的,哪些不是手动填写的。

Jmeter学习笔记九:Jmeter录制WEB脚本_第6张图片

其中,token是服务器返回的数据 ,我们需要从投资接口的前几个请求中,找到这个token来自于哪个请求。

这时,我们需要把之前屏蔽掉的接口重新启用,这也是我们在优化脚本的录制时,提到"没有传递任何数据的请求可以屏蔽掉",但并不删掉的原因!

线程组(前程贷登录--投资--退出)-->添加HTTP Cookie管理器

Jmeter学习笔记九:Jmeter录制WEB脚本_第7张图片

在接口"610 /loan/loan_detail/Id/20225.html" 返回的数据中,我们查找到了token值,然后将其它无关的请求屏蔽掉。

在接口"610 /loan/loan_detail/Id/20225.html"下添加一个正则表达式提取器,然后在投资接口的请求参数中引用它,${token},如果想要查看正则表达式提取器有没有提取到token值,可以添加一个Debug Sampler

Jmeter学习笔记九:Jmeter录制WEB脚本_第8张图片

Jmeter学习笔记九:Jmeter录制WEB脚本_第9张图片

察看结果树,可以看到投资接口请求成功,登录前程贷,查看是否多了一条记录!

4.Jmeter WEB脚本参数化

  • 为什么要做参数化?
  • 哪些参数需要做参数化?

首先来看登录接口,当用不同的用户去登录时,就需要创建多个HTTP请求,并且要手动添加手机号和密码,就会有些麻烦,这时我们可以对手机号和密码进行参数化,减少工作量!

Jmeter学习笔记九:Jmeter录制WEB脚本_第10张图片

然后来看投资接口,用户登录之后,可以投资多个标,每个标都会有唯一的标号,投资的金额也可以发生变化,所以投资的标的id和金额val也可以进行参数化!

Jmeter学习笔记九:Jmeter录制WEB脚本_第11张图片

下面我们来看个小案例:单个用户投资多个标,应该怎么进行参数化?

分析步骤如下:

  • 本地新建一个txt文件,保存需要投资的标的id
  • 线程组(前程贷登录--投资--退出)-->CSV Data Set Config,引入txt文件

Jmeter学习笔记九:Jmeter录制WEB脚本_第12张图片

  • 引入load_id

Jmeter学习笔记九:Jmeter录制WEB脚本_第13张图片

  • 投资接口中的投资金额,可以使用函数助手_Random生成 

Jmeter学习笔记九:Jmeter录制WEB脚本_第14张图片

  • 线程组循环次数,设置成3
  • 察看结果树,可以看到,3个标均投资成功!登录前程贷,查看是否需新增3条记录。

Jmeter学习笔记九:Jmeter录制WEB脚本_第15张图片

 

你可能感兴趣的:(jmeter学习笔记)