UiAutomator从入门到原理
将自己从零基础接触UiAutomator到通过源代码研读学习UiAutomator整套框架的过程记录下来分享给大家
-
原创
移植MonkeyRunner的图片对比和获取子图功能的实现-UiAutomator/Robotium篇
根据前一篇文章《移植MonkeyRunner的图片对比和获取子图功能的实现-Appium篇》所述,因为Appium和MonkeyRunner有一个共同点--代码控制流程都是在客户端实现的。所以要把MonkeyRunner在PC端实现的图片比对和获取子图功能移植到同样是在PC端运行的Appium是很容易的事情,但是对于在服务器端运行的Robotium和UiAutomator就是另外一回事了。 因为2014-11-12 09:58:34 阅读数 5472 评论数 4 -
原创
UiAutomator源码分析之获取控件信息
根据上一篇文章《UiAutomator源码分析之注入事件》开始时提到的计划,这一篇文章我们要分析的是第二点: 如何获取控件信息 我们在测试脚本中初始化一个UiObject的时候通常是像以下这个样子: UiObject appsTab = new UiObject(new UiSelector().text("Apps")); appsTab.click()那么这个过程发生了什么呢?这就是2014-10-29 09:25:15 阅读数 10350 评论数 4 -
原创
UiAutomator源码分析之注入事件
上一篇文章《UiAutomator源码分析之UiAutomatorBridge框架》中我们把UiAutomatorBridge以及它相关的类进行的描述,往下我们会尝试根据两个实例将这些类给串联起来,我准备做的是用如下两个很有代表性的实例: 注入事件获取控件 这一篇文章我们会通过分析UiDevice的pressHome这个方法来分析UiAutomator是如何注入事件的,下一篇文章会描述2014-10-28 16:24:05 阅读数 6084 评论数 0 -
原创
UiAutomator源码分析之UiAutomatorBridge框架
上一篇文章《UIAutomator源码分析之启动和运行》我们描述了uitautomator从命令行运行到加载测试用例运行测试的整个流程,过程中我们也描述了UiAutomatorBridge这个类的重要性,说它相当于UiAutomation的代理(我们都知道UiAutomator是通过UiAutomation和AccessibilityService进行连接然后获取界面空间信息和注入事件的).那么今2014-10-28 13:44:58 阅读数 10329 评论数 2 -
原创
UIAutomator源码分析之启动和运行
通过上一篇《Android4.3引入的UiAutomation新框架官方简介》我们可以看到UiAutomator其实就是使用了UiAutomation这个新框架,通过调用AccessibilitService APIs来获取窗口界面控件信息已经注入用户行为事件,那么今天开始我们就一起去看下UiAutomator是怎么运作的。 我们在编写了测试用例之后,我们需要通过以下几个步骤把测试脚本bui2014-10-28 09:30:16 阅读数 15054 评论数 3 -
翻译
Android4.3引入的UiAutomation新框架官方简介
译者序:Google在Android 4.3发布时提供了一套新的UiAutomation框架来支持用户界面自动化测试,该框架通过运用已有的Accessibility APIs来模拟用户跟设备用户界面的交互:比如获取窗口界面控件和注入事件等。如在4.3之前UiAutomator工具是通过InputManager或者更早的WindowManager来注入KeyEvent等,4.3之后用的就是新框架Ui2014-10-27 11:07:53 阅读数 13243 评论数 0 -
原创
UIAutomator定位Android控件的方法实践和建议(Appium姊妹篇)
在本人之前的一篇文章Appium基于安卓的各种FindElement的控件定位方法实践和建议>>第二章节谈到Appium可以通过使用UIAutomator的方法去定位Android界面上的控件,当时只是一笔带过举了个例子。如该文给自己的承诺,今天特撰写此文以描述UIAutomator各种控件定位的方法,以作为前文的姊妹篇互通有无。 1. 背景 为了和前文达成一致,这次的实践对象同样也是使用SD2014-10-04 10:07:48 阅读数 23063 评论数 8 -
原创
为网上流行论点“UIAutomator不能通过中文文本查找控件”正名
1. 问题描述和起因 相信大家学习UIAutomator一开始的时候必然会看过一下这篇文章。 Android自动化测试(UiAutomator)简要介绍 因为你在百度输入UIAutomator搜索的时候,该文章是排在第一位的。 但是里面有一段说法说UIAutomator不能支持通过中文文本查找控件,这个说法害人不浅,如果不是自己去实践调查过,必然也会轻易放弃UIAutomato2014-10-01 14:31:27 阅读数 6336 评论数 7 -
原创
Ant如何打包UIAutomator项目用到的第三方JAR包
本文章主要描述UIAutomator项目中引用到第三方Jar包的时候,按照正常的打包方式碰到的各种问题,以及最终解决的思路和办法。 1. 问题起源 在本人的一个示例项目中引用到了单元测试框架hamcrest的jar包,在项目目录下执行ant build的时候出现以下的问题 源码如下: package majcit.com.UIAutomatorDemo; import com.a2014-09-24 10:18:36 阅读数 7016 评论数 4 -
原创
UIAutomator创建一个Note的实例
紧接之前的创建一个Note的Appium和Robotium的实例,这里给出实现同样功能的UIAutomator的实例如下: package majcit.com.UIAutomatorDemo; import com.android.uiautomator.core.UiDevice; import com.android.uiautomator.core.UiObject; import c2014-09-24 00:10:13 阅读数 4226 评论数 0