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

启动Appium测试时遇org.openqa.selenium.SessionNotCreatedException错误求助

Appium测试SessionNotCreatedException(APK路径问题)排查方案

可能的原因

  • APK文件实际不存在或路径错误:错误提示中的路径/Users/kamilwysocki/IdeaProjects/appiumDependency/resources/apps/ApiDemos.apk可能并未包含目标APK,比如文件未放置到对应目录、文件名拼写错误(含大小写、后缀)。
  • user.dir路径不符合预期:System.getProperty("user.dir")获取的当前工作目录可能和你预想的项目根目录不一致(比如Maven运行时的工作目录可能是模块目录而非项目根),导致拼接后的路径无效。
  • 文件权限不足:当前运行测试的用户没有读取该APK文件的权限,系统无法访问文件。
  • 路径拼接的语法问题:手动拼接字符串时可能出现分隔符错误(比如多写或漏写斜杠),导致路径无效。

解决步骤

  1. 手动验证路径有效性
    直接在系统文件管理器中导航到错误提示的路径,确认ApiDemos.apk是否存在,文件名是否完全匹配(注意Mac系统下文件名大小写敏感)。

  2. 打印实际拼接路径
    在测试代码的setup方法中添加路径打印逻辑,确认实际生成的路径是否正确:

    String appPath = System.getProperty("user.dir") + "/resources/apps/ApiDemos.apk";
    System.out.println("实际APK路径:" + appPath);
    dc.setCapability("appium:app", appPath);
    

    运行测试后查看控制台输出的路径,再核对该路径下的文件情况。

  3. 检查文件权限
    右键点击ApiDemos.apk,选择「显示简介」,在「共享与权限」区域确认当前运行测试的用户拥有「读取与写入」权限,若没有则调整权限设置。

  4. 使用可靠的路径拼接方式
    避免手动拼接字符串,改用Java的Path类处理路径,自动适配系统分隔符:

    import java.nio.file.Paths;
    // ...
    Path appPath = Paths.get(System.getProperty("user.dir"), "resources", "apps", "ApiDemos.apk");
    dc.setCapability("appium:app", appPath.toAbsolutePath().toString());
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 16:57:34