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

标签 android https jmeter

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/

相关文章:

java - Gson 实现 no.of classes 取决于花括号?

java - HTTPS 登录? java

jmeter - 使用 JMeter 进行负载测试

JMeter-在每次迭代中触发不同的请求

visual-studio-2010 - Web应用程序性能测试工具

android - 如何在没有 Gradle 的情况下在 Eclipse 中的 Android 项目上启用 multidex

java - 有没有办法在 Android 中设置对加密数据的随机访问?

java - 如何将 Hashmap 值存储在 ListView 中 LongclickListener 的变量中?

asp.net-web-api - 安装 VS 2015 Update 3 后,向 Web API 部署 IIS Express 发送 HTTPS 请求导致 SocketException

https - 不支持将 .pfx 或 .p12 文件导入远程证书存储