1. Appium测试 (功能测试,用户接受度测试,黑盒测试) - Rating: 8

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等框架或者工具对比的更多相关文章

  1. 转:Android 测试 Appium、Robotium、monkey等框架或者工具对比

    原文地址:http://demo.netfoucs.com/u012565107/article/details/36419297# 1. Appium测试 (功能测试,用户接受度测试,黑盒测试) - ...

  2. Android 测试 Appium、Robotium、monkey而其他的框架或工具控制

    1. Appium測试 (功能測试,用户接受度測试,黑盒測试) - Rating: 8 Website: http://appium.io/ Appium測试相当于黑盒測试. 仅仅是測试UI逻辑正确性 ...

  3. [Android测试] Appium的一些坑问题错误解决 与 技巧集锦

    转:https://blog.csdn.net/niubitianping/article/details/52624417 1. error: Failed to start an Appium s ...

  4. Android 测试入门之---Monkey test

    这周重点学习的也是Android monkey test 的一些相关知识,也对其进行了初步的操作和试验.讲学习资料整理如下 : Monkey是一个命令行工具 ,可以运行在模拟器里或实际设备中.它向系统 ...

  5. 【Android测试】【随笔】性能采集工具——小松鼠诞生记

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4945066.html 起因 去年刚加入TX的时候,我便接手 ...

  6. 5个最佳的Android测试框架(带示例)

    谷歌的Android生态系统正在不断地迅速扩张.有证据表明,新的移动OEM正在攻陷世界的每一个角落,不同的屏幕尺寸.ROM /固件.芯片组以及等等等等,层出不穷.于是乎,对于Android开发人员而言 ...

  7. Android APP压力测试(三)之Monkey日志自动分析脚本

    Android APP压力测试(三) 之Monkey日志自动分析脚本 前言 上次说要分享Monkey日志的分析脚本,这次贴出来分享一下,废话不多说,请看正文. [目录] 1.Monkey日志分析脚本 ...

  8. Android APP压力测试(二)之Monkey信息自动收集脚本

      Android APP压力测试(二) 之Monkey信息自动收集脚本 前言: 上一篇Monkey介绍基本搬抄官方介绍,主要是为了自己查阅方便.本文重点介绍我在进行Monkey时如何自动收集相关信息 ...

  9. Android APP压力测试(一)之Monkey工具介绍

    Android APP压力测试(一) 之Monkey工具介绍 前言 本文主要介绍Monkey工具.Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动. ...

随机推荐

  1. 第三方登录SDK

    紧接着上次的第三方登录文档,这一波又来了. 一.使用qq登录https://connect.qq.com/ 首次登录的话会跳转到应用开发者注册,自己测试的话选择个人.下面的各项自己按真实情况填写. 注 ...

  2. sublime text3 支持终端打开文件

    sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

  3. 2017PHP程序员的进阶之路

    2017PHP程序员的进阶之路 又是一年毕业季,可能会有好多毕业生即将进入开发这个圈子,踏上码农这个不归路.根据这些年在开发圈子总结的LNMP程序猿发展轨迹,结合个人经验体会,总结出很多程序员对未来的 ...

  4. SimpleDateFormat使用和线程安全问题

    SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类. 它允许格式化 (date -> text).语法分析 (text -> date)和标准化. Simpl ...

  5. Pandas日期数据处理:如何按日期筛选、显示及统计数据

    前言 pandas有着强大的日期数据处理功能,本期我们来了解下pandas处理日期数据的一些基本功能,主要包括以下三个方面: 按日期筛选数据 按日期显示数据 按日期统计数据 运行环境为 windows ...

  6. 搭建本地 Registry - 每天5分钟玩转 Docker 容器技术(20)

    Docker Hub 虽然非常方便,但还是有些限制,比如: 需要 internet 连接,而且下载和上传速度慢. 上传到 Docker Hub 的镜像任何人都能够访问,虽然可以用私有 reposito ...

  7. 【译】Envoy with Nomad and Consul (一)

    原文: http://timperrett.com/2017/05/13/nomad-with-envoy-and-consul 在过去的许多年我的职业生涯一直是围绕着数据中心和平台基础设施.工作范围 ...

  8. nodeJS之路径PATH模块

    前面的话 path模块包含一系列处理和转换文件路径的工具集,通过 require('path') 可用来访问这个模块.本文将详细介绍path模块 路径组成 [path.dirname(p)] 返回路径 ...

  9. 深入研究React setState的工作机制

    前言 上个月发表了一篇 React源码学习--ReactClass,但是后来我发现,大家对这种大量贴代码分析源码的形式并不感冒.讲道理,我自己看着也烦,还不如自己直接去翻源码来得痛快.吸取了上一次的教 ...

  10. 解决Ubuntu SMPlayer播放视频无声音问题

    问题:Ubuntu Kylin 14.04 系统默认装好之后,smplayer播放视频都是正常的,但最近可能由于一些误设置,导致smplayer播放任何格式的视频都无声.解决方法:由于ALSA是Lin ...