在使用2.0之前,对android自动化框架也做过一些了解《Android 自动化测试框架》。使用UiAutomator2.0也有一段时间,这里将1.0与2.0进行一个对比总结。
UiAutomator1.0:https://stuff.mit.edu/afs/sipb/project/android/docs/tools/help/uiautomator/index.html
UiAutomator2.0:https://developer.android.google.cn/topic/libraries/testing-support-library/index.html
从源码来看:
2.0基于 Instrumentation, 可以获取应用Context,可以使用Android服务及接口。
2.0新增UiObject2、Until、By、BySelector等接口。
从使用工具来看:
2.0 使用android studio编写测试用例。
1.0 使用eclipse 进行编写。
从执行方式来看:
2.0基于Junit测试运行器,用例无需继承于任何父类,方法名不限,使用Annotation(注解)进行测试【junit4】。
1.0需要继承UiAutomatorTestCase类,测试方法名必须以test开头,【junit3】。
从构建方式来看:
2.0采用Gradle进行构建。
1.0则使用Ant或者Maven构建。
从输出产物来看:
2.0输出为Apk,log输出到logcat中。将.apk文件push、安装在android设备上运行测试。
1.0输出为Jar,log输出到终端控制中。将.jar文件push到设备上运行测试。