手机UI自动化测试工具NativeDriver VS Robotium

最近在调研手机端的自动化测试工具,之前看到了Robotium这个工具也写了几个用例,后面发现了NativeDriver工具,也写了几个 例子,下面主要从官方介绍以及写例子的过程中发现的一些问题对比一下两种工具的优缺点吧,也是刚开始做自动化测试不久,暂时还没有了解工具底层的一些东 西,以下仅是自己个人观点,如果有不全面的欢迎大家评论补充讨论。现在打算使用NativeDriver工具来进行手机端UI自动测试。

  NativeDriver:

  官方地址:http://code.google.com/p/nativedriver/

  优点:

  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控件

  缺点:

  1、被测程序需要加入工具提供的server-standalone.jar,以及修改AndroidManifest.xml文件后专门打build用于测试,具体见:

  http://code.google.com/p/nativedriver/wiki/AndroidMakeAnAppTestable

  2、现在NativeDriver提供的API还是有些少,不过可以自己扩展一下。

  3、貌似没发现wait相关的api,需要自己来封装一下来等待响应控件的操作了。

  4、这是在写测试用例的时候发现的,不知道是哪里的问题,先就算作缺点吧,比如对文本框输入文字,如果当前文本框没有获取焦点,是输入不了文字的,sendKeys输入之前需要click一下获取到焦点。

  WebElement passWord = driver.findElement(By.id("PassWord"));//找到资源id为PassWord的控件

  passWord.clear();//清除控件文字

  passWord.click();//点击选中控件,此时会获取到焦点

  passWord.sendKeys("123");//控件中输入内容

  5、由于是刚推出来,网上的资料还是比较少的,需要自己去摸索,而且官方API也没有,还好有源代码可以看一下

 Robotium:

  官方地址:http://code.google.com/p/robotium/

  优点:

  1、提供的API相应的还是比较丰富的

  2、网上相关资料稍微会多一些

  缺点:

  1、 测试程序也需要生产APK文件,安装到模拟器或者设备上,所以如果被测程序和测试程序签名不一样是测试不了的,这就需要测试之前我们去修改被测程序的签 名。不过按照计划,后续的版本会提供类似于selenium RC模式的,到时候可能会解决这个问题,但是还不知道什么时候发布。

  2、不支持跨平台

  3、API中很多使用控件的位置(index索引)来查找,这样子对以后用例的维护会有些不方便。同时API中有按照id来查找的使用的确是R.java自动生成的文件中的id,但是通过工具只能识别到资源控件id,这个还需要自己通过资源控件id去查找一下才行

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-12-31 02:39:55

手机UI自动化测试工具NativeDriver VS Robotium的相关文章

求推荐,不用写代码,易操作的UI自动化测试工具

问题描述 求推荐,不用写代码,易操作的UI自动化测试工具 求推荐,不用写代码的,不用搭建框架,易操作,维护成本较低的UI自动化测试工具,除了qtp ,selenium.非常感谢! 解决方案 开发者眼中最好的 22 款 GUI 测试工具 http://www.oschina.net/news/52531/22-gui-testing-tools

《手机测试Robotium实战教程》—第1章 1.3节移动端自动化测试工具的选择

1.3 移动端自动化测试工具的选择 之所以需要选择,是因为可选项太多了,不同的平台,会有很多不同的自动化测试工具供选择,其中既有商业性的收费工具,也有开源免费的自动化测试工具. 这本书的主题Robotium就是其中一种开源的自动化测试框架,在正式展开前,先看看当下还有哪些在Android测试方面比较常用的测试框架可供选择. 1.3.1 Appium Appium也是一种自动化测试框架,可以用来测试natvie.hybrid和mobile web APP,Appium最吸引人的一点是,它既支持An

《手机测试Robotium实战教程》——第1章,第1.3节移动端自动化测试工具的选择

1.3 移动端自动化测试工具的选择之所以需要选择,是因为可选项太多了,不同的平台,会有很多不同的自动化测试工具供选择,其中既有商业性的收费工具,也有开源免费的自动化测试工具. 这本书的主题Robotium就是其中一种开源的自动化测试框架,在正式展开前,先看看当下还有哪些在Android测试方面比较常用的测试框架可供选择. 1.3.1 AppiumAppium也是一种自动化测试框架,可以用来测试natvie.hybrid和mobile web APP,Appium最吸引人的一点是,它既支持Andr

安卓手机自动化测试工具是什么

一.首先说说手机自动化测试的原理 1.手机自动化测试的原理为PC上一个控制端(测试工具)与手机上的一个agent端,通过串口.USB或者无线方式将PC与手机终端相连,然后应用测试工具向手机发送请求或者命令,手机收到命令或者请求后,交给agent端解析,然后agent将这些解析的命令下发给手机的各个功能模块所能识别的命令,调用那些功能模块模拟操作.完成这些操作后,手机会返回一些信息,agent可以抓取这些信息,然后传回给PC端,这样就完成了一个完整的手机自动化测试. 2.关键点在于agent,有的

超好用!5款开源的移动自动化测试工具

如今,移动应用在企业的地位越来越重要,消费者对移动设备的要求也越来越高.为适应这一需求,测试团队必须在移动设备推出市场之前,对其性能进行一系列的评估和测试.然而,这是一个既耗时又耗资源的工作,尤其移动设备的自动化测试还非常复杂. 在现已出现的开源移动自动化测试工具中,我总结出5款最实用的,希望它们对你有帮助(部分可同时在iOS和Android设备上使用): 1.Appium Appium是一款用于自动化本机.移动Web和混合应用程序的开源工具.可在iOS和Android上使用. 2.Calaba

前端自动化测试工具doh学习总结(二)

一.robot简介 robot是dojo框架中用来进行前端自动化测试的工具,doh主要目的在于单元测试,而robot可以用来模仿用户操作来测试UI.总所周知,Selenium也是一款比较流行的前端自动化测试工具,与Selenium相比robot的优点在于robot触发的浏览器事件是真正的用户操作事件,而Selenium中的事件属于"合成事件".打个比方,用户在一个textbox元素上触发了mousedown事件,但是在触发mousedown事件之前,肯定会触发mouseover等事件.

谈 Dojo 应用的 UI 自动化测试

本文首先列举了 Dojo 应用 UI 自动化测试所面临的挑战,进而引出设计 Dojo 应用 UI 自动化测试的框架时应考虑的一些原则.对于正从事 Web UI 自动化测试工作的读者(即便所测试的应用不是 Dojo 应用)或者对这方面感兴趣的读者,本文都有一定的参考价值. 随着富 Internet 应用(RIA)的不断兴起,各种 JavaScript 开发工具包的功能也在不断增强,Dojo 正是其中的佼佼者.Dojo 提供了一套完整的开发解决方案,包括核心的 JavaScript 库.简单易用的小

svg-Watin自动化测试工具触发image的click事件

问题描述 Watin自动化测试工具触发image的click事件 最近用watin这个自动化测试工具做系统的功能测试,有一个地方是:watin获取svg的子节点image,并且触发click事件.已经使用过jQuery选择器和eval方式,都未能实现,求大牛帮忙看看.谢谢啦! html: 相关文章 selected-OnItemClickListener与OnItemSelectedListener区别 aspx-Ext.net的ext.button点击事件的触发顺序 如何通过JS代码触发cli

Sahi基于开源Web应用自动化测试工具示例应用

Sahi 支持 HTTPS 并且独立于 Web 站点,简单小巧却功能强大.它相对于 Selenium 等自动化测试工具,在动态 ID 元素查找和隐式页面等待处理等方面具有一定的优势.选择 Sahi 工具来实现具体 Web 项目的自动化测试是一个很不错的选择. 随着 Web 技术和互联网的发展,Web 应用产品越来越丰富,基于 Web 页面测试的需求与日俱增.在当前全球软件都在追求高效.敏捷的开发模式的大背景下,Web 自动化测试成为了新一波技术探讨和研究的热潮.因为传统的手工测试不仅效率低,并且