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

Appium多个测试用例执行时如何保持Chrome浏览器登录状态?

解决安卓模拟器Chrome测试保持登录状态方案

1. 修正desired capabilities参数类型

你当前的noReset参数传的是字符串值,Appium对该参数的识别要求是布尔类型,字符串格式的'true'不会生效,修改为:

desired_caps['noReset'] = True
desired_caps['fullReset'] = False

2. 补充禁用Chrome数据清除的专属配置

安卓端Chromedriver默认会在启动时清除临时数据,需要额外添加配置项跳过数据清理流程:

# 禁止Chromedriver启动时清除浏览器数据
desired_caps['chromeOptions'] = {
    'args': [
        '--user-data-dir=/data/data/com.android.chrome/app_chrome/Profile',
        '--no-first-run',
        '--no-default-browser-check'
    ],
    'excludeSwitches': ['enable-automation', 'clear-data-on-exit']
}
# 额外禁止Appium重置Chrome应用数据
desired_caps['appPackage'] = 'com.android.chrome'
desired_caps['appActivity'] = 'com.google.android.apps.chrome.Main'
desired_caps['dontStopAppOnReset'] = True

3. 验证配置生效逻辑

  • 首次启动driver完成登录后,先确认Chrome的profile目录下已生成登录态的cookie、本地存储数据,再执行后续操作
  • 后续测试启动driver时,Appium会直接复用已有的Chrome进程和profile数据,不会清空已有配置

4. 特殊情况处理

如果修改后还是存在数据被清空的情况,可以提前手动在模拟器的Chrome中完成一次登录,再运行测试脚本,保证profile目录下已有有效登录数据,避免首次启动的初始化逻辑覆盖配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 04:15:04