Android 测试 Appium、Robotium、monkey而其他的框架或工具控制
1. Appium測试 (功能測试,用户接受度測试,黑盒測试) - Rating: 8
Website: http://appium.io/
Appium測试相当于黑盒測试。
仅仅是測试UI逻辑正确性。所以Appium測试框架提供的方法有限。获取一个AppiumDriver对象。该对象仅仅是有非常多findElements()的方法,获取到UI元素。UI元素是WebElement,这个类提供的方法基本是获取信息为主。比方获取name,class,tagName,location,text。isSlected,isTouched等信息。另一个点击事件产生函数click()。
遗憾的是没有longClick()事件。整个測试框架仅仅有这2个比較实用的对象能够操作。所以总体上看,这个这个測试框架,仅仅是測试UI逻辑的正确性,不能升入測试业务逻辑流程。也没有办法去检測。
Pros:
- Open Source
- 能够使用不同语言来编写測试代码
- 能够測试不同平台程序:Android/iOS/Web/Hybrid
- 社区较活跃
2. Robotium測试 (功能測试,用户接受度測试。黑盒+白盒測试) - Rating: 8
Website:https://code.google.com/p/robotium/
Pros:
- Quite popular for android testing
- 能够对源代码測试,也能够測试apk
- 能够測试Android Native和Android Hybrid App
- 能够測试网络链接和声音等
- Open Source
- 社区较活跃,资料比較好找
3. AndroidTest (单元測试,逻辑測试,白盒測试)
这个在https://developer.android.com/tools/testing/index.html SDK中有具体描写叙述。可以针对Android各种组件进行測试,包括ActivityTest,ServiceTest,ContentProviderTest。
可以获取每个组件的
资源,而且注入代码进行測试。
1) Activity Testing 主要是測试Activity的。主要測试的方向是下面三个方向:
- 对于Activity的生命周期的控制。
- Dependency injection: Instrumentation allows you to create mock system objects such as Contexts or Applications and use them to run the activity under test. This helps you control the test
environment and isolate it from production systems. You can also set up customized Intents and start an activity with them.(翻译不太好,大概就说依靠注入去产生模拟对象然后模拟系统环境。) - 控制UI的控件元素,然后产生触控事件。这个功能类似Appium描写叙述的。
2) Service Testing 測试的是Service生命周期是否正常
3) Content Povider Testiing 由于provider是一个数据出入口,所以測试的是数据是否能正常被读取出来,是否能正常写入。
測试这个provider提供的URI是否所有正常。測试一些非法的URI是否可以被拦截等。 总的来说Android自带的是单元測试。
适合白盒測试。Android 自带的Test的话可以获取的UI界面或者什么的很多其它的信息,提供的測试方式也很多其它。
4. Monkey (压力測试)
这个是Android提供的系统工具。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等)。实现对正在开发的应用程序进行压力測试。
Monkey測试是一种为了測试软件的稳定性、健壮性的高速有效的方法。
- 測试的对象仅为应用程序包。有一定的局限性。
- Monky測试使用的事件流数据流是随机的。不能进行自己定义。
- 可对MonkeyTest的对象,事件数量。类型。频率等进行设置。
在SDK 有具体描写叙述http://developer.android.com/tools/help/monkey.html。在SDK中有測试的具体參数描写叙述。这个仅仅是个測试工具不涉及编码
5. monkeyRuner (功能測试。用户接受度測试,黑盒測试) - Rating:5
SDK:http://developer.android.com/tools/help/monkeyrunner_concepts.html 这个是用python编码实现的測试。
主要有3个类MonkeyDevice、MonkeyImage、MonkeyRuner。
最主要是通过执行程序。在程序中提供按键或触摸事件的输入数值然后截屏,通过截屏对照是否是正常的执行。事件API:
press (string name, dictionary type) touch (integer x, integer y, integer type) drag (tuple start, tuple end, float duration, integer steps) startActivity (string uri, string action, string data, string mimetype, iterable categories dictionary extras, component
component, flags) 等事件,具体请參考API。
6. UIAutomator - 官方 (黑盒測试,功能測试) - Rating: 7
SDK:http://developer.android.com/tools/testing/testing_ui.html
Pro:
- 能够測试须要在不同app之间切换的情况
- 官方支持
Cons:
- 仅仅能測试Android native app
- 须要Android SDK 4.1+
- 无法获取当前load的activity
- 无法做网络链接測试和声音測试
- debug过程比較麻烦
主要功能跟APPIUM类似,主要类UIDevice,UiObjec,UiSelector。UiCollection。
UIdevice更Appium的AppiumDriver类比。剩下的更WebElement类比仅仅是划分得更具体。功能上也更Appium类似。通过text。className等信息找到UI控件然后进行操作。
7. MonkeyTalk (白盒,功能测试)
版权声明:本文博客原创文章,博客,未经同意,不得转载。
Android 测试 Appium、Robotium、monkey而其他的框架或工具控制的更多相关文章
- 转:Android 测试 Appium、Robotium、monkey等框架或者工具对比
原文地址:http://demo.netfoucs.com/u012565107/article/details/36419297# 1. Appium测试 (功能测试,用户接受度测试,黑盒测试) - ...
- Android 测试 Appium、Robotium、monkey等框架或者工具对比
1. Appium测试 (功能测试,用户接受度测试,黑盒测试) - Rating: 8 Appium测试相当于黑盒测试.只是测试UI逻辑正确性.所以Appium测试框架提供的方法有限.获取一个Appi ...
- Android 测试入门之---Monkey test
这周重点学习的也是Android monkey test 的一些相关知识,也对其进行了初步的操作和试验.讲学习资料整理如下 : Monkey是一个命令行工具 ,可以运行在模拟器里或实际设备中.它向系统 ...
- [Android测试] Appium的一些坑问题错误解决 与 技巧集锦
转:https://blog.csdn.net/niubitianping/article/details/52624417 1. error: Failed to start an Appium s ...
- 【Android测试】【第六节】Monkey——认识和使用
◆版权声明:本文出自carter_dream的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4688880.html 自动化工具 接触安 ...
- Android APP压力测试(三)之Monkey日志自动分析脚本
Android APP压力测试(三) 之Monkey日志自动分析脚本 前言 上次说要分享Monkey日志的分析脚本,这次贴出来分享一下,废话不多说,请看正文. [目录] 1.Monkey日志分析脚本 ...
- Android APP压力测试(二)之Monkey信息自动收集脚本
Android APP压力测试(二) 之Monkey信息自动收集脚本 前言: 上一篇Monkey介绍基本搬抄官方介绍,主要是为了自己查阅方便.本文重点介绍我在进行Monkey时如何自动收集相关信息 ...
- Android APP压力测试(一)之Monkey工具介绍
Android APP压力测试(一) 之Monkey工具介绍 前言 本文主要介绍Monkey工具.Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动. ...
- Android自动化压力测试图解教程——Monkey工具
[置顶] Android自动化压力测试图解教程--Monkey工具 标签: 测试androidprofiling工具测试工具文档 2012-04-01 10:16 38185人阅读 评论(10) 收藏 ...
随机推荐
- 【UIL框架】Universal-Image-Loader全然解析(一)之介绍与使用具体解释
转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/50439814 本文出自:[江清清的博客] (一).前言: [好消息] ...
- or小计
1.使用or的时候,必须养成两边添加括号,否则结果完全不一样. 2.or条件如果复杂的情况下,可以适当考虑union all改写.
- 数据结构与算法实验题 6.1 s_sin’s bonus
数据结构与算法实验题 6.1 s_sin's bonus ★实验任务 正如你所知道的 s_sin 是一个非常贪玩的人 QAQ(如果你非常讨厌他请直接从第二段开 始看),并且令人感到非常遗憾的是,他是一 ...
- 5DXTPlayer串口调试小结
小结 过程总是艰难. 首先是没有准备好. 没有安装vs2012,安装的时候,出现各种状况,因为先安装的2013高版本,造成12安装不正确,程序编译出问题.没有办法,只好卸载vs2012,2013及其各 ...
- Java中compareTo()方法比较字符串详解
中心:String 是字符串,它的比较用compareTo方法,它从第一位开始比较, 如果遇到不同的字符,则马上返回这两个字符的ascii值差值.返回值是int类型 1.当两个比较的字符串是英文且长度 ...
- Java 线程第三版 第九章 Thread调度 读书笔记
一.Thread调度的概述 import java.util.*; import java.text.*; public class Task implements Runnable { long n ...
- Eclipse下配置Ant脚本 自己主动打包带签名的Android apk
尽管eclipse非常少用了,可是在古老的项目上还是会用到.一个麻烦事是打带签名包的时候.非常不方便.下边纪录下配置ant,自己主动打包带签名apk的过程,作为备忘.(PC环境为MAC) 1,第一步得 ...
- 数学分析告诉偶们什么(vamei)
1]人生的痛苦在于追求错误的东西.所谓追求错误的东西,就是你在无限趋近于它的时候,才猛然发现,你和它是不连续的. 2]人和人就像数轴上的有理数点,彼此能够靠得非常近非常近,但你们之间始终存在隔阂. 3 ...
- JSON入门之二:org.json的基本用法 分类: C_OHTERS 2014-05-14 11:25 6001人阅读 评论(0) 收藏
java中用于解释json的主流工具有org.json.json-lib与gson,本文介绍org.json的应用. 官方文档: http://www.json.org/java/ http://de ...
- Android 利用线程运行栈StackTraceElement设计Android日志模块
如果你想在你的Android程序中自动打印MainActivity.onCreate(line:37)这种类名.方法名(行数)的日志该如何实现呢? 1.引入Java的线程运行栈 Java.lang包中 ...