自定义博客皮肤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; 最新动向: 回炉重造高数线代概论,为机器学习打基础...

翻译 一分钟告诉你究竟DevOps是什么鬼?

为了能够更好的理解什么是DevOps,我们很有必要对当时还只有程序员(此前还没有派生出开发者,前台工程师,后台工程师之类)这个称号存在的历史进行一下回顾。如编程之道中所言:老一辈的程序员是神秘且深奥的。我们没法揣摩他们的想法,我们所能做的只是描述一下他们的表象。 清醒的像一只游过水面的狐狸 警惕的...

2015-12-07 10:56:23 39516 9

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

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

2014-10-03 10:17:31 39242 4

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

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

2014-10-03 10:45:11 26790 3

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

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

2014-10-04 10:07:48 23418 8

翻译 发现新大陆:一个最简单的破解SSL加密网络数据包的方法

一般来说,我们用WireShark来抓取包进行分析是没有多大问题的。但这里有个问题是,如果你碰到的是用SSL/TLS等加密手段加密过的网络数据的时候,往往我们只能束手无策。在过去的话,如果我们拥有的该传输会话的私钥的话我们还是可以将它提供给WireShark来让其对这些加密数据包进行解密的,但这已...

2015-02-14 10:13:55 16817 0

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

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

2014-10-28 09:30:16 15435 3

原创 AppiumDriver升级到2.0.0版本引发的问题--Cannot instantiate the type AppiumDriver

1. 问题描述和起因 在使用Appium1.7.0及其以下版本的时候,我们可以直接使用如下代码来创建一个AppiumDriver实例进行对安卓设备的操作。 driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub&q...

2014-10-01 13:05:33 15359 6

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

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

2014-10-27 11:07:53 13683 0

原创 Wowza流媒体Live直播和VOD点播配置实战

Wowza是当今可以说最流行的流媒体服务器之一,近来因为需要搭建相应的服务器,但又不想用camera等作真实的直播,所以想办法用媒体文件转换成直播流再提供给Wowza进行直播。这里把该设置步骤以及设计VOD的步骤给出来,希望能让有需要的人少走弯路。 1. 简介 WowzaStreaming ...

2015-01-06 13:59:10 13639 2

原创 UiAutomator源码分析之UiAutomatorBridge框架

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

2014-10-28 13:44:58 10642 2

原创 Robotium源码分析之Instrumentation进阶

在分析Robotium的运行原理之前,我们有必要先搞清楚Instrumentation的一些相关知识点,因为Robotium就是基于Instrumentation而开发出来的一套自动化测试框架。鉴于之前本人已经转载和编写了Instrumentation的一些文章,所以建议大家如果没有看过的还是翻看...

2014-11-11 13:53:37 10571 4

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

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

2014-10-29 09:25:15 10569 4

转载 (转载)查看Android应用包名package和入口activity名称

使用android自动化测试工具monkeyrunner启动应用时,需要填写被测程序的包名和启动的Activity,以下有两种查看应用包名package和入口activity名称的方法: 方法一:使用aapt    //aapt是sdk自带的一个工具,在sdk\builds-tools\目录下 ...

2014-08-29 15:55:43 10071 0

原创 《乌合之众》思维导图及优秀读后感

这几天看了来自古斯塔夫·勒庞(Gustave Le Bon 1841.05.07-1931.12.13)的大众心理学名著《乌合之众》,发现名著果然是名著,内容不多,却异常晦涩难懂。为了方便没有读过的朋友能够快速的把握这本书的主旨,下面我将其做成一张思维导图,希望能帮助到大家。图片有点小,但是放大了...

2015-08-06 19:14:59 10061 0

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

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

2014-10-05 16:27:10 9633 0

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

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

2014-10-07 09:28:05 8297 3

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

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

2014-10-05 14:47:20 7486 6

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

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

2014-10-24 16:54:52 7342 1

翻译 移动应用跨平台框架江湖将现终结者?速来参拜来自Facebook的React Native

React Native使用初探February 06 2015Facebook让所有React Conf的参与人员都可以初尝React Native的源码---一个编写原生移动应用的方法。该方法运用了React.js的所有强大的功能来将其应用到原生应用。你可以通过使用其内嵌的基本元素来编写基于J...

2015-02-08 14:09:07 7299 0

原创 Ant如何打包UIAutomator项目用到的第三方JAR包

本文章主要描述UIAutomator项目中引用到第三方Jar包的时候,按照正常的打包方式碰到的各种问题,以及最终解决的思路和办法。 1. 问题起源 在本人的一个示例项目中引用到了单元测试框架hamcrest的jar包,在项目目录下执行ant build的时候出现以下的问题 源码如下: pack...

2014-09-24 10:18:36 7121 4

原创 Appium架构框架图整理

Appium架构框架图整理

2014-09-21 18:07:47 7059 0

原创 UIAutomator中滚动ListView获得目标TextView控件对象的经验点滴

当创建一个UiScrollable对象时,如果指定的参数是new UiSelector().scrollable(true),那么会出现以下问题 当可滚动控件(比如ListView)不满一页不需要滚动时,创建的UiSrollable对象返回值是为空的。 所以以下代码是错误的: //Find o...

2014-09-24 00:26:48 6858 0

原创 小白学react之调用微信jssdk实战

本打算网上找个react调用微信的jssdk的实例进行学习的,但可惜搜索了半天而未果,只有一些基于其他框架的。估计是大牛们都觉得太简单或者太忙了,懒得提笔花几个小时来给我们做个Demo。对于处于快速学习年代的我们,一个可以运行起来的示例是多么的重要。希望本示例可以起到抛砖引玉的作用,让大家能快速的...

2017-04-23 11:30:12 6846 2

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

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

2014-10-30 14:50:50 6834 0

原创 小白学react之restful api获取服务器数据实战

通过上一篇文章《[小白学react之React Router实战](http://techgogogo.com/2016/09/react_router/)》我们学习了在React Router的基本功能,并根据路由功能建立了一个导航栏,可以方便的切换查看Locations和About。 但是,...

2016-09-29 15:38:02 6674 0

原创 移植MonkeyRunner的图片对比和获取子图功能的实现-Appium篇

如果你的目标测试app有很多imageview组成的话,这个时候monkeyrunner的截图比较功能就体现出来了。而其他几个流行的框架如Robotium,UIAutomator以及Appium都提供了截图,但少了两个功能: 获取子图图片比较 既然Google开发的MonkeyRunner能盛行...

2014-11-06 13:28:19 6601 4

原创 为网上流行论点“UIAutomator不能通过中文文本查找控件”正名

1. 问题描述和起因 相信大家学习UIAutomator一开始的时候必然会看过一下这篇文章。 Android自动化测试(UiAutomator)简要介绍 因为你在百度输入UIAutomator搜索的时候,该文章是排在第一位的。 但是里面有一段说法说UIAutomator不能支持通过中文文本查...

2014-10-01 14:31:27 6375 7

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

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

2014-10-28 16:24:05 6187 0

翻译 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 6184 0

原创 需求驱动还是技术驱动,大跃进的聊天机器人在开着一辆往历史倒退的车

F8大会的那个引爆的聊天机器人相信大家已经耳熟能详,但我们真的是需要这样的一个聊天机器人吗?Facebook是在大跃进穿越未来,还是在开着历史的倒车呢?李敖有话说:“是这样吗?真的是这样子吗?”

2016-04-22 09:10:33 6072 0

原创 Appium Server源码分析之作为Bootstrap客户端

Appium Server拥有两个主要的功能: 它是个http服务器,它专门接收从客户端通过基于http的REST协议发送过来的命令他是bootstrap客户端:它接收到客户端的命令后,需要想办法把这些命令发送给目标安卓机器的bootstrap来驱动uiatuomator来做事情 通过上一...

2014-11-04 13:23:17 5737 1

原创 传递给Appium服务器以开启相应安卓Automation会话的Capabilities的几点说明

Desired Capabilities是由客户端发送给Appium服务器端的用来告诉服务器去启动哪种我们想要的会话的一套键值对集合。当中也有一些键值对是用来在自动化的过程中修改服务器端的行为方式的。比如,我们可以把键为platformName的capability的值设置成iOS来告诉服务器我们...

2014-09-20 13:34:14 5727 0

原创 nodejs通过lodash合并去重由unixtime和Date组成的两个数组

1. 问题起源 最近在实现一个API,其中有一部分功能是需要从Mongodb中取出一个由Date对象组成的数组,然后将客户端传过来的unixtime合并到该数组中,并且去重复。 比如,假设从mongodb中取回来的数据中有一个叫做gaming的项,专门用来记录用户进入游戏的开始时间和退出时...

2017-04-28 13:32:48 5701 0

原创 移植MonkeyRunner的图片对比和获取子图功能的实现-UiAutomator/Robotium篇

根据前一篇文章《移植MonkeyRunner的图片对比和获取子图功能的实现-Appium篇》所述,因为Appium和MonkeyRunner有一个共同点--代码控制流程都是在客户端实现的。所以要把MonkeyRunner在PC端实现的图片比对和获取子图功能移植到同样是在PC端运行的Appium是很...

2014-11-12 09:58:34 5511 4

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

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

2014-10-31 10:49:43 5452 3

原创 Android adb端口转发调试助手Packet Sender

相信大家做过安卓开发或者安卓自动化测试开发的都离不开adb这个Android Debug Bridge这个工具,该工具有个很重要的功能就是端口转发。比如你在目标安卓机器端建立了一个服务来处理获取当前界面元素,监听的是设备本机网络上的端口5555,那么在pc客户端你就可以执行"adb fo...

2015-02-15 12:20:35 5419 0

原创 Appium创建一个Note的实例

近来通过Appium,Robotium等几个框架去了解移动平台自动化测试。Appium官方实例是使用ContactManager.apk,而Robotium使用的是SDK自带的Notepad.apk,为了方便比较,在了解Appium的同时把实例修改成跟Robotium一致的Notepad.apk并...

2014-09-23 18:27:52 5389 1

原创 Appium 服务器端从启动到case完成的活动分析

此文的目的主要是通过分析Appium Server打印出来的log,加深对Appium Server所扮演角色的理解。 这整一个过程是由一个Test Case开始执行到结束,测试的对象是SDK自带的NotePad.apk。 Test Case很简单:打开Notepad程序,然后点击安卓的Menu...

2014-09-22 11:22:45 5290 3

原创 Appium Android Bootstrap源码分析之启动运行

通过前面的两篇文章《Appium Android Bootstrap源码分析之控件AndroidElement》和《Appium Android Bootstrap源码分析之命令解析执行》我们了解到了Appium从pc端发送过来的命令是如何定位到命令相关的控件以及如何解析执行该命令。那么我们剩下...

2014-11-01 10:31:27 4938 2

原创 Appium Server 源码分析之启动运行Express http服务器

通过上一个系列Appium Android Bootstrap源码分析我们了解到了appium在安卓目标机器上是如何通过bootstrap这个服务来接收appium从pc端发送过来的命令,并最终使用uiautomator框架进行处理的。大家还没有这方面的背景知识的话建议先去看一下,以下列出来方便大...

2014-11-02 15:25:45 4807 2

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