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

本地可运行AppiumDriverLocalService测试,Jenkins执行失败求助

解决Jenkins上AppiumDriverLocalService启动失败的问题

从错误日志来看,核心问题是Jenkins运行时使用的系统账户(NT AUTHORITY\SYSTEM)找不到Appium的main.js文件——它默认去系统账户的npm目录查找,但你的Appium很可能是安装在本地用户目录下的,系统账户要么无权访问,要么该账户下根本没装Appium。下面是几种可行的解决办法:

1. 给系统账户全局安装Appium

Jenkins默认用系统账户运行,直接给这个账户装Appium就能匹配到日志里的路径:

  • 右键点击命令提示符,选择以管理员身份运行
  • 执行命令切换到系统账户上下文(需管理员权限):
    runas /user:NT AUTHORITY\SYSTEM cmd.exe
    
  • 在新打开的系统账户cmd窗口中,全局安装Appium:
    npm install -g appium
    
  • 安装完成后,验证路径是否存在:dir C:\windows\system32\config\systemprofile\AppData\Roaming\npm\node_modules\appium\build\lib\,确认main.js已生成

2. 让Jenkins用你的本地用户身份运行

如果不想在系统账户下重装Appium,修改Jenkins的运行账户更直接:

  • 按下Win+R,输入services.msc打开服务管理器
  • 找到Jenkins服务,右键选择属性,切换到登录标签页
  • 选择此账户,输入你本地安装Appium的用户名和密码,点击确定
  • 重启Jenkins服务,这样它就会用你的用户身份运行,能直接访问你本地的Appium安装路径

3. 在代码里硬编码正确的Appium路径

如果上面两种方法都不想用,可以直接在测试代码里指定你本地用户下的Appium路径:

// 替换成你自己的用户目录路径
String APPIUM_JS_PATH = "C:\\Users\\YourActualUsername\\AppData\\Roaming\\npm\\node_modules\\appium\\build\\lib\\main.js";

AppiumServiceBuilder builder = new AppiumServiceBuilder();
builder.usingDriverExecutable(new File(NODE_JS_PATH));
builder.withAppiumJS(new File(APPIUM_JS_PATH)); // 用指定路径替换原来的变量
builder.usingAnyFreePort();
// 后续代码不变...

注意要把YourActualUsername换成你的真实用户名,并且确保这个路径对Jenkins的运行账户有读取权限。

4. 先验证Jenkins的环境配置

在Jenkins的构建步骤里加一段前置命令,检查当前运行环境:

whoami
echo %PATH%
node -v
appium -v

通过这些输出,你能确认Jenkins当前用的是哪个用户,Node.js和Appium是否在环境变量里,以及版本是否正确,方便排查其他潜在问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:25:07