无法通过第三方工具进行录制脚本的时候,可以选择JMeter自带的HTTP代理服务器进行录制。
1、添加HTTP代理服务器
启动JMeter后,在工作台添加HTTP代理服务器
2、代理服务器详细说明
代理服务器详细说明:
1)名称:代理服务器名称,可以自定义
2)注释:对此代理服务器的说明,可自定义,默认为空
3)Global Settings
A)端口:JMeter代理服务器端口,需要检查端口是否被占用
B)HTTPS Domains:https协议要监听的域名,如访问www.example.org,可以用*.example.org来表示
4)Test plan content
A)目标控制器:下拉选项,表明在哪个模块下面保存录制的请求,建议增加【录制控制器】,在【录制控制器】下保存录制的请求,如图:
B)分组:下拉框;对录制的请求按照一定方式进行进行分组,一般默认使用【不对样本分组】即可
C)记录http信息头、添加断言、Regex matching:勾选框;记录每个请求的request header、断言、正则表达式匹配等,录制一般使用默认勾选就行
5)HTTP Sampler settings
A)Type:http采样器的type类型,默认为空
B)Prefix:对每个录制的http请求的前缀命名,默认为空,则录制的请求会按照数字递增的方式进行命名,如:0,1,2......
C)自动重定向:勾选框;表示请求是否自动重定向
D)跟随重定向:勾选框;表示请求是否跟随重定向
E)User KeepAlive:勾选框;表示此http请求的TCP链接是否保持不中断
F)从HTML文件获取所有内涵的资源:勾选框,表示是否获取html文件中的资源信息,录制时一般默认不勾选
6)Content-Type filter
A)Include:Content-Type的白名单,表示那些Content-Type可以通过
B) Exclude:Content-Type黑名单,表示那些Content-Type被拒绝
7)包含模式:表示哪些请求信息会被录制,如:*.html
8)排除模式:表示那些请求信息不会被录制,可点击Add suggested Excludes使用默认排除方式,如下图,表示.bmp、.css、.gif等后缀的相应信息不会被录制
包含模式&排除模式 就是我们需要的和我们不需要的。一般情况下,我们只需要排除我们不需要的。
格式:
.*\.css 排除css文件," .* " 匹配任意字符的意思 " \ "是转义的意思
.*\.js 排除js文件
.*\.png 排除png文件
9)Notify Child Listeners of filtered samplers:是否唤起过滤取样器的后台监听,默认勾选即可
3、配置代理服务器
服务器的配置,可以根据上面的代理服务器详细说明,根据需要配置不同代理模式。
4、查看代理服务器端口情况
A)Windows查看所有的端口
windows环境,进入到DOS窗口中输入【netstat -ano】按下回车,即会显示所有的端口占用情况。如图所示:
B)查询指定的端口占用
在窗口中,继续输入【netstat -aon|findstr "提示的端口"】,例如提示的端口为8088,那么就输入命令为【netstat -aon|findstr "8088"】,回车之后就可以看见列表中的PID,然后根据PID在电脑的任务管理器中查看对应的占用程序,接着进行关闭即可。
C)查询PID对应的进行进程
如果在上面步骤之后,我们得到的PID为968,那么我们就可以输入命令【tasklist|findstr "968"】,在第一行显示的名字就是程序名,这样我们就明白是那个程序占用的端口。 然后我们输入命令【taskkill /f /t /im 程序名】即可。
5、配置浏览器代理(Firefox)
配置浏览器(Firefox)的代理服务器 打开火狐浏览器 ---> 打开菜单 ---> 选项---> 常规 ---> 网络代理---> 设置:选择 手动配置代理,设置代理服务器为 本机 ,端口 8088 (端口与JMeter代理服务器中设置保持一致)
6、SSL问题
如果在录制过程中提示:SSL问题 ,那就需要安装SSL安全证书。
1)生成证书,在点击HTTP代理服务器的“启动”按钮后,弹出提示框:
提示我们,CA证书已经创建,在jmeter的bin目录下
2、安装证书(jmeter) 选择菜单栏“选项—SSL管理器”,再打开的对话框中选择bin目录下的证书,如图: