Android 自动化测试初探-1:捕获Activity 上的Element第一部分:前言Android 系统下应用程序的测试现在应该还算是个新的领域,网上关于这方面的资料很多都是基于白盒测试的,一般都是基于JUnit 框架和Android SDK 中android
test 等命名空间下的内容进行,但是有一个前提,那就是必须要有应用程序的源代码以提供测试接入点,但是这在很多软件公司中是不现实的
很多测试工程师做的工作是完全黑盒,基本接触不到源代码,白盒测试大部分也是由开发自己完成
回顾一下Windows 下的黑盒测试自动化,先前使用的是微软提供的基于
netframework 的UI Automation 自动化测试框架(要求版本在
net framework 3
0 以上,即 VS
NET2008 开发环境),对与擅长 C#语言的人来说,使用起来确认比较好用
本人也写了基于UIAutomation 的轻量级的自动化框架,将在以后的博文中引出
那在Android 操作系统中能不能做类似于UI Automation 的事情呢
不幸的是,Android 的权限控制分的非常清楚,不同程序之间的数据访问只能通过 Intent,contentprovider 类似的功能实现
也就是说你开发的运行在Android 中的自动化程序想要捕获当前运行的AUT (Application under Test) 界面上的控件等Element(该术语引自UI Automation,觉得翻译成元素有点生硬,故不作翻译)基本不可能,你也拿不到当前active activity的引用(截止本文发帖为止,个人暂时没有找到办法获得此引用)
模拟器里面不能走,外面能不能走
第二部分:捕获Activity上的Element在Android 的SDK 中自带了一个对自动化测试比较有用的工具