无法捕获HTTPS请求-移动性能测试



Android TAB和JMeter被用来捕获/记录应用程序流。但是在JMeter中没有捕获HTTPS请求。我关掉了Jmeter,打开了Charles Proxy,重新录了一遍。在Charles中记录了相同的应用程序流之后,我将所有HTTPS请求放入Jmeter中。因为我录制了两次,所以花了更长的时间。

是否有其他方法可以通过JMETER捕获HTTPS流量?

感谢您的帮助,并分享您的建议。

问候,湿婆

首先使用JMeter录音模板然后启动JMeter的HTTP(S)测试脚本记录器,它将在JMeter/bin文件夹中生成一个名为ApacheJMeterTemporaryRootCA.crt的文件。复制文件到您的android设备,并安装它作为CA证书。请参阅如何安装用户证书?线程了解更多细节。

证书的有效期有限(默认为7天),但您可以通过在user.properties

中设置延长有效期

proxy.cert。有效期=天数

现在你在Android>= 7.0中将面临的问题是应用程序只使用默认的系统安装证书。

因此,您需要请求应用程序开发人员修改APK,在这里查看原因。

编辑清单并添加:

android: networkSecurityConfig = " @xml/network_security_config"

你会得到:

然后在res/xml/network_security_config.xml中添加如下:

 <?xml version="1.0" encoding="utf-8"?>
 <network-security-config>  
       <base-config>  
             <trust-anchors>  
                 <!-- Trust preinstalled CAs -->  
                 <certificates src="system" />  
                 <!-- Additionally trust user added CAs -->  
                 <certificates src="user" />  
            </trust-anchors>  
       </base-config>  
 </network-security-config>

注意无论你使用什么工具(neload, LoadRunner,…)

某些Android版本只支持HTTP代理,您可能必须安装第三方软件,如ProxyDroid,以便能够配置HTTPS代理。

更简单的选择是使用移动记录器解决方案,如果您对JMeter方面的配置的正确性有疑问,您可以测试移动记录器

最新更新