本篇概览
- 认识 Appium 开源框架,并完成 Appium 框架的环境搭建与部署
- 通过 Appium 框架来完成公司产品在业务流程上的的 UI 自动化框架的设计与实现
- 本篇文章中所涉及的工具:Android SDK,PyCharm,Appium,享发金融 APK
本篇重点
- 认识 Appium 开源框架,学会搭建与部署
- 熟悉 Appium API,了解常用的查找元素方法
- 学会在不同 Activity 之间进行切换,避免流程的中断
一. Appium 介绍与环境搭建
-
首先安装 JDK 并设置环境变量
- 到 Java 官网下载相应的 JDK 并安装
- 设置环境变量
- 添加 JAVA_HOME 对应的路径: C:\Program Files\Java\jdk1.7.0_79
- 在 PATH 变量末尾追加: ;%JAVA_HOME%/bin;
- 添加 CLASSPATH ,设置值为: %JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
- 接着安装 Android SDK 并设置环境变量注意:安装 Android SDK 需要并更新你的 SDK repository*
1. 到 Android 官网下载并安装 SDK
2. 设置环境变量
* 添加 ANDROID_HOME 设置值为: 磁盘目录:\你的安装路径\Android\sdk
* 在 path 环境变量值末尾追加:;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;
* 设置完毕后在命令行输入 adb devices 。
-
接着安装 Nodejs
- 到 Nodejs 官网下载最新版本的 NodeJs 并直接安装,在环境变量 path 添加";C:\Program Files\nodejs;
- 安装完毕后,打开命令行,输入 node -v 。
-
最后安装 appium(Windows 方式)
- 安装appium for windows,path 环境变量为:C:\Program Files (x86)\Appium\node_modules.bin;"
- 验证 appium:在命令行输入appium-doctor,如果返回的结果类似如下,说明安装成功
- 需要注意的是,如果你是通过安装包安装的,使用 appium-doctor 命令时必须切换到 C:\Program Files (x86)\Appium\node_modules.bin目录。
二. 启动 Appium Server
![](/uploads/photo/2017/dcdd8167-f65f-4e1c-bcb0-b18a6c456e2d.png!large)
![](/uploads/photo/2017/78baa418-176a-4435-a1f3-9441a18c0e5a.png!large)
![](/uploads/photo/2017/4bea068e-1d57-4f15-999b-54fe2ffc5b19.png!large)
三. 启动 Android Emulator
![](/uploads/photo/2017/0bd095c0-54d6-46cb-93a1-ed38a1d6719b.png!large)
![](/uploads/photo/2017/d386c914-1df2-44f9-8cc7-f743ffce3c3d.png!large)
四. 基于公司业务的落地执行
业务流程
![](/uploads/photo/2017/01668662-cfd2-4c41-9f18-772a1f89c319.png!large)
![](/uploads/photo/2017/25b7de72-975e-40d6-b3de-3ce5aa942730.jpg!large)
![](/uploads/photo/2017/14df97ce-de09-4d3c-ad95-9ae4ce1ed05e.jpg!large)
![](/uploads/photo/2017/d57ae581-1457-4528-abf9-4f6cf91bcb1f.jpg!large)
![](/uploads/photo/2017/1a017510-aa1d-43e8-9fa1-89e81ce8c2a3.jpg!large)
![](/uploads/photo/2017/ecfa7894-3b6f-46ff-a1c1-cb6cb2a56274.gif!large)
![](/uploads/photo/2017/22aa87ea-ce2d-4c5d-9033-29e7ecc38b36.gif!large)
五. 后期工作计划
- 完成基于项目组产品的全部流程的开发,最终实现全自动化的程序录单和推单(总计 80 多个字段,涉及到的类型包括 Form 类型,Select 类型,图片上传与读取等)
- 完成以下几个技术点:
自动截图保存,图像对比,自动输出日志,自动读取 case 与写入 case 结果,自动备份 case
- 攻克以下几个核心技术难点:
- 1. 实现覆盖多个不同项目产品的通用性,真正做到拿来就用;
- 2. 实现对手机相册中的图片的随机读取,无需排序;
- 3. 实现截图的图像对比,防止因页面元素变更导致的异常中断;(临时想到的方法是,利用 OpenCV 技术对截取的图片进行比对识别,找出元素位置差异)
六. 自动化测试框架概述
- 该框架主要基于 Android 端开发完成,iOS 端不可用;
- 该框架主要为公司内部的享发金融产品进行自动化录单和推单(共计八十多个字段,涉及到表单输入,列表选择,图片上传与解析等主要功能)服务;
- 该框架目前还在进一步完善中,后期的计划是,将会进一步提高框架的扩展性,进一步优化内部代码逻辑;
七. 自动化框架的主要特点
- 以数据驱动测试为核心;
- 测试用例的自动读取与结果写入;
- 测试用例的自动备份;
- 操作过程中的日志输出;
- 操作过程中的自动截图;
- 分层结构,逻辑清晰;
- 持续集成平台;
- 等待继续完善。。。
八. 参考资料
↙↙↙阅读原文可查看相关链接,并与作者交流