You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JMeter无法录制原生APP性能测试求助:可正常录制浏览器应用

JMeter录制Android原生APP失败的排查与解决步骤
  • 确认手机和JMeter电脑的网络连通性

    • 必须在同一WiFi下,用手机浏览器直接访问http://[电脑局域网IP]:[JMeter代理端口],能打开JMeter证书下载页才算网络连通正常
    • 检查电脑防火墙是否放行JMeter使用的端口(默认8888),避免请求被拦截
  • 正确配置手机代理

    • 在手机WiFi设置中手动指定代理:主机名填电脑的局域网IP,端口和JMeter代理服务器设置的端口保持一致
    • 注意:别填localhost或127.0.0.1,手机无法识别这类本地回环地址
  • 把JMeter的SSL证书安装到手机系统信任区

    • 先启动JMeter的HTTP(S) Test Script Recorder,点击「Start」生成并保存证书(默认文件名为apachejmeter.crt)
    • 通过邮件、聊天工具把证书传到手机,然后在手机设置中找到「安全-加密与凭据-从存储设备安装」完成证书导入
    • 关键:一定要选择安装到系统凭据存储,仅安装到用户凭据的话,APP不会信任该证书
  • 处理APP的证书与代理限制

    • 部分原生APP会做证书钉扎(Certificate Pinning),拒绝信任JMeter的证书导致无法抓包
      • 临时解决:用Xposed框架搭配JustTrustMe模块禁用证书校验(仅用于测试环境,禁止在生产场景使用)
      • 长期方案:反编译APP去除证书钉扎逻辑(需要具备一定逆向工程能力)
    • 有些APP会检测代理并自动绕过或拒绝连接
      • 可尝试在JMeter代理设置中勾选「Redirect HTTPS to HTTP」,或者用BurpSuite中转请求后再交给JMeter处理
  • 调整JMeter的录制规则

    • 在「Target Controller」中选择正确的测试计划节点,避免录制的请求丢失
    • 默认的「URL Patterns to Include」是.*\.html,需要修改为.*或更宽泛的规则,确保能捕获APP的所有请求
    • 开启「Capture HTTP Headers」,部分APP的请求依赖特定Header,录制时需要保留这些信息
  • 先通过简单请求验证录制功能

    • 先在手机上访问百度这类简单网页,确认JMeter能正常录制请求
    • 如果简单请求能录制成功,再切换到目标APP逐步操作,排查是APP全局问题还是特定功能的问题

内容的提问来源于stack exchange,提问作者Curioussoul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 17:25:19