如何在Jenkins上传本地Android APK仅用于运行自动化测试套件
本地APK上传到Jenkins运行自动化测试的实现方案
完全可以跳过Android应用构建环节,直接使用本地已有的APK运行测试,以下是三种常用方案,可根据你的使用场景选择:
方案1:参数化构建上传(适合手动触发测试的场景)
这是最直接的方案,无需额外配置Jenkins全局设置:
- 打开对应Jenkins任务的配置页,找到「参数化构建过程」选项并勾选启用
- 点击「添加参数」,选择文件参数类型,填写参数名比如
TEST_APK,指定文件保存路径为app-test.apk(该路径为相对于任务工作区的路径,Jenkins会自动把上传的APK存到对应位置) - 保存配置后,每次手动触发构建时,页面会出现文件上传控件,直接选择本地APK上传即可
- 后续Appium测试脚本直接读取当前任务工作区下的
app-test.apk路径调用即可,无需额外处理
方案2:上传到Jenkins节点固定目录(适合固定版本反复测试的场景)
如果同一个APK需要多次跑测试,不用每次手动上传:
- 把本地APK通过scp、共享目录等方式,上传到运行测试任务的Jenkins节点的固定路径,比如
/data/jenkins/test_resources/latest_test.apk - 在Jenkins任务的构建步骤中,新增一个Shell执行步骤,写入命令
cp /data/jenkins/test_resources/latest_test.apk ${WORKSPACE}/,即可把对应APK复制到当前任务的工作区
方案3:托管到Jenkins全局文件管理(适合多任务共享同一份APK的场景)
如果多个测试任务都需要用到同一份APK,可以统一托管:
- 进入Jenkins全局管理页面,找到「Managed files」功能,上传你的本地APK并设置唯一标识
- 打开测试任务的配置页,在「构建环境」分类下勾选「Provide Configuration files」,选择你刚才上传的APK,指定保存到工作区的路径即可,任务运行时会自动拉取对应APK到目标路径
注意事项
- 上传的APK需要提前确认包名、启动Activity、签名信息和你的Appium测试脚本配置一致,避免启动失败
- 如果使用参数化文件上传方案,单文件大小超过Jenkins默认上传限制时,可以调整Jenkins启动参数
--maxFormContentSize修改最大上传阈值 - 如需区分不同APK版本的测试结果,可以额外添加字符串类型的构建参数,上传时填写版本号用于测试报告溯源
内容的提问来源于stack exchange,提问作者Amna
相关产品推荐
相关产品推荐

