受限环境下,除CLI命令外如何安装Appium UiAutomator2 Driver?
离线部署Appium UiAutomator2驱动解决方案
前置准备
- 办公机已完成Node.js、Appium Server的安装
- 个人设备已下载并解压
appium-uiautomator2-driver仓库压缩包,且个人设备可正常访问外网
步骤1:在个人设备预打包驱动包
- 打开终端,进入解压后的
appium-uiautomator2-driver目录 - 执行
npm install拉取所有依赖(此步骤需外网,个人设备完成) - 执行
npm pack生成本地安装包,生成文件格式为appium-uiautomator2-driver-<版本号>.tgz - 找到驱动依赖的APK文件:在目录
node_modules/appium-uiautomator2-server/apks下,复制uiautomator2-server-v<版本号>.apk和appium-uiautomator2-server-debug-androidTest.apk两个文件
步骤2:传输文件到办公机
将生成的.tgz包、上述两个APK文件提交安全审核,审核通过后传输到办公机的任意目录(比如D:/appium-drivers/)
步骤3:办公机本地安装驱动
有两种安装方式可选:
方式一:通过Appium命令安装
执行以下命令(替换为你的.tgz文件路径):
appium driver install --source local D:/appium-drivers/appium-uiautomator2-driver-<版本号>.tgz
方式二:通过npm本地安装后关联Appium
- 执行npm本地安装:
npm install D:/appium-drivers/appium-uiautomator2-driver-<版本号>.tgz
- 将驱动关联到Appium:
appium driver link <本地安装的驱动目录路径>
(驱动安装目录一般为办公机用户目录/.appium/node_modules/appium-uiautomator2-driver,或全局npm包目录)
步骤4:配置APK路径
由于离线环境Appium无法自动下载APK,需手动配置:
- 找到办公机上
appium-uiautomator2-driver的安装目录,进入apks子目录,将之前传输的两个APK文件粘贴进去 - 或者在测试代码中直接指定APK路径(Java示例):
DesiredCapabilities caps = new DesiredCapabilities(); // 可选:延长安装超时时间 caps.setCapability("uiautomator2ServerInstallTimeout", 60000); // 指定server APK路径 caps.setCapability("uiautomator2ServerPath", "D:/appium-drivers/uiautomator2-server-v<版本号>.apk"); // 指定test APK路径 caps.setCapability("uiautomator2ServerTestPath", "D:/appium-drivers/appium-uiautomator2-server-debug-androidTest.apk");
步骤5:验证安装
- 执行
appium driver list,查看输出中是否包含uiautomator2且状态为installed - 运行基础的Appium测试脚本,确认能正常初始化Android会话,无驱动相关报错
内容的提问来源于stack exchange,提问作者puneeth chidura
相关产品推荐
相关产品推荐

