性能测试--Jmeter录制、回放
Jmeter录制、回放
在jmeter2.1版本之前,jmeter应该是不支持录制和回放功能的,那时候如果需要录制jmeter的性能测试脚本的话,就需要使用第三方工具。现在jmeter已经支持脚本的录制功能了。
测试场景:
在必应(bing)搜索引擎中搜索关键字 python爬虫
1、录制示例:
步骤一,jmeter录制准备:
- 打开jmeter
- 点击Templated,选择Recoding模版
- 点击HTTP(S) Test Script Recorder
- 点击启动按钮
步骤二,代理服务器设置:(windows10)
- 通过设置 -> 网络和INTERNET -> 代理打开配置界面
- 打开使用代理服务器开关
- 地址文本框中填入:
localhost
,端口填入:8888(因为jmeter录制端的端口是8888)
,如下图所示
步骤三、打开浏览器(因为使用的代理服务器可能会遇见隐私设置被拦截问题,这个时候需要获取提示的证书,添加例外,即可继续访问)
-
打开浏览器的隐私模式。这是因为非隐私模式下浏览器发送请求时可能带有cookie,在录制过程中,我们是不希望已经保存的cookie对我们的录制过程产生影响
-
在地址栏中输入
www.bing.com、或者www.baidu.com
-
待页面加载完毕后,在搜索框中输入 pythonp爬虫
- 点击搜索
步骤四、收尾工作
- 关闭隐身窗口的浏览器
- 关闭windows10系统的http代理服务器配置
- 停止jmeter工作台里面的HTTP服务器录制工作
2、回放录制的脚本
在节点树的Thread Group下的Recording Controller下我们就可以看到刚刚录制的结果:
从上图我们可以看出,必应引擎在做搜索的时候,我们的客户端浏览器向服务器发送了很多的请求,这些请求大致分为下面几类
- 主要请求。比如打开必应首页的请求以及搜索python爬虫的请求
- 静态资源请求。
- 数据上报的请求
- 建议结果的ajax请求。每次我们输入不完整的关键字时搜索引擎都会返回给我们一些建议的结果,比如
/AS/Suggestions
这个请求就是从服务器返回建议结果的
在实际测试需求里,不需要精确模拟用户的行为,所以将搜索的主要请求之外的请求都删除掉,然后启动回放(实际上这个脚本的作用就是相当于在浏览器地址栏输入https://cn.bing.com/search?q=python+%E7%88%AC%E8%99%AB&qs=AS&pq=python&sk=8C1AS2&sc=9-6&cvid=17152F18B5014451AF214B666A3887D1&FORM=QBLH&sp=5):