Jmeter脚本录制--HTTP代理服务器

时间:2024-01-25 18:24:28

Jmeter脚本录制功能依赖第三方工具Badboy,所以在安装了Jmeter之后,还需要再安装一个工具。

Badboy本身自带浏览器,相关操作只能在Badboy上进行操作,偶尔可能会遇到浏览器兼容的问题导致录制失败。

有没有不需要安装第三方工具,不限制浏览器兼容的方法呢?

HTTP代理服务器

Jmeter自带的组件-HTTP代理服务器来进行脚本的录制,此功能可以录制Web/APP端的脚本。

一、录制Web端的脚本

本次使用的是Jmeter 5.0版本,chrome浏览器

1.浏览器设置

设置-高级设置-打开代理设置-局域网设置-代理服务器

地址可以是localhost或127.0.0.1,端口与HTTP代理服务器端设置的端口号一致

2.Jmeter添加-线程组

用于指定脚本录制路径

3.Jmeter添加-HTTP代理服务器

测试计划>右键>添加>非测试原件>HTTP代理服务器

 

端口:

默认为8888,可修改。但要注意,端口不能被其它程序占用,端口信息要与浏览器设置保持一致。

cmd.exe中使用如下命令检查端口使用情况:

1)netstat -an    --列出本机所有使用端口信息

2)netstat  -aon|findstr "8888"  --查询端口是否被占用

3)tasklist|findstr "8888"  --查询对应端口被什么程序占用

目标控制器:

录制脚本存放路径,可指向第2步创建的线程组(测试计划>线程组)

分组:

录制脚本时会增加很多节点,为了便于查看与管理,可以对这些节点进行分组

可选值有:不对样本分组、在组间添加分隔、每个组放入一个新的控制器、只存储每个组的第一个样本、将每个组放入新的事务控制器中

记录HTTP信息头:将Header头信息录制下来

添加断言:录制时加入空的断言,后需需要手工增加断言内容

Regex Matching:是否使用正则表达式匹配断言。应用时需要增加一个正则表达式提取器。

HTTP Sampler settings:

Prefix-为录制脚本增加前缀,配置为登录,脚本展示为,参见图中登录5、登录9;

Tracnsaction name-为录制脚本命名,配置为首页加载,脚本展示为,参考图中11 首页加载。

通过此配置,可以手工将脚本进行分组,便于后需查看和编辑。

Type:生成那种类型的取样器,可选值有HTTPclient4、java和空。

历史版本默认为JAVA,不知什么时候改为默认空了。

从HTML文件获取所有内含的资源:是否从HTML文件获取所有内含的资源。

自动重定向:当遇到重定向,自动跳转,不记录重定向过程请求。

跟随重定向:默认勾选,当遇到重定向时,记录重定向过程请求。

使用KeepAlive:默认勾选,对应Http响应头中的Connection:Kepp-Alive

Requests Filtering请求筛选

通过此功能筛选掉不必要的请求,Jmeter会把js、png、swf及动态请求全部录制下来,会有很多冗余脚本。

Content -type  filtert:通过Content-type进行筛选。常见的包含application/x-www-form-urlencoded、text/xml、application/json、multipart/form-data等。

排除模式:可以添加URL、路径等信息作为排除项

Notify Child Listeners of filtered samplers:通知筛选的采样器的子侦听器,匹配一个或多个排除模式的任何响应都不会传递给子侦听器。

4.启动代理服务器

点击“启动”,(首次加载较慢)会提示Root CA certificate Apache Jmeter TemporaryRootCA Created in Jmeter bin directory:

此消息只是让用户信任JMeter proxy的身份,有两种方法都可以解决

1)直接在浏览器录制时选择信任发来的证书;

2)提前将JMeter Proxy的Root CA证书导入浏览器,完成信任,再开始录制动作。

不过忽略也可以,在浏览器中进行相关操即会被记录下来。

5.应用

本地可以访问系统并录制脚本,外网访问会受限制,浏览器去除代码设置后返回正常。

日常接口测试,如果不想手工录制信息到Jmeter,也可以通过此方式进行录制。

​二、录制APP端脚本

其实在电脑端的设置和Web录制中的设置都是一样的,只不过在APP端需要设置代理。

通过无线网络设置代理,计算机开启wifi,手机连接,保证手机连接的网络与电脑网络在同一局域网内。

无线设置》WLAN》链接对应的无线网络》点击链接的无线网络》配置代理

与Web端配置类似,服务器IP配置为电脑IP,端口与HTTP代理服务器中的设置的一致

配置完成后,就可以进行相关录制操作。