文档章节

主流移动自动化测试框架对比

维他ViTa
 维他ViTa
发布于 2017/08/04 15:07
字数 933
阅读 347
收藏 1

选择框架之前,考虑一个问题:我们需要什么样的自动化测试框架?

        稳定性好,可移植性好,支持多应用交互,执行效率高,容易上手,开发效率高,方便调试,控件易捕获...

 Monkey

        Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。

  • 优点:执行过程简单,速度快,能发现一些非常规路径和较深层次的问题。
  • 缺点:执行过程不可控,不支持诸如录制、回放,截屏等功能。

 Monkey Runner

        Monkeyrunner可以说是“monkey之子”,其主要依靠一下三个类来工作:Monkey Runner API,Monkey Device API,Monkey Image API。

        相比较与Monky,monkeyrunner已经提供了许多可供操作的,功能强大的API,但是和Monkey一样也有其不好的地方,就是二者都是依靠控件的坐标进行定位的,而坐标定位恰恰是项目中最不稳定的因素,随时可能因为程序员对空间位置的调整而导致脚本失效。

  • 优点:功能较为丰富。
  • 缺点:坐标定位控件,移植性差。

Instrumentation 

        Instrumentation是Android主推的白盒测试框架。在单元测试的基础上进行功能扩展,达到对Android系统的高度控制。

Instrumentation框架的运行流程:

  • 优点:
    • 脚本稳定性高(ID一般变动较少)          
    • 可移植性好(控件位置移动对其影响不大)          
    • 运行效率高(直接调用控件操作)          
    • 调试方便(与源码一起调试)
  • 缺点:
    • 门槛很高,由于此框架是基于源码,脚本开发者必须对java语言,android框架运行机制以及IDE有相当了解,并且需要能够读懂源码;          
    • 另外一个最大的问题就是不支持多应用交互,由于基于源码,android系统自身的安全性限制,禁止进程间相互访问。

Robotium

        Robotium是基于Instrumentation白盒测试框架的二次封装,使得脚本的开发更高效。Robotium既支持基于源码的测试,又支持基于apk的测试。并同时支持Native App和Hybrid App的自动化测试,其主要的操作API位于Solo类当中。 

  • 优点:          
    • API使用简单,执行速度快          
    • 源码代码量也不大,方便进行二次开发,定制自己需要的功能          
    • 同时支持基于apk和源码的自动化测试
  • 缺点:          
    • 不支持跨进程操作

UIAutomator

        与Instrumentation相比,无需源码,脚本难度低,开发效率高,支持交互,可以获取控件的详细信息,稳定性高,调试简单。

Appium

         Appium是一个自动化开源框架,支持IOS平台和Android平台上的原生应用、web应用和混合应用的测试。Appium最显著的特点是:它是一个跨平台的工具,即它允许测试人员在不用的平台(IOS,Android),使用不同的开发语言(java,python,ruby),使用同一套API来编写测试脚本,这大大增加了IOS和Android的代码的复用性。          

        Appium遵循一种哲学,重点体现在以下四个需求:

        Appium结构:Appium采用C/S架构,其核心是一个web服务器,他提供一套REST的接口。它收到客户端的连接,监听到命令,然后在移动端执行这些命令,再将执行结果放在HTTP响应中返还给客户端。

        

 

本文转载自:课程

共有 人打赏支持
维他ViTa
粉丝 12
博文 135
码字总数 44057
作品 0
深圳
程序员
移动 App 云测试平台的对比与分析

本文作者:伯乐在线 -ThoughtWorks 。未经作者许可,禁止转载! 欢迎加入伯乐在线专栏作者。 文章作者/配图来自ThoughtWorks:黄勇,未经允许,谢绝转载。 我们都知道在测试移动app时最耗时的...

伯乐在线
2016/06/06
0
0
自动化测试平台 - LuckyFrameClient

LuckyFrame测试平台是一款免费开源的自动化测试平台,最大的特点是全纬度覆盖了接口自动化、WEB UI自动化、APP自动化,并且支持分布式测试,测试关键字驱动也很大程度上解决了测试同学代码基...

海鸥seagull
2017/03/30
0
0
自动化测试技术解决方案

子曰“工欲善其事,必先利其器”,有一把顺手的“兵器”,能让我们的学习和工作达到事半功倍的效果 一、技术解决方案要求说明 不管选择什么技术解决方案,总得来说,应该要满足下面几个条件:...

阿阳啊啊
2017/11/18
0
0
Web 自动测试框架--PhoenixAutotest

本项目是一个基于 Selenium 的 Web 自动测试框架,通过该框架可以简化测试人员的学习难度,只要编写少量的 Java 代码即可,大多数的工作都是编写页面元素的描述文件以及对应的数据源。以下是...

素人派
2017/02/15
1K
1
《精通移动app测试实战:技术、工具和案例》新书上市

图书购买链接: 京东网:http://item.jd.com/11891239.html 当当网:http://product.dangdang.com/23924601.html 亚马逊:https://www.amazon.cn/%E5%9B%BE%E4%B9%A6/dp/B01D10NSKE 互动网:......

fish_yy
2016/04/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

腾讯投资最高1.75亿美元正式进军菲律宾移动支付市场

菲律宾长途电话公司(PLDT)公司今日宣布,中国互联网巨头腾讯和私募股权公司KKR将获得该公司旗下金融科技公司Voyager Innovations的少数股权。 PLDT在一份声明中称:“腾讯和KKR最多将分别收...

linuxCool
16分钟前
1
0
正则介绍及grep/egrep用法

10月16日任务 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下 扩展 把一个目录下,过滤所有*.php文档中含有eval的行 grep -r --include="*.php" 'eval' /data 正则介绍 正则就是一串有规律的字符...

hhpuppy
27分钟前
0
0
J2Cache 中使用 Lettuce 替代 Jedis 管理 Redis 连接

一直以来 J2Cache 都是使用 Jedis 连接 Redis 服务的。Jedis 是一个很老牌的 Redis 的 Java 开发包,使用很稳定,作者维护很勤勉,社区上能搜到的文章也非常非常多。算是使用范围最广的 Redi...

红薯
今天
11
0
一个可能的NEO链上安全随机数解决方案

0x00 困境 链上安全随机数生成应该算是一个比较蛋疼的问题,哪怕你的系统再牛逼,合约程序困在小小的虚拟机里,哪怕天大的本事也施展不开。 更悲催的是,交易执行的时候,是在每一个节点都执...

暖冰
今天
1
0
【大福利】极客时间专栏返现二维码大汇总

我已经购买了如下专栏,大家通过我的二维码你可以获得一定额度的返现! 然后,再给大家来个福利,只要你通过我的二维码购买,并且关注了【飞鱼说编程】公众号,可以加我微信或者私聊我,我再...

飞鱼说编程
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部