问题:昨天做测试Case,发现一个网游APK运行界面,uiautomator无法捕捉获取。因而输入的时候只得运用(dut.onclick(int a, int y))坐标点击的方法来输入用户名和密码。既无法具有屏幕的适应性,也使得输入代码繁杂,容易出错。解决方法: 使用UiDevice.getIns...
分类:
移动开发 时间:
2014-11-25 01:41:59
阅读次数:
593
本文适合所有以图片作为输出的自动化开发工具(不仅限于Android)。
当我们进行一组自动化测试后,除了通过断言,往往还会采用截图比对的方式分析测试结果,这种情况下人力再次成为效率的瓶颈,能否通过一定的方式对图片进行预处理,将Diff 的区域标出,方便开发人员进行分析呢?
本文的方法是通过一个bash脚本获得图片的不同之处,并生成一个可视化的html文件。以帮助开发/测试人员快速分析测试结果。...
分类:
移动开发 时间:
2014-11-17 17:59:31
阅读次数:
220
从上一章《Robotium源码分析之Instrumentation进阶》中我们了解到了Robotium所基于的Instrumentation的一些进阶基础,比如它注入事件的原理等,但Robotium作为一个测试框架,其功能远不止于只是方便我们注入事件,其应该还包含其他高级的功能,参照我们前面其他框架如MonkeyRunner,UiAutomator和Appium的源码分析,我们知道一个移动平台自动...
分类:
其他好文 时间:
2014-11-12 10:38:39
阅读次数:
292
根据前一篇文章《移植MonkeyRunner的图片对比和获取子图功能的实现-Appium篇》所述,因为Appium和MonkeyRunner有一个共同点--代码控制流程都是在客户端实现的。所以要把MonkeyRunner在PC端实现的图片比对和获取子图功能移植到同样是在PC端运行的Appium是很容易的事情,但是对于在服务器端运行的Robotium和UiAutomator就是另外一回事了。
因为...
分类:
其他好文 时间:
2014-11-12 10:35:45
阅读次数:
191
如果你的目标测试app有很多imageview组成的话,这个时候monkeyrunner的截图比较功能就体现出来了。而其他几个流行的框架如Robotium,UIAutomator以及Appium都提供了截图,但少了两个功能:
获取子图图片比较
既然Google开发的MonkeyRunner能盛行这么久,且它体功能的结果验证功能只有截屏比较,那么必然有它的道理,有它存在的价值,所以我们很有必...
分类:
其他好文 时间:
2014-11-06 14:56:24
阅读次数:
166
通过上一篇文章《Appium Android Bootstrap源码分析之简介》我们对bootstrap的定义以及其在appium和uiautomator处于一个什么样的位置有了一个初步的了解,那么按照正常的写书的思路,下一个章节应该就要去看bootstrap是如何建立socket来获取数据然后怎样进行处理的了。但本人觉得这样子做并不会太好,因为到时整篇文章会变得非常的冗长,因为你在编写的过程中碰...
分类:
移动开发 时间:
2014-10-31 12:01:28
阅读次数:
292
在上一个系列中我们分析了UiAutomator的核心源码,对UiAutomator是怎么运行的原理有了根本的了解。今天我们会开始另外一个在安卓平台上基于UiAutomator的新起之秀--Appium的源码分析之旅。
本文在真个系列中会扮演一个简介的角色,不会分析任何的代码,只会先给大家一个基本的印象,方便大家在持有这个印象的基础上往下和本人一块分析。
1. Bootstrap定义及在Appi...
分类:
移动开发 时间:
2014-10-30 15:20:30
阅读次数:
243
Android自动化测试 :Top-Down的要点概括
一、测试方法
1、功能型测试 monkeyrunner、uiautomator
2、随机事件 monkey
二、发现问题
3、监测内存是否有泄露 工具
4、监测是否有ANR 日志 (/data/anr)
5、监测是否有Crash 日志(/data/system/drop...
分类:
移动开发 时间:
2014-10-30 00:19:09
阅读次数:
229
根据上一篇文章《UiAutomator源码分析之注入事件》开始时提到的计划,这一篇文章我们要分析的是第二点:
如何获取控件信息
我们在测试脚本中初始化一个UiObject的时候通常是像以下这个样子:
UiObject appsTab = new UiObject(new UiSelector().text("Apps"));
appsTab.click()那么这个过程发生了什么呢?这就是...
分类:
其他好文 时间:
2014-10-29 10:58:35
阅读次数:
227
上一篇文章《UiAutomator源码分析之UiAutomatorBridge框架》中我们把UiAutomatorBridge以及它相关的类进行的描述,往下我们会尝试根据两个实例将这些类给串联起来,我准备做的是用如下两个很有代表性的实例:
注入事件获取控件
这一篇文章我们会通过分析UiDevice的pressHome这个方法来分析UiAutomator是如何注入事件的,下一篇文章会描述...
分类:
其他好文 时间:
2014-10-28 17:56:39
阅读次数:
317