使用JMeter记录移动IOS/Android应用程序的HTTPS请求
问题描述:
是否可以使用JMeter记录本机应用程序(IOS或Android)的http请求?我尝试了一些我发现的方法,但是我没有解决问题..使用JMeter记录移动IOS/Android应用程序的HTTPS请求
答
使用jmeter 3与Java 7或8,它创建一个crt文件在jmeter/bin文件夹中。它是创建证书的CA。
通过邮件发送此文件并在Android/iOS中打开它,然后安装它。
在测试脚本记录,放在专用领域HTTPS域,你想打域,请参阅:
- http://jmeter.apache.org/usermanual/component_reference.html#HTTP(S)_Test_Script_Recorder
重新启动的iPad/Android和JMeter测试脚本记录,然后再试一次。
答
要做到这一点,你必须让你的设备信任Jmeter代理CA. 所以,你必须从
$ JmeterHome /斌/ ApacheJMeterTemporaryRootCA.crt
导入JMeter的CA证书到设备中。 我记得这是一个最近改进很多的领域,所以一定要安装最新的版本。
答
- 尝试删除
ApacheJMeterTemporaryRootCA.crt
,JMeter的自签名的证书具有非常有限的生命时间(我记得像1周),因此,如果您的证书是旧的,你可能有问题,将其安装到浏览器和/或移动设备,或者将不会解密SSL流量。该文件将在下次启动时重新创建HTTP(S) Test Script Recorder - 还有一种使用您的个人云代理记录移动流量的备选方法。此外,它将为您执行自动关联,因此您不必担心SSL证书,还可以关注正则表达式提取器,JMeter变量等。有关详细信息,请参阅How to Cut Your JMeter Scripting Time by 80%文章。
如果没有上面的帮助,采取以下步骤解决问题:
- 添加View Results Tree侦听器作为HTTP(S)测试脚本记录的孩子。如果记录请求出现问题,它应该显示错误的详细信息。
- 在失败的证书安装尝试期间检查您的移动设备日志。您可能需要为此安装Android和iOS开发人员工具。
- 确保您的应用程序是真的使用HTTP或HTTPS协议作为JMeter的支持只有这2
,什么是无用的那些方式? – Chisko
当我在Ios设备上进行代理时,jmeter记录了http,但没有记录https。 – buurkeey