Jmeter录制脚本原理
脚本录制时,Jmeter作为代理网关,通过监听某个端口,来捕获监听端口的报文信息,对抓取到的请求信息和响应信息进行转换为对应的行为函数。我们这里以设置chrome代理为例,然后使用jmeter进行脚本录制工作,chrome代理的配置设置如下:
添加HTTP 代理服务器和录制控制器
打开Jmeter(版本是5.4.1),测试计划 右键>非测试元件>HTTP 代理服务器。
线程组 右键>逻辑控制器>录制控制器。
如下图:
我们在HTTP代理服务器中进行录制浏览器行为的相关工作,如下图:
点击上图中的启动按钮,会弹出如下对话框,告诉我们需要导入Jmeter的CA证书(原因是录制https网站的请求需要CA证书),Jmeter会在bin目录下为我们自动生成一个临时CA证书,但是这个证书的有效期只有七天!
备注:下面这三个文件如果过期,在bin目录下删除即可,重新进行录制后,又会自动生成。
ApacheJMeterTemporaryRootCA.crt
ApacheJMeterTemporaryRootCA.usr
proxyserver.jks
点击后,就可以进行录制了,在浏览器中输入百度,但是遗憾的是,同学们大概率会出现下面的错误页面!
如何解决呢?我们需要在chrome中导入jmeter的 ca证书。
在chrome中导入Jmeter生成的临时CA证书
在chrome中的设置中,选择隐私和安全>安全>管理设备证书。
一定选择下图中的受信任的根证书颁发机构。
一定选择下图中的受信任的根证书颁发机构。
一定选择下图中的受信任的根证书颁发机构。
重要的话说三篇,默认是第一个“个人”tab,在这个tab中导入证书,后期录制时是无法成功的,此处浪费我大量的时间!
点击导入,选择\bin \ApacheJMeterTemporaryRootCA.crt即可,如下图:
接下来默认操作导入crt文件就完成了chrome 导入jmeter临时CA证书的操作。
Jmeter录制操作
回到Jmeter,重新在HTTP 代理服务器中使用录制功能,就可以正常工作了,我们可以设置录制的Transaction name,如下图,同样,点击下图中的停止按钮就会停止录制。
接下来在浏览器中简单操作一下百度就会看到录制的脚本被保存在录制控制器中,如下图所示:
好了,大功告成,录制成功!我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!