自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Techgogogo

做个有追求的全栈程序员。当前在做的产品-晓日程: http://xricheng.com。自主博客: http://techgogogo.com; 最新动向: 回炉重造高数线代概论,为机器学习打基础...

原创 Appium Android Bootstrap源码分析之命令解析执行

通过上一篇文章《Appium Android Bootstrap源码分析之控件AndroidElement》我们知道了Appium从pc端发送过来的命令如果是控件相关的话,最终目标控件在bootstrap中是以AndroidElement对象的方式呈现出来的,并且该控件对象会在AndroidEle...

2014-10-31 13:28:02

阅读数 3895

评论数 0

原创 Appium Android Bootstrap源码分析之控件AndroidElement

通过上一篇文章《Appium Android Bootstrap源码分析之简介》我们对bootstrap的定义以及其在appium和uiautomator处于一个什么样的位置有了一个初步的了解,那么按照正常的写书的思路,下一个章节应该就要去看bootstrap是如何建立socket来获取数据然后怎...

2014-10-31 10:49:43

阅读数 5360

评论数 3

原创 Appium Android Bootstrap源码分析之简介

在上一个系列中我们分析了UiAutomator的核心源码,对UiAutomator是怎么运行的原理有了根本的了解。今天我们会开始另外一个在安卓平台上基于UiAutomator的新起之秀--Appium的源码分析之旅。 本文在真个系列中会扮演一个简介的角色,不会分析任何的代码,只会先给大家一个基本的...

2014-10-30 14:50:50

阅读数 6682

评论数 0

原创 UiAutomator源码分析之获取控件信息

根据上一篇文章《UiAutomator源码分析之注入事件》开始时提到的计划,这一篇文章我们要分析的是第二点: 如何获取控件信息 我们在测试脚本中初始化一个UiObject的时候通常是像以下这个样子: UiObject appsTab = new UiObject(new UiSelector()...

2014-10-29 09:25:15

阅读数 10372

评论数 4

原创 UiAutomator源码分析之注入事件

上一篇文章《UiAutomator源码分析之UiAutomatorBridge框架》中我们把UiAutomatorBridge以及它相关的类进行的描述,往下我们会尝试根据两个实例将这些类给串联起来,我准备做的是用如下两个很有代表性的实例: 注入事件获取控件 这一篇文章我们会通过分析UiDevi...

2014-10-28 16:24:05

阅读数 6089

评论数 0

原创 UiAutomator源码分析之UiAutomatorBridge框架

上一篇文章《UIAutomator源码分析之启动和运行》我们描述了uitautomator从命令行运行到加载测试用例运行测试的整个流程,过程中我们也描述了UiAutomatorBridge这个类的重要性,说它相当于UiAutomation的代理(我们都知道UiAutomator是通过UiAutom...

2014-10-28 13:44:58

阅读数 10378

评论数 2

原创 UIAutomator源码分析之启动和运行

通过上一篇《Android4.3引入的UiAutomation新框架官方简介》我们可以看到UiAutomator其实就是使用了UiAutomation这个新框架,通过调用AccessibilitService APIs来获取窗口界面控件信息已经注入用户行为事件,那么今天开始我们就一起去看下UiA...

2014-10-28 09:30:16

阅读数 15114

评论数 3

翻译 Android4.3引入的UiAutomation新框架官方简介

译者序:Google在Android 4.3发布时提供了一套新的UiAutomation框架来支持用户界面自动化测试,该框架通过运用已有的Accessibility APIs来模拟用户跟设备用户界面的交互:比如获取窗口界面控件和注入事件等。如在4.3之前UiAutomator工具是通过InputM...

2014-10-27 11:07:53

阅读数 13283

评论数 0

转载 Android自动化测试中AccessibilityService获取控件信息

ch AccessibilityService为一个响应用户发送AccessibilityEvent事件的服务类,主要用作对于一些辅助功能的实现中。对于某些方面有缺陷的人群,可以通过辅助功能反馈给用户。         AccessibilityService的介绍,网络上有很多,我就...

2014-10-26 21:40:58

阅读数 4494

评论数 3

原创 monkey源码分析之事件注入方法变化

在上一篇文章《Monkey源码分析之事件注入》中,我们看到了monkey在注入事件的时候用到了《Monkey源码分析番外篇之Android注入事件的三种方法比较》中的第一种方法,通过Internal API的WindowManager的injectKeyEvent之类的方法注入事件。这种方法在a...

2014-10-26 09:40:12

阅读数 3003

评论数 0

原创 Monkey源码分析之事件注入

本系列的上一篇文章《Monkey源码分析之事件源》中我们描述了monkey是怎么从事件源取得命令,然后将命令转换成事件放到事件队列里面的,但是到现在位置我们还没有了解monkey里面的事件是怎么一回事,本篇文章就以这个问题作为切入点,尝试去搞清楚monkey的event架构是怎么样的,然后为什么是...

2014-10-25 09:24:16

阅读数 4285

评论数 2

翻译 Monkey源码分析番外篇之Android注入事件的三种方法比较

原文:http://www.pocketmagic.net/2012/04/injecting-events-programatically-on-android/#.VEoIoIuUcaV 往下分析monkey事件注入源码之前先了解下在android系统下事件注入的方式,翻译一篇国外文章如下。...

2014-10-24 16:54:52

阅读数 7173

评论数 1

翻译 Monkey源码分析番外篇之WindowManager注入事件如何跳出进程间安全限制

在分析monkey源码的时候有些背景知识没有搞清楚,比如在看到monkey是使用windowmanager的injectKeyEvent方法注入事件的时候,心里就打了个疙瘩,这种方式不是只能在当前应用中注入事件吗?Google了下发现了国外一个大牛有留下蛛丝马迹描述这个问题,特意摘录下来并做相应部...

2014-10-24 15:23:48

阅读数 3480

评论数 3

转载 Android 之 ServiceManager与服务管理

转载处:http://blog.csdn.net/xieqibao/article/details/6585143 ServiceMananger是android中比较重要的一个进程,它是在init进程启动之后启动,从名字上就可以看出来它是用来管理系统中的service。比如:InputMeth...

2014-10-24 12:25:09

阅读数 1121

评论数 0

转载 ActivityManager框架解析

转载chu c ActivityManager在操作系统中有重要的作用,本文利用操作系统源码,逐步理清ActivityManager的框架,并从静态类结构图和动态序列图两个角度分别进行剖析,从而帮助开发人员加强对系统框架及进程通信机制的理解。 ActivityManager的作用 参照SDK...

2014-10-24 11:16:25

阅读数 1554

评论数 0

原创 Monkey源码分析之事件源

上一篇文章《Monkey源码分析之运行流程》给出了monkey运行的整个流程,让我们有一个概貌,那么往后的文章我们会尝试进一步的阐述相关的一些知识点。 这里先把整个monkey类的结构图给出来供大家参考,该图源自网上(我自己的backbook pro上没有安装OmniGraffle工具,55美金,...

2014-10-24 08:56:14

阅读数 3635

评论数 0

原创 Monkey源码分析之运行流程

在《MonkeyRunner源码分析之与Android设备通讯方式》中,我们谈及到MonkeyRunner控制目标android设备有多种方法,其中之一就是在目标机器启动一个monkey服务来监听指定的一个端口,然后monkeyrunner再连接上这个端口来发送命令,驱动monkey去完成相应的工...

2014-10-23 13:06:11

阅读数 4392

评论数 2

翻译 基于Instrumentation Framework的开源项目AndroidMonkey简介

在上一篇文章《MonkeyRunner和Android设备通讯方式源码分析》中本人提到MonkeyRunner跟目标安卓机器交互的其中一种方式是通过在目标机器端开启'monkey -port $port'来跟monkeyrunner建立连接进行交互的,后来打算下载安卓机器端的...

2014-10-22 13:11:23

阅读数 1829

评论数 0

原创 MonkeyRunner源码分析之启动

在工作中因为要追求完成目标的效率,所以更多是强调实战,注重招式,关注怎么去用各种框架来实现目的。但是如果一味只是注重招式,缺少对原理这个内功的了解,相信自己很难对各种框架有更深入的理解。 从几个月前开始接触ios和android的自动化测试,原来是本着仅仅为了提高测试团队工作效率的心态先行作浅尝即...

2014-10-21 13:50:35

阅读数 3461

评论数 2

原创 MonkeyRunner源码分析之与Android设备通讯方式

如前文《谁动了我的截图?--Monkeyrunner takeSnapshot方法源码跟踪分析》所述,本文主要会尝试描述android的自动化测试框架MonkeyRunner究竟是如何和目标设备进行通信的。 在上一篇文章中我们其实已经描述了其中一个方法,就是通过adb协议发送adb服务器请求的方...

2014-10-20 08:42:48

阅读数 4712

评论数 2

原创 MonkeyRunner源码分析之-谁动了我的截图?

本文章的目的是通过分析monkeyrunner是如何实现截屏来作为一个例子尝试投石问路为下一篇文章做准备,往下一篇文章本人有意分析下monkeyrunner究竟是如何和目标测试机器通信的,所以最好的办法本人认为是先跟踪一个调用示例从高层到底层进行分析,本人以前分析操作系统源代码的时候就是先从用户层...

2014-10-19 15:11:15

阅读数 4249

评论数 0

翻译 adb概览及协议参考

原文:https://github.com/android/platform_system_core/blob/master/adb/OVERVIEW.TXT) Implementation notes regarding ADB. ADB实现注解 1. General Overview: 1概要...

2014-10-19 10:37:23

阅读数 4538

评论数 0

原创 Robotium中调用getActivity()方法导致程序挂起的研究浅析

1. 问题背景描述 在工作中需要在没有项目源码的情况下直接使用robotium测试目标android平台launcher,平台的版本基于当前最新的android 4.4.2。之前在验证可行性的时候使用本人同样使用android4.4.2的测试手机htc incredable s针对一个只有apk的...

2014-10-18 16:18:41

阅读数 3841

评论数 7

原创 MAC中在eclipse luna上搭建移动平台自动化测试框架(UIAutomator/Appium/Robotium/MonkeyRunner)关键点记录

这几天因为原来在用的hp laptop的电池坏掉了,机器一不小心就断电,所以只能花时间在自己的mackbook pro上重新搭建整套环境,大家都知道搭建环境是个很琐碎需要耐心的事情,特别是当你搭建的安卓平台的时候经常需要翻墙,那个慢不是常人可以忍受的,所以过程中建议大家边看书或者玩手机边搭建,省得...

2014-10-16 13:08:53

阅读数 3622

评论数 2

原创 参加香港亚洲秋季电子展经验点滴拾遗

这几天应朋友(也是上一家公司老板故对产品还是比较熟悉)之邀,至香港国际会议展览中心协助参加其公司研发之新产片展览,特将此行经历所获经验点滴记录如下,以供本人和同行参考一二 。 1. 技术不是最重要的,客户和市场导向位王,闭门造车不可取。 大部分客人过来询问的更多的是功能,价钱是否满足期望值,只...

2014-10-16 08:51:29

阅读数 1882

评论数 0

原创 EasyMonkeyDevice vs MonkeyDevice&HierarchyViewer API Mapping Matrix

1. 前言 本来这次文章的title是写成和前几篇类似的《EasyMonkeyDevice API实践全记录》,内容也打算把每个API的实践和建议给记录下来,但后来想了下觉得这样子并不是最好的方法,鉴于EasyMonkeyDevice其实就是在前几章描述的MonkeyDevice和Hierarch...

2014-10-11 13:08:01

阅读数 3667

评论数 0

原创 致网友Wonderfei的一封信(如何选择自动化框架的几点拙见)

MonkeyRunner,Roboitum,UIAutomator和Appium框架的一比较之拙见

2014-10-10 09:04:35

阅读数 4419

评论数 6

原创 MonkeyImage API 实践全记录

1.    背景 鉴于网上使用MonkeyImage的实例除了方法sameAs外很难找到,所以本人把实践各个API的过程记录下来然自己有更感性的认识,也为往后的工作打下更好的基础。同时也和上一篇文章《MonkeyDevcie API 实践全记录》起到相互呼应的作用。 因为并没有MonkeyRun...

2014-10-09 16:49:45

阅读数 2317

评论数 0

原创 MonkeyDevcie API 实践全记录

1.    背景 使用SDK自带的NotePad应用作为实践目标应用,目的是对MonkeyDevice拥有的成员方法做一个初步的了解。 以下是官方列出的方法的Overview。 Return Type Methods Comment void broadcastInte...

2014-10-09 10:27:49

阅读数 2513

评论数 0

原创 MonkenRunner通过HierarchyViewer定位控件的方法和建议(Appium/UIAutomator/Robotium姊妹篇)

1. 背景 在使用MonkeyRunner的时候我们经常会用到Chimchat下面的HierarchyViewer模块来获取目标控件的一些信息来辅助我们测试,但在MonkeyRunner的官网上是没有看到相应的API的描述的,上面只有以下三个类的API引用信息(http://developer.a...

2014-10-07 09:28:05

阅读数 8260

评论数 3

原创 Robotium之Android控件定位实践和建议(Appium/UIAutomator姊妹篇)

本人之前曾经撰文描述Appium和UIAutomator框架是如何定位Android界面上的控件的。 UIAutomator定位Android控件的方法实践和建议 Appium基于安卓的各种FindElement的控件定位方法实践和建议 今天我们换一个渊源更留长,当今更盛行的框架Roboti...

2014-10-05 16:27:10

阅读数 9586

评论数 0

原创 Eclipse上修改Jython代码的Comment颜色

1.问题起因 根据上一篇文章《MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)》搭配好Eclipse上面的MonkeyRunner开发环境后,尝试写一段代码来测试下notepad应用,但发觉编辑器了上面的comment都是灰暗的,...

2014-10-05 15:44:49

阅读数 1696

评论数 0

原创 MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)

网上有一篇shangdong_chu网友写的文章介绍如何在Eclipse上配置MonkeyRunner,做了挺好的一个描述,但经过我的试验在我的环境上碰到了Jython解析器出错的问题,且该文章缺少Pydev安装的步骤,所以这里按照本人的情况从新撰文描述如何在Eclipse上把MonkeyRunn...

2014-10-05 14:47:20

阅读数 7366

评论数 6

转载 ADB server didn't ACK

出处:http://jingyan.baidu.com/article/454316aba27e49f7a7c03ab1.html 1 2 3 4 5 6 7 分步阅读 当我们通过eclipse开发And...

2014-10-04 11:40:36

阅读数 1279

评论数 0

原创 UIAutomator定位Android控件的方法实践和建议(Appium姊妹篇)

在本人之前的一篇文章Appium基于安卓的各种FindElement的控件定位方法实践和建议>>第二章节谈到Appium可以通过使用UIAutomator的方法去定位Android界面上的控件,当时只是一笔带过举了个例子。如该文给自己的承诺,今天特撰写此文以描述UIAutomator各...

2014-10-04 10:07:48

阅读数 23106

评论数 8

原创 Appium测试安卓Launcher以滑动窗体获得目标应用

所谓Launcher,指的是安卓的桌面管理程序,所有的应用图标都放在launcher上面。其实这是一个很简单的例子,只是为了验证几点想法而已。 1.实验目的 做这个试验的目的有二 尝试下窗体滑动函数swipe的使用好奇究竟能不能正常的对安卓的Launcher进行指定package和activi...

2014-10-03 14:28:47

阅读数 3727

评论数 0

原创 Appium根据xpath获取控件实例随笔

如文章《Appium基于安卓的各种FindElement的控件定位方法实践》所述,Appium拥有众多获取控件的方法。其中一种就是根据控件所在页面的XPATH来定位控件。 本文就是尝试通过自己的试验来尝试对Appium如何用xpath来定位控件做一个阐述,当中如有不对的地方敬请大家指出。 1. 背...

2014-10-03 10:45:11

阅读数 26617

评论数 3

原创 Appium基于安卓的各种FindElement的控件定位方法实践和建议

AppiumDriver的各种findElement方法的尝试,尝试的目标应用是SDK自带的Notepad应用。 1. findElementByName 1.1 示例 el = driver.findElementByName("Add note"); ...

2014-10-03 10:17:31

阅读数 38850

评论数 4

翻译 Appium0.18.x迁移到Appium1.x须知事项(灰常有用,解答了本人几个疑问)

英文原版:https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/migrating-to-1-0.md Migrating your tests from Appium 0.18.x to Appium 1....

2014-10-03 09:52:28

阅读数 6115

评论数 0

转载 [content-description] find_element_by_accessibility_id 在 android 中的详解

最近 Appium 引入了一个新的 find element 方法:python client 为例 def find_element_by_accessibility_id(self, id): """Finds an element by...

2014-10-01 18:35:29

阅读数 3627

评论数 0

提示
确定要删除当前文章?
取消 删除