Android TAB 和 JMeter 用于捕获/记录应用程序流。但是 HTTPS 请求没有在 JMeter 中捕获。我关闭了 Jmeter 并启用了 Charles Proxy 并再次进行了录音。在 Charles 中记录相同的应用程序流程后,我将所有 HTTPS 请求放在 Jmeter 中。因为我录了两次,所以用了更长的时间。
有没有其他方法可以通过 JMETER 捕获 HTTPS 流量?
感谢您的帮助并分享您的建议。
问候, 湿婆
最佳答案
首先使用JMeter Recording Template
然后启动JMeter的HTTP(S) Test Script Recorder ,它会在 jmeter/bin 文件夹中生成一个名为 ApacheJMeterTemporaryRootCA.crt
的文件。
将文件复制到您的 android 设备并将其安装为 CA 证书。
参见 How do I install a user certificate?线程以获取更多详细信息。
证书的有效期有限(默认为 7 天),但您可以通过在 user.properties 中设置来延长有效期
proxy.cert.validity=Number of days
现在您将在 Android >= 7.0 中面临的问题是应用程序仅默认使用系统安装的证书。
所以你需要请应用开发者修改APK,看看为什么here .
编辑 list 并添加:
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>
请注意,无论您使用什么工具(Neoload、LoadRunner 等),这都是必需的
关于android - 无法捕获 HTTPS 请求 - 移动性能测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31489661/