移动自动化测试框架对比

1.monkey

  Monkey是谷歌自家东西,它可以生成一些伪随机用户事件流例如模拟用户的点击等手势,以及一些系统级的事件。它应该是目前流行移动端自动化框架或者工具的一个鼻祖。Monkey 更应该算是一个客户端性能测试工具,测试客户端应用的稳定性健壮性还是相当不错的。Monkey 也无需而外安装,在android SDK的platform-tools目录下。 在进行SDK环境配置时可以把该路径配置到系统变量的path中,便可以直接通过命令进行使用。

2.Monkeyrunner

  Monkeyrunner 同样是android SDK 自带的测试工具,看名字还跟Monkey很像,但是他们的作用完全是在不同领域。Monkey 更多用于客户端性能,发送的随机事件是基本没法控制的,而Monkeyrunner则强大很多,可以用于做功能测试回归测试并且可以自己定义测试扩展,灵活性较大。

  Monkeyrunner 工具提供了一些API,可以通过该API来控制Android设备或者模拟器。 可以通过编写python脚本去安装Android 应用,运行应用,发送模拟按键,手势,截图等等,可以说你能在设备中干的事情,Monkeyrunner 都能干。

网上已经很多人分享了Monkeyrunner录制脚本和回放的脚本,可以下载下来,直接放到android SDK的platform-tools目录下,通过命令 monkeyrunner 脚本名 便可以启动录制器,录制你需要的自动化测试脚本或者回放。

Monkeyrunner 足够强大了,但是录制的脚本是以坐标轴来作为定位方式,而安卓设备类型众多,各种分辨率,所以移植性不好

3.Uiautomator

  Uiautomator 是通过以控件的方式来定位,当然也是支持坐标轴的方式来定位。Uiautomator是Android 4.1后加入的,所以仅支持Android 4.1 和以上的版本,但是不支持webview

4.Robotium

  Robotium支持所有的Android 版本,是居于原生的Instruments 二次封装的一个框架。最新版本好像已经更新到了5.0.1, 稳定性等都不错。而且官方还出了一个录制插件 Robotium Recorder(http://robotium.com/products/robotium-recorder)不过这个插件是需要收费的。Robotium 只支持Java语言开发并只支持Android,并不支持跨进程

5.Appium

  Appium 官方宣称支持同时支持Android, IOS, FirefoxOS。并且appium 你可以用任何你熟悉的开发语言来进行编写测试用例。例如Java, Python, Ruby, PHP, JavsScript, Object-C, C#.....Appium 在Android 上如果是大于4.1 则用的是uiautomator, 以下版本则使用Selendroid(selenium for android). IOS上采用uiautomation库做支持。Appium 的稳定性相对较差点,但是同样采用的控件的定位方式对不懂java而熟悉其它语言的来说还是相当不错的选择。

时间: 2024-10-05 04:19:19

移动自动化测试框架对比的相关文章

自动化测试框架对比(UIAutomator、Appium、Robotium)

一.原理 1.UiAutomator——基于UIAutomation的用户界面自动化测试框架,可以跨应用工作,谷歌亲生的. UIAutomation在Android4.3发布时有了新版本,官方简介:http://blog.csdn.net/zhubaitian/article/details/40504827. Android4.3之前:使用inputManager或者更早的WindowsManager来注入KeyEvent Android4.3之后:使用Accessibility APIs来注

自动化测试框架Cucumber和RobotFramework的对比

一.摘要 自动化测试可以快速自动完成大量测试用例,节约巨大的人工测试成本:同时它需要拥有专业开发技能的人才能完成开发,且需要大量时间进行维护(在需求经常变化的情况下),所以大部分具有很好开发技能的人员不是很愿意编写自动化用例.但由于软件规模的高速增长,人力资源的逐步稀缺,自动化测试已是势在必行. 对于自动化测试首先需要保证其功能是对客户有价值的和正确可用的.而这一切的基础就是用例要能测试客户的需求,期望,最好能让客户参与到测试用例的开发过程中来或让客户评审测试用例,因此出现了ATDD.BDD等各

自动化测试框架Cucumber和Robot Framework的实战对比

自动化测试框架Cucumber和RobotFramework的实战对比 一.摘要 自动化测试可以快速自动完成大量测试用例,节约巨大的人工测试成本:同时它需要拥有专业开发技能的人才能完成开发,且需要大量时间进行维护(在需求经常变化的情况下),所以大部分具有很好开发技能的人员不是很愿意编写自动化用例.但由于软件规模的高速增长,人力资源的逐步稀缺,自动化测试已是势在必行. 对于自动化测试首先需要保证其功能是对客户有价值的和正确可用的.而这一切的基础就是用例要能测试客户的需求,期望,最好能让客户参与到测

Android 自动化测试框架

Android常用的自动化测试工具框架: Monkey,MonkeyRunner,UIAutomator,Robotium,Appium,Monkey Talk 但是这些工具框架都有什么关系呢,先通过一张图来了解一下吧.(图是某博客上借过来的) 是不是一脸懵逼,不知道这是什么鬼.下面详细了解一下. 一.Monkey 是Android SDK自带的测试工具,是一个命令行工具,可以运行在模拟器中或者实际设备中,它向系统发送伪随机的用户事件流(如按键输入,触摸屏输入,手势输入等),实现对正在开发的应用

移动APP自动化测试框架

简介 移动APP的UI自动化测试长久以来一直是一个难点,难点在于UI的"变", 变化导致自动化用例的大量维护.从分层测试的角度,自动化测试应该逐层进行.最大量实现自动化测试的应该是单元测试,最容易实现也最容易在早期发现问题:其次是接口级测试,以验证逻辑为目的进行自动化,由于接口的相对稳定,自动化测试成本相对也可以接受:自动化成本最大的便是UI级自动化测试,然而UI界面是直接反馈给用户的效果展示,适度的尤其是BVT级的自动化测试也是非常必要的.本文通过分析几种自动化框架的异同,使测试人员

android常用自动化测试框架

目录: Monkey MonkeyRunner Instrumentation UiAutomator Espresso Selendroid Robotium Athrun Appium Monkey Android SDK自带的测试工具,在测试过程中会向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试,也有日志输出.实际上该工具只能为程序做一些压力测试,由于测试事件和数据都是随机的,不能自定义,所以有很大的局限性. $~: android

selenium3.0 平台级自动化测试框架综合实战

第1章 课程介绍 本章整体介绍基于webdriver的自动化测试框架详情,主体分为外部框架及内部框架. 1-1 课程介绍 1-3 初探框架 1-4 初探自动化测试框架 1-5 自动化测试框架的设计原则 1-6 框架设计思想和设计模式 1-7 高级框架设计思想和设计模式 1-8 课后练习 第2章 Selenium3.0升级介绍 本章具体介绍3.0升级以及3.0与2.0比较,重点部分代码展示. 2-1 Selenium3.0升级介绍 2-2 Selenium3升级实战 第3章 TestNG高级使用

这些自动化测试框架知识你还不知道?

这些自动化测试框架知识你还不知道?! 无论是在自动化测试实践,还是日常交流中,经常听到一个词:框架.之前学习自动化测试的过程中,一直对"框架"这个词知其然不知其所以然. 最近看了很多自动化相关的资料,加上自己的一些实践,算是对"框架"有了一些理解,这篇博客,就聊聊自动化框架的一些事吧. 一.什么是框架 框架(framework)是一个框子--指其约束性,也是一个架子--指其支撑性.是一个基本概念上的结构,用于去解决或者处理复杂的问题. 在软件工程中,框架(Frame

Python3+Selenium2完整的自动化测试实现之旅(五):自动化测试框架、Python面向对象以及POM设计模型简介

前言 之前的系列博客,陆续学习整理了自动化测试环境的搭建.IE和Chrome浏览器驱动的配置.selenium-webdriver模块封装的元素定位以及控制浏览器.处理警示框.鼠标键盘等方法的使用,这些内容还需要后续多加练习掌握,以达到灵活运用的程度.but,这仅仅只是开始,说明咱们能够使用selenium框架下的webdriver写出一个个测试用例脚本,也仅仅写给自己看看,如果需要写100条.1000条测试脚本,并能够高效快速的编写完成并批量执行,且要看到完整的执行结果,失败多少,成功多少,等