手机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/
相关文章
|
10天前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
19 0
|
1月前
|
JavaScript jenkins 测试技术
这10款性能测试工具,收藏起来,测试人的工具箱!
这10款性能测试工具,收藏起来,测试人的工具箱!
|
1月前
|
人工智能 监控 测试技术
利用AI辅助工具提升软件测试效率
【2月更文挑战第17天】 随着科技的不断发展,人工智能(AI)在各个领域的应用越来越广泛。在软件测试领域,AI技术也发挥着重要作用。本文将探讨如何利用AI辅助工具提升软件测试效率,包括自动化测试、智能缺陷识别和预测等方面。通过引入AI技术,软件测试过程将变得更加高效、准确和可靠。
164 1
|
1月前
|
Web App开发 前端开发 测试技术
探索自动化测试工具:Selenium的威力与应用
探索自动化测试工具:Selenium的威力与应用
探索自动化测试工具:Selenium的威力与应用
|
29天前
|
测试技术
现代软件测试中的自动化工具与挑战
传统软件测试面临着越来越复杂的系统架构和不断增长的测试需求,自动化测试工具应运而生。本文将探讨现代软件测试中自动化工具的应用和挑战,深入分析其优势与局限性,为软件测试领域的发展提供思路和启示。
|
25天前
|
jenkins 测试技术 持续交付
现代软件测试中的自动化工具与挑战
随着软件开发领域的不断发展,自动化测试工具在测试过程中扮演着越来越重要的角色。本文将探讨现代软件测试中自动化工具的应用及面临的挑战,旨在帮助开发人员和测试人员更好地理解和应对自动化测试中的问题。
|
10天前
|
测试技术 Linux Apache
网站压力测试工具webbench图文详解
网站压力测试工具webbench图文详解
8 0
|
18天前
|
Java 测试技术 API
软件测试中的自动化工具与策略
软件测试是确保软件质量的重要环节,而自动化测试工具和策略的应用在提高测试效率和准确性方面发挥着重要作用。本文将介绍几种常见的自动化测试工具,并探讨在软件测试中应用自动化测试的最佳实践和策略。
|
20天前
|
Web App开发 Java 测试技术
深入理解与应用软件自动化测试工具Selenium
随着软件开发的快速发展,软件测试在保证产品质量方面发挥着越来越重要的作用。其中,自动化测试以其效率高、成本低的特点受到了广大开发者的欢迎。本文主要介绍了自动化测试工具Selenium的基本概念、原理以及在实际开发中的应用,旨在帮助读者更好地理解和使用Selenium进行高效的自动化测试。
22 4
|
28天前
|
人工智能 测试技术 虚拟化
现代软件测试中的自动化工具与技术
随着信息技术的迅猛发展,现代软件开发和测试领域也在不断创新。本文将探讨现代软件测试中自动化工具与技术的应用。通过分析自动化测试的优势、挑战以及最佳实践,帮助读者更好地理解当前软件测试领域的发展趋势,并为实际工作提供参考。
16 1

热门文章

最新文章