[TOC]
>[success] ## 一:关于录制和回放功能
在JMeter2.1版本之前,JMeter应该是不支持录制和回放功能的,那时候如果需要录制jmeter的性能测试脚本的话,就需要使用第三方工具——[badboy](http://www.badboysoftware.biz/docs/jmeter.htm)。
<br>
<br>
>[success] ## 二:测试场景
现在的测试场景是:在搜索引擎中搜索关键字`张三丰`。我们对搜索的结果并不关心,只要请求返回的状态码是200,我们就认为该请求是成功的,有效的。
<br>
<br>
>[success] ## 三:准备录制
* 打开jmeter
* 选择线程组,然后在选择http代理服务器
* 启动
:-: 
**此时应该会出现下图所示的警告对话框,我们可以简单的忽略掉,此警告不影响我们本节内容的准确性**
:-: 
完成了以上的步骤之后,我们就成功的启动了jmeter的http代理,下面我们需要对配置系统,使得系统的http请求都通过jmeter代理发出。
*注意:如果启动代理的过程中遇到意外,请参考[这里](https://wiki.apache.org/jmeter/TestRecording210)解决*
<br>
<br>
>[success] ## 四:配置HTTP代理
>[info] ### 4.1Mac OS 系统
* 系统偏好设置 -> 网络 -> 代理 -> Web代理(HTTP)
* web代理服务器填写`localhost`,端口填写`随意`,如下图所示
:-: 
:-: 
<br>
<br>
<br>
<br>
* 保存配置
>[info]### 4.2Windows 系统
Windows 10
* 通过**设置 -> 网络和INTERNET -> 代理**打开配置界面
* 打开**使用代理服务器**开关
* 地址文本框中填入`localhost`,端口填入`随意`,如下图所示
:-: 
<br>
<br>
>[success] ## 五:开始录制
* 打开chrome浏览器的隐私模式。这是因为非隐私模式下浏览器发送请求时可能带有cookie,在录制过程中,我们是不希望已经保存的cookie对我们的录制过程产生影响的;
* 在地址栏中输入`www.baidu.com`
* 待页面加载完毕后,在搜索框中输入`张三丰`
* 点击搜索
* 关闭chrome浏览器
* 关闭系统的http代理配置(**切记**)
* 在节点树的Thread Group下的Recording Controller下我们就可以看到我们录制的结果了,如下图所示
* 若看到录制的请求中有过多的其他信息,我们可以进行排除模式。过滤掉CSS、PNG等后缀的请求
:-: 
最后,请注意,运行脚本时需要添加 HTTP Cookie 管理器 与 HTTP Cache Manager,否则运行会报错
:-: 
