业界自动化框架简介

1.基于坐标点击触屏:Monkeyrunner,北京博思自研工具

Monkeyrunner:提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件,但您当然也可以将其用于其它目的.是在工作站上通过API定义的特定命令和事件控制设备或模拟器。monkeyrunner的命令语法为:

monkeyrunner -plugin <plugin_jar> <program_filename> <program_options>

个人应用感触:基于坐标点,事先通过python脚本编辑好执行的步骤及坐标,再对所操作的步骤进行循环设置,使得测试对象重复操作已经设置好的步骤.可以根据运行的结果进行截屏比对,得出测试结果.但是个人觉得mongkeyrunner有几个不好,(1)坐标维护,本身就听说坐标不够稳定,如果换了手机或者项目,坐标部分首先要维护,也是很多人说的移植性不是很好.(2)在遇到非测试模块时的问题,不会自动处理.如在测试message,突然后台出现FC(Force close)那么不会自动截屏保存等(3)这个运行在已经稳定的项目上可以,但是如果不稳定,容易出现问题的项目上,就不好判断(我也是不会用如何判断是否是不正常的现象)

北京播思自研工具:这个工具没有见过,不知道是什么样子,只是听说过.也是一款基于坐标的自动化工具

2.基于随机流的单元测试:CTS,monkey

CTS:兼容性测试.当电子产品开发出来,并定制了自己的Android系统后,必须要通过最新的CTS检测,以保证标准的androidapplication能运行在该平台下.

个人理解:在实际工作中见过这个测试,运行在Unbutu/Linux下,需要自己去调试脚本.全部运行的话,耗时比较长,如果单个模块或者包运行还是比较快的,需要设置好一些默认设置.

monkey:一般用于压力测试,通过随机流的输入或者操作验证测试对象的行为.与monkeyrunner有这明显的区别.

个人运用:一般情况下执行单个包的压力测试,有需要的时候也是全部执行.根据参数设置的不同,确定在遇到ANR,FC问题时是否继续执行.通过间隔时间和运行次数完成随机点击时间.在一般的情况下,运行单个包的话,也会运行后台的音乐同时进行测试.

3.基于元素图形对比:Seetest,I-Test

Seetest:http://experitest.com/.支持IOS,android,黑莓,windows phone的平台自动化测试,支持在模拟器或者真机上进行录制,支持在不同的平台上运行相同的用例等等,通过下载Seetest,连接设备,录制和运行测试即可

I-test:只支持root后的手机,至此android 2.以上系统,包括:PC控制手机,录制脚本,运行脚本,日志输出,屏幕截图的功能获取自动化执行过程中的所有日志和图片

4.腾讯的Bita和GT

Bita:腾讯晕测试平台,支持测试应用和手游,用QQ登录,选择测试机型,分辨率,android版本,上传测试的apk即可进行测试,全程无人干预,所有遇到的问题都在反馈在报告中,支持多种格式报告下载.测试完毕阅读报告即可      http://bita.qq.com/

GT:(随身调)是APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE,Integrated Debug&Test Environment)。利用GT,仅凭一部手机,无需连接电脑,您即可对APP进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash日志查看、网络数据包的抓取、APP内部参数的调试、真机代码耗时统计等等;更重要的是,您可以在任意真实场所、任何时候做如上的系列事情,这就是“APP的场测”。如果您觉得GT提供的功能还不够满足您的需要,您还可以利用GT提供的基础API自行开发有特殊功能的GT插件(目前,仅iOS版支持),帮助您解决更加复杂的APP调试、测试问题。GT支持iOS和Android两个手机平台,其中:iOS版是一个Framework包,必须嵌入APP工程,编译出带GT的APP才能使用;iPhone和iPad应用都能支持。Android版由一个可直接安装的GT控制台APP和GT SDK组成,GT控制台可以独立安装使用,SDK需嵌入被调测的应用、并利用GT控制台进行信息展示和参数修改   http://gt.tencent.com/

5.百度云和Itestin,阿里巴巴TMTS

百度云测试:包括了深度性能测试,全面兼容性测试,深度遍历测试,功能回放测试,安全漏洞扫描,特地场景测试.好像还是蛮全面的

testin:Testin是全球最大的移动游戏、应用真机和用户云测试平台,Testin云测试所推出的业界领先的移动互联网真机云测服务平台,主要产品包括RealTest™、 RealAuto™、RealMonitor™,为移动应用开发和服务提供商提供专业的基于真实终端,跨地区真实移动网络的移动应用开发测试、自动原型测试、自动适配测试和应用程序运行质量的监控服务。包括:安装卸载测试,运行稳定性测试,功能遍历测试,性能测试,智能UI适配测试.  http://www.testin.cn/

6.基于控件信息:Robutium+Junit4框架、东舟Smart-Robot、美国风河公司的:wind test managerment

东舟Smart-Robot:

wind test managerment:Wind River Test Management使得 Android设备的测试过程更加顺畅,自动化程度也显著提高。对于运营商、设备制造商、独立软件供应商和芯片供应商来说,采用Wind River Test Management测试其Android设备,不仅可以缩短时间、降低成本、提高软件质量和稳定性,并且能确保设备符合Android兼容性测试套件的规范。不仅如此,Wind River Test Management还可使数量庞大的Android异构测试环节自动化进行,测试结果将被归入统一数据库,从而使测试结果分析更快、更准确。

7.NativeDriver和Selenium(已经被UiAutomaor取代)

优点:
1、跨平台,android平台的源代码已经公开,IOS的不久也将要发布,windows平台的在计划中,以后针对不同的平台都可以使用相同的语言和相同的API来写用例。
2、使用WebDriver API(selenium2.0也加入了WebDriver )进行的扩展,对于熟悉WebDriver的用户,上手会更加的快(PS:还不熟悉WebDriver,有空学习一下)
3、类似于selenium RC的方式来运行测试程序,这个可以看下面的NativeDriver架构图,测试程序通过http+json访问模拟器上的server,然后进行相应的模拟操作
4、元素查找可以直接使用通过hierarchyviewer工具识别出来了资源ID来进行元素查找定位
5、支持WebView控件

Selenium:已经被UIautomator逐步取代

UIautomator:优点:可以对所有操作进行自动化,操作简单;缺点:Android版本需要高于4.0,无法根据控件ID操作,相对来说功能较为局限,但也够用了

个人使用情况:

上面几个工具只用过monkey,monkeyrunner,Uiautomator,其中最后一个也是我要学习的主要工具.希望和大家一起学习

时间: 2024-12-25 15:53:37

业界自动化框架简介的相关文章

APP自动化框架LazyAndroid使用手册(1)--框架简介

作者:cryanimal  QQ:164166060 APP自动化简介 APP自动化,即通过自动化的方式,对APP施行一系列的仿按键输入.触摸屏输入.手势输入等操作,以达到对APP的功能进行自动化测试的目的. 其一般过程如下图所示: APP自动化常用工具简介 Monkey Monkey 是Android SDK 自带的自动化测试工具,可以运行在模拟器里或实际设备中,它向系统发送随机的用户事件流,如按键输入.触摸屏输入.手势输入.Sensor 事件等, 实现对正在开发的应用程序进行表现或者压力测试

基于Selenium的web自动化框架

1 什么是selenium Selenium 是一个基于浏览器的自动化工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.Selenium WebDriver 和Selenium Grid: Selenium IDE:Firefox的一个扩展,它可以进行录制回放,并可以把录制的操作以多种语言(例如java,python等)的形式导出成测试用例. Selenium WebDriver:提供Web自动化所需的API,主要用作浏览

致网友Wonderfei的一封信(如何选择自动化框架的几点拙见)

注:本来这封信要发给Wonerfei网友的,但是因为每次只能发200字,所以干脆贴到博客上,叫Wonderfei同学到这上面来看,也算是我自己的一个临时总结吧.同时也希望大家给予Wonderfei相应的帮助,毕竟我自己的观点不一定正确和完整. Hi Wonderfei, 你好,由于我是博客新手,所以没有留意到你给我发的私信,不好意思. 首先由于我自己也是个新手,也是在学习各种框架然后给公司项目选定相应自动化框架,研究移动自动化测试框架也就近段时间而已,所以我只能从我自己今天为止的认知角度给各个框

Appnium移动自动化框架初探

作者:cryanimal QQ:164166060 本文简要介绍了appnium自动化框架的架构.加载流程.支持语言.相关配置,以及元素定位工具等. 官方网站: http://appium.io Appnium是由SauceLabs支持,一家业界领先的测试产品公司, 有成熟的企业测试解决方案   Appium支持的平台 Android上使用了instrumentation和uiautomator两套技术 iOS使用uiautomation 同时还支持firefox, 并可扩展其他平台   App

单元测试及框架简介 --junit、jmock、mockito、powermock的简单使用

转 单元测试及框架简介 --junit.jmock.mockito.powermock的简单使用 2013年08月28日 14:33:06 luvinahlc 阅读数:6413 标签: 测试工具单元测试Junit实例Mockito 更多 个人分类: 单元测试 推荐一个新手学习Junit4的博客地址:http://www.cnblogs.com/eggbucket/archive/2012/02/02/2335697.html        点击打开链接 一.单元测试 单元测试概念: 所谓MT(M

3分钟手把手带你搭建基于selenium的自动化框架

1 .什么是seleniumSelenium 是一个基于浏览器的自动化工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.Selenium WebDriver 和Selenium Grid: Selenium IDE:Firefox的一个扩展,它可以进行录制回放,并可以把录制的操作以多种语言(例如java,python等)的形式导出成测试用例. Selenium WebDriver:提供Web自动化所需的API,主要用作浏览

Apache—DBUtils框架简介

转载自:http://blog.csdn.net/fengdongkun/article/details/8236216 Apache—DBUtils框架简介.DbUtils类.QueryRunner类 .ResultSetHandler接口 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能.因此dbutils成为很多不喜欢hibernat

OSGi原理与最佳实践:第一章 OSGi框架简介(2)

OSGi原理与最佳实践:第一章 OSGi框架简介(2) 由  ValRay 发布 已被浏览4884次 共有3条评论 已被3个人收藏 2013-08-16 21:23 顶(0) 踩(0) osgi原理与最佳实践 1.1.4 开发传统类型的应用 1.1.4.1 B/S 我们首先来看一下,如何基于 OSGi 来开发 B/S 结构的应用.B/S 结构应用程序的开发,可有两个选择:一个是在 OSGi 的框架中嵌入 Http 服务器,另外一个是在 Servlet 容器中嵌入 OSGi 框架.下面分别介绍这两

OSGi原理与最佳实践:第一章 OSGi框架简介(5)Spring-DM

OSGi原理与最佳实践:第一章 OSGi框架简介(5)Spring-DM 由  ValRay 发布 已被浏览8409次 共有3条评论 已被2个人收藏 2013-08-16 21:29 顶(1) 踩(0) osgi原理与最佳实践 1.3 Spring-DM 1.3.1 简介 Spring-DM 指的是 Spring Dynamic Modules.Spring-DM 的主要目的是能够方便地将 Spring 框架 和OSGi框架结合在一起,使得使用Spring的应用程序可以方便简单地部署在OSGi环