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

Appium 2.5.2会话创建失败:指定Activity无法启动求助

解决Appium 2.5.2 SessionNotCreatedException(等待SplashActivity超时)的方案
  • 配置多Activity等待列表
    在Desired Capabilities中添加appWaitActivity参数,指定启动过程中可能出现的所有Activity,允许Appium等待任意一个目标Activity出现。示例配置:

    capabilities.setCapability("appWaitActivity", "com.your.package.SplashActivity,com.your.package.MainActivity");
    

    也可以用通配符匹配该包下所有Activity:

    capabilities.setCapability("appWaitActivity", "com.your.package/*");
    
  • 延长Activity等待超时时间
    若SplashActivity跳转过快或设备性能较差,可通过appWaitDuration参数延长等待时长(默认20000ms),示例:

    capabilities.setCapability("appWaitDuration", 30000); // 30秒
    
  • 验证实际启动的Activity栈
    用adb命令确认应用启动后的真实Activity序列,避免配置的Activity名称与实际不符:

    adb shell dumpsys activity activities
    

    查看输出中的Resumed Activity和Activity栈信息,确保appActivity和appWaitActivity的配置与实际一致。

  • 手动控制应用启动流程
    将Desired Capabilities中的autoLaunch设为false,创建会话后手动启动应用并处理Activity跳转:

    capabilities.setCapability("autoLaunch", false);
    // 创建会话
    AndroidDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    // 手动启动应用
    driver.startActivity(new Activity("com.your.package", "com.your.package.SplashActivity"));
    // 等待MainActivity出现
    new WebDriverWait(driver, Duration.ofSeconds(10)).until(
        ExpectedConditions.visibilityOfElementLocated(By.id("com.your.package:id/main_layout"))
    );
    
  • 排查应用启动异常
    查看Appium服务日志的详细输出,确认是否存在应用安装失败、权限不足或设备连接问题,这些情况可能伪装成Activity等待超时的错误。

内容的提问来源于stack exchange,提问作者Michal Tománek

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 19:47:05