##简介
-
【编写理由】
-
Java代码练习,加深理解
-
加深理解,并熟练运用Uiautomator Api
-
对初学者指引或借鉴
-
-
【开发环境】
-
ADT(Android Developer Tools) -- sdk + eclipse
-
Java 1.8
-
Windows 7 64bit
-
手机: 三星 i9308; android 4.3
-
代码: Github连接
-
- 第一阶段:学习
- 配置环境,调试第一个demo,并运行。
- 熟悉各个类:UiDevice、UiObject等的作用
- 截屏、截图、图片对比的运用
- 第二阶段:运用
- 尝试写一些步骤少、操作简单的测试用例脚本(如登录、创建联系人、短信等),代码量建议 > 1000行。
- 将用例改善,提高容错能力(处理一些异常情况)
- 将常用步骤、操作,抽取出来,形成一个通用的方法,方便调用。
- 第三阶段:提高
- 封装公共操作、经常使用的步骤、组件、布局页面、通用的工具函数
- 版本接口化(研究中)
- 组件化与布局化(研究中)
- 第四阶段:适合项目
- 继承TestLisenter,截图Log日志,保存到每个case里
- 图片处理:添加文字水印、操作步骤记录。
- 记录用例的执行步骤日志(已实现写入同一文件,没实现写入每个case目录下)
- 学习调用adb 各类命令
- 读取Xml,实现用例遍历参数化
- 部署到Jenkins + tomcat,实行持续集成测试。
- 报告生成(需要熟悉android开发):实现android App对每个case目录的日志文件进行同一处理,写入到xls文件中。(已有基础代码,未进行修改)
-
已实现功能
-
每个case产生单独目录,目录下保存运行日志(logcat)、运行步骤日志(需要修改)、结果日志(正确或错误)、错误时截图。
-
可扩展实现,已对常用方法进行二次封装。
-
-
简化调用,已实现简单方法。
目录分别有:src、apk、bat、data
【通用模块】
-
将各类常用的控件进行抽象
com.uitest.cmp
-
二次封装了uiautoamtor的基础类
com.uitest.util com.uitest.uiautomatorUtil
-
用户设置,常用数据
com.uitest.data
【测试用例】
-
和通讯录测试用例
com.uitest.contact.testcase (4.1版本) com.uitest.contact4_2.testcase(4.2版本) com.uitest.contact430.testcase(4.3版本)
-
和通讯录抽取出每个activity常用方法
com.contact.activity com.contact.activity.v420 com.contact.activity.v430
【不需要关注】
-
utf7包,调用utf7的类和方法,实现输入
com.beetstra.jutf7 jp.jun_name.test.utf7ime.helper
实例:
uo.setText(Utf7ImeHelper.e(content));
-
记录单个用例的系统运行日志及app运行步骤日志
com.uitest.log
-
读取Xml文件类
com.uitest.readxml
-
用于调试
com.testCode
【备注】
-
ImageManager类中,已实现截图并标记点击的元素对象,不建议使用,每次截图都耗时1秒
-
运行前,需要提前创建辅助目录,运行以下命令:
adb shell mkdir /mnt/sdcard/AppTestReportPic/ adb shell mkdir /mnt/sdcard/AppTestReportLog/ adb shell mkdir /mnt/sdcard/AppTestReportAppRunLog/
-
call、com.ktls.tonghuaweizao.apk 通话记录生成器
-
mms.apk 短信生成器
-
Utf7Ime.apk uiautomator的中文输入
-
MonkeyScript.txt
-
run.bat
- testdata.xml(使用ExclToXml源码已上传到github)