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

执行Appium自动化脚本时出现NullPointerException错误求助

解决Appium启动时的NullPointerException:Cannot invoke "org.openqa.selenium.os.CommandLine.isRunning()"

这个错误的核心是AppiumDriverLocalService在启动流程中,内部的process对象未完成初始化就被调用了isRunning()方法,通常由服务配置不当或依赖问题引发,以下是具体解决方法:

  • 检查Appium服务配置完整性
    确保构建AppiumDriverLocalService时,正确指定了Appium核心文件路径,或保证环境变量能直接找到Appium命令。示例配置代码:

    AppiumDriverLocalService service = new AppiumServiceBuilder()
        .withAppiumJS(new File("/usr/local/lib/node_modules/appium/build/lib/main.js")) // 替换为你的实际路径
        .withIPAddress("127.0.0.1")
        .usingPort(4723)
        .build();
    service.start();
    
  • 排查服务实例初始化问题
    检查BaseTest类的ConfigureAppium方法,确认调用start()前service实例已正确创建,避免出现service为null的情况;同时不要在服务未启动时调用销毁相关方法,也不要重复启动已运行的服务。

  • 验证依赖版本兼容性
    当前TestNG版本为7.4.0,需确认Appium Java Client版本与Selenium版本匹配(如Appium Java Client 8.x需搭配Selenium 4.x),版本不兼容可能导致内部对象初始化异常。

  • 改用手动启动Appium服务
    如果自动启动服务始终有问题,可直接在终端执行appium命令手动启动服务,代码中跳过service.start()步骤,直接连接已运行的服务:

    DesiredCapabilities caps = new DesiredCapabilities();
    // 配置你的测试设备与应用参数
    AndroidDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), caps);
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 20:10:33