悠悠小仙仙 发表于 2017-6-15 13:41:46

使用 flow.ci 实现 Android 自动化测试与持续集成

在上篇文章——如何实现 Android 应用的持续部署中,使用 flow.ci + Github + fir.im 实现 Android 应用的持续部署。对于 Android 开发者,他们可能会在整个过程使用 Android 模拟器进行自动化测试。
所以,这次我们通过启动在 flow.ci 中的 Android 模拟器插件,同时将 connectedCheck 命令添加到构建插件的默认脚本中,以此来实现 Android 应用自动化测试与持续集成。
PS:如果您已经阅读过Android的持续部署指南,或者你已经知道 flow.ci 的基础操作,请直接跳到第 7 步:)
了解 flow.ciflow.ci 是融入了 workflow 机制的持续集成(CI)服务,也可以理解为自动化流程平台,除了集成代码、编译、测试之外,还可以集成常用的工具、灵活自定义流程。1 分钟即可完成开发测试环境搭建,开启第一个 Build。
在 flow.ci,我们把项目的开发工作流称为 flow ,每个 flow 由触发器和插件构成。系统根据不同的语言和环境提供对应的 flow 模版,触发器和插件。Flow 的自定义非常简单,只需要 One-Click 即可添加你需要的插件。它可能是一个代码静态分析检测工具(比如 Eslint),可能是一个数据库(比如 Mysql/MongoDB/Redis),也可能是一个消息通知插件(比如 邮件/Slack)等。
更专注于代码,其他的琐事交给 flow.ci 自动化完成吧 :)
搭建 Android 自动化测试与持续部署1.创建项目
http://7xsn88.com1.z0.glb.clouddn.com/image/1/dd/fa617ca08b61e0584a86dc131b98e.png


2.关联代码仓库
http://7xsn88.com1.z0.glb.clouddn.com/image/2/a8/e989cd4e20ef01ba9dfe64ab70f58.png


3.选择要集成的项目
http://7xsn88.com1.z0.glb.clouddn.com/image/a/c5/bc7fa381a55348cf935e1f50f3f2b.png


4.开始你的第一个 Flow
http://7xsn88.com1.z0.glb.clouddn.com/image/0/13/fede2ee61957cc91054803bb26236.png


http://7xsn88.com1.z0.glb.clouddn.com/image/e/f8/baf63058f22e0ce800839cd747f38.png


选择项目类型 Android ,开启默认的 flow 模板 ,包括 Intialize - Git Clone - Cache - Build 的流程。
5.选择 jdk 版本,单击创建项目
http://7xsn88.com1.z0.glb.clouddn.com/image/a/9b/78901a235355aacb7e7eb8e019050.png


选择项目语言的版本,除了 Java for Android 外,flow.ci 提供 Node.js , Ruby , PHP , Python 的多语言、多版本的开发测试环境。
后续会支持更多语言。
6.点击“+”添加插件,自定义 flow
http://7xsn88.com1.z0.glb.clouddn.com/image/d/d4/b089ca995a0b91faf57b08109258c.png


7.在插件列表中搜索 Android 模拟器插件 —— Android Emulator,选择添加
http://7xsn88.com1.z0.glb.clouddn.com/image/3/0d/01b0da178aadb09f70c029d7dab9e.png


8.选择 Android SDK 版本与 Android CPU 类型
http://7xsn88.com1.z0.glb.clouddn.com/image/7/ab/1fa2336848fb5d59c9aa089ba9765.png



http://7xsn88.com1.z0.glb.clouddn.com/image/2/b9/2f4bf3e1ad84fdc6673c8827ded2b.png


默认生成插件不包括测试用例执行命令,因此你需要做简单自定义脚本,以便正常运行测试。
9.点击“+”,从插件列表中选择添加自定义脚本插件。
http://7xsn88.com1.z0.glb.clouddn.com/image/8/63/8d49994533565f26ff7b8775722a3.png


http://7xsn88.com1.z0.glb.clouddn.com/image/1/ae/27ae080bd20b253a669364ec16277.png


然后,删除默认 flow 模板里的 Build 插件。

http://7xsn88.com1.z0.glb.clouddn.com/image/f/4c/1d9110d10f08c3cc45f664c47b96f.png


在自定义脚本插件中,添加“connectedCheck”命令或者自己定义的 gradle 命令(提示:绿框)。同时可以通过点击标题栏修改文字来重命名该插件。然后,点击保存。

http://7xsn88.com1.z0.glb.clouddn.com/image/5/d2/cce4e0b6926200557141f6af0295d.png


10.Bingo!你的 Flow 已准备就绪。现在,提交代码开始 Build。
http://7xsn88.com1.z0.glb.clouddn.com/image/3/eb/9476983005219d30ec380336a34ca.png


实现这套自动化流程之后,只需要开发新功能,提交代码即可。图为跑完整个自动化测试和持续集成的流程,健康的项目状态。

八戒你干嘛 发表于 2017-6-15 14:04:00

学习

悠悠小仙仙 发表于 2017-6-15 14:05:04

:)

岛屿soliloquy 发表于 2017-6-16 10:04:10

收藏此帖。
进来学习及使用。。
页: [1]
查看完整版本: 使用 flow.ci 实现 Android 自动化测试与持续集成