浅学Jmeter性能测试:使用代理服务器录制脚本

浅学Jmeter性能测试:使用代理服务器录制脚本,第1张

右上角设置->高级->系统->打开您计算机的代理设置->连接->局域网设置->勾选“为LAN使用代理服务器”->地址输入:127.0.0.1->端口输入:8888->勾选‘’对于本地地址不使用代理服务器->确定。

PS:设置代理时要关掉抓包工具,因为它也是一个代理服务器。

注:jmeter自带代理服务器

1、设置代理

启动Jmeter->测试计划->右键添加“非测试元件”->选择HTTP代理服务器->设置端口:8888->Test Plan Creation->  目标控制器选择“后面创建的自定义线程组”。

2、创建线程组存放脚本

测试计划->右键添加“Threads”->选择“线程组”->自定义线程组名称 ->保存。

3、提前设置过滤

通常会碰到录制完脚本后查看Jmeter有多余的请求,我们可提前设置过滤去掉不需要的请求。

在HTTP代理服务器页面,点击"Requests Filtering",找到“排除模式”后添加并输入多个正则表达式 ,每行一个(.*\.php.* 或 .*\.js.*  或 .*\.png.* 或 .*\.gif.* 或 .*\.txt.* )。设置完成后,再重新启动代理录制脚本即可。

PS:话说之前学到的正则表达式终于用上了~​

4、录制脚本

在jmeter代理服务器里“启动”服务器->弹出窗口点击ok->操作浏览器里目标网页->结束录制需要的模块后,点击jmeter“停止”,在Jmeter里查看脚本。

5、优化脚本

录制完成后,可能还存在一些漏网之鱼,可根据实际需要增删请求或配置。

PS:删除了多余的请求;配置了监听器-查看结果树后,有些请求失败了,添加了cookie管理器后全都请求成功。

注:B/S录制完脚本一定要添加cookie管理器

6、浏览器增加证书(如果有需求访问Https,无可省略)

右上角设置->高级->隐私设置与安全性->证书->受信任的证书颁发机构->导入->在jmeter文件夹 bin 目录下 选择证书(只要开启过代理服务器,都会生成证书)。

录制完成后,一定要记得关闭代理服务器,否则上不了网。问题来了,如何取消代理服务器的设置呢?

右上角设置->高级->系统->打开您计算机的代理设置->连接->局域网设置->取消勾选“为LAN使用代理服务器”->确定。

在JMeter中可以使用自身就带的HTTP代理服务器组件录制脚本,可以录制在WEB上的操作,也可以录制在手机App上的操作。

1、测试计划内包含的元件

添加元件操作步骤:

创建测试计划

创建线程组:选中“测试计划”右键 —>添加 —>线程(用户) —>线程组。

在线程组中,添加配置原件“HTTP Cookie管理器”组件:选中“线程组”右键 —>添加 —>配置元件 —>HTTP Cookie管理器。

说明:如果录制的操作包括 用户登录操作 ,则需要添加“HTTP Cookie管理器”,添加之后不需要任何配置,录制后,脚本中便保存用户登录的相关信息。

在测试计划下,添加非测试元件“HTTP代理服务器”组件:选中“测试计划”右键 —>添加 —>非测试元件 —>HTTP代理服务器。

在HTTP代理服务器组件下,添加监听器“察看结果树”组件:选中“HTTP代理服务器”右键 —>添加 —>监听器 —>察看结果树。

最终测试计划中的元件如下:

点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。

2、HTTP代理服务器的设置内容

在HTTP代理服务器组件中,我们需要编辑:

端口: 默认8888,一般使用默认即可。主要不能与本地其他服务的端口号冲突,否则启动不了。

HTTPS Domains: 我的理解就是,设置代理服务器的主机IP地址或者域名。因为在我们本地使用,一般就是 localhost 或者127.0.0.1即可,当然不填写也是可以的。(此填写的地址一定要能够连接外网)

设置目标控制器: 也就是录制的组件存储到什么位置。这个一定要选,下图中选择了存储到目标线程组中。

配置完的界面内容,如上图所示。

3、设置浏览器的代理服务器

每个浏览器都可以设置服务器的代理,以Chrome浏览器为例。【设置需要区分是否为局域网】

点击右上角的设置 —> 高级 —> 系统 —>最下面的‘’打开您计算机的代理设置‘’,点击右侧图标,就可以进入到代理服务器的设置页面了。

选要选中手动配置代理服务器,然后输入代理服务器的地址或者域名,还有端口号。

这里的配置,要和上面JMeter的HTTP代理服务器中的端口和HTTPS Domains的配置要对应上。

这样的话,浏览器中的操作,会先发送到JMeter中的HTTP代理服务器,在通过网络进行传输。这样JMeter中就可以录制下我们的操作,生成脚本了。

如下图所示:

4、录制脚本

以上内容设置完毕后,在浏览器地址栏中输入要录制脚本的地址。

然后在JMeter中的HTTP代理服务器界面,点击启动按钮。

提示:在HTTP代理服务器界面点击“启动”时,Meter将生成自己的证书。证书生成可能需要一些时间,在此期间,GUI将无响应。证书生成完成后,GUI将显示一个弹出对话框,其中包含根CA证书的详细信息,证书有效期为7天。该证书需要由浏览器安装,以便接受JMeter生成的主机证书。

如下图所示:

浏览器配置证书: 浏览器中导入证书 ,jmeter安装目录下的ApacheJMeterTemporaryRootCA.crt

        之后开始在网站上进行操作,所有操作发出的请求,都会录制到JMeter脚本中。

操作完成之后,到JMeter的HTTP代理服务器中点击“停止”,然后将浏览器的代理设置恢复原样即可。

不恢复的话,会导致你无法使用浏览器访问外网。

如下图所示:【录制时弹出的控制器,不用进行设置,关闭时 点击 停止 即可】

5、查看录制的脚本

在JMeter中我们可以看到已经 记录 了许多请求对应的信息,包括PHP、js、.jpg、.png、.txt等请求。

如下图所示:

我们可以看到,我们只进行了简单的几步操作,却录制这么的请求。是因为JMeter录制很多非关键性的请求,这就需要我们进行一些优化。

录制脚本的优化有两个步骤:

在录制的时候,做一些过滤和排除操作。

在录制后的脚本中手动优化,删除不需要的组件,增加自己需要的组件。

1)服务器名称或IP与目标网站不同的、无关的,可以删除。

2)js/css/png/jpeg等这类请求删掉。

3)没有传递任何数据的请求可以屏蔽掉,等流程能回放成功了,这些再删除。如果回放不成功,再一个一个打开,进行检查。

6、HTTP代理服务器的排除模式

在测试脚本中有一些录制的信息是没有任何作用的,所以我们在录制脚本的时候,就可以通过HTTP代理服务器的排除模式,排除一些不需要的请求信息,如css、gif、png等请求。

例如:

在包含模式添加填上 .*\.jsp,只在请求JSP文件时录制脚本。

这里通常都是设置JSP或者HTML,可以根据具体情况进行填写。

在排除模式处填上.*\.js ,在请求js文件时不录制脚本。

这里通常都是设置js、jpg、png、gif、css等,这些类型文件请求都是不需要录制的。

当然我们也可以点击添加建议排除按钮,会自动生成一个过滤的正则表达式。

如下图所示:

添加上这些时候,录制出来的脚本,多余的累赘会减少很多。

7、保存脚本

脚本录制完成后,需要进行脚本的保存。

把脚本保存到本地,可以分享给其他成员,进行查看、编辑、回放等操作。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/220192.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-06
下一篇2023-04-06

发表评论

登录后才能评论

评论列表(0条)

    保存