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