持续集成体系构建
目标:
- 从源码制作出可运行App,支持测试工作
- 各种自动任务:Daily Build打包、Daily Build发布、Daily Build UI自动化测试。利用技术来帮助做杂活儿
- 重复性定式劳动任务,减少人力参与,提升工作效率
- Build不再是阻碍测试进度的因素
- 自动化重用率高,维护频率低
涉及到的技术点:
- Android App构建
- Android SDK使用
- 安卓模拟机或真机
- Python+Appium自动化测试
- Jenkins持续集成
- Shell脚本开发
- Java程序开发
- Git(github使用)
环境准备:
参考:https://ceshiren.com/t/topic/13228
mac环境准备
1. 安装gradlew
先安装gradle: brew install gradle
安装完成后执行gradle -v
显示gradle版本信息即表示安装成功
执行gradle wrapper
2. 安装appium
安装appium时遇到的几个问题,记录如下:
- 执行
npm install -g appium@1.15.1
命令时报chromedriver错误,加-chromedriver-skip-install
参数。 - 执行
npm install -g appium@1.15.1
时报错…node_modules/.bin/authorize-ios无权限时,执行npm install -g appium@1.15.1 --unsafe-perm=true --allow-root
。3. 参考测试人社区安装,但是注意npm的版本要在6,不然安装不上appium
App构建打包并发布
打包
执行命令:sh gradlew clean assembleDebug
报错:
解决:在项目目录下新建文件名为local.properties的文件,内容为sdk_dir=sdk的根目录
发布:
apk发布,输出结果文件,配置如下:
发布成功后,结果如图:
安卓app自动部署及测试任务
新建一个任务(AndroidSampleAppDeployment_BVT),执行app自动部署及测试任务,执行shell如下:
创建父子job
在第一个job的“构建后操作“添加构建其他工程,配置如下