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

1.3 移动端自动化测试工具的选择
之所以需要选择,是因为可选项太多了,不同的平台,会有很多不同的自动化测试工具供选择,其中既有商业性的收费工具,也有开源免费的自动化测试工具。

这本书的主题Robotium就是其中一种开源的自动化测试框架,在正式展开前,先看看当下还有哪些在Android测试方面比较常用的测试框架可供选择。

1.3.1 Appium
Appium也是一种自动化测试框架,可以用来测试natvie、hybrid和mobile web APP,Appium最吸引人的一点是,它既支持Android方面的自动化测试,又支持iOS方面的测试。

它还支持使用不同的编程语言编写测试代码,但这种便捷性是以牺牲一部分执行速度换来的,因为这需要额外的转换时间,转换成对应的可操作的底层的测试框架。Appium在Android方面底层使用的测试框架是uiautomator和instrumentation,iOS则使用Apple提供的UIAutomation。明白了这点,也就不奇怪为什么Appium可以支持跨进程地操作iOS的测试了。

Appium经常被“吐槽”的还有一点,就是稳定性还有待提升,但它的这些优点也是很明显的,参与的人越来越多,贡献的力量也就越大,经过一段时间的发展,相信Appium会更加稳定和流行。

读者可以访问Appium的官方网站http://appium.io/,在这里可以获得关于它的一些详细介绍。

国内TesterHome社区也有不少Appium方面的资料和讨论。

1.3.2 uiautomator
uiautomator是Google官方提供的一款自动化测试框架,其主要特点是支持跨进程的操作,这一点极大地方便了对应用外控件的操作。

当然了,uiautomator在提供便捷性的同时,也存在着一些不足,如只支持Android SDK Platform、API 16及以上的。除此之外,它对WebView的支持也不好。

还有一点就是调试很不方便,要调试首先需要在启动的命令行配置好调试项后才能进行,启动后还需在Eclipse中新建Remote Java Application选项,相对来说比较麻烦。虽然也可以通过输出Log的形式来调试,但不如其他工具有插件支持调试方式便捷。

uiautomator的编译运行也比较麻烦,测试代码一有修改,就需要重写、编译产生jar文件,然后还要将jar文件Push到手机指定的目录下才能使用,虽然可以通过批处理文件将这些步骤封装起来,但还是略显麻烦。

想了解更详细的信息,请到它的官方网站,那里可以查看uiautomator的API详细介绍、命令行运行uiautomator的参数及命令解释,以及一些入门的例子。

1.3.3 Robotium
Robotium也是一款开源的自动化测试框架,可以支持native和hybrid的自动化测试,API使用起来简单方便,执行速度也快。

但Robotium有一个比较大的局限性就是不支持跨进程的操作,但也有相应的解决方案,后面章节会介绍到。

Robotium在ADT插件的支持下,可以很简单地在Eclipse下调试运行,这一点比uiautomator便捷多了。

Robotium官方网站的wiki标签下还提供了一些简单易懂、容易上手的示例项目,在这里也可以查看Robotium的API文档,Robotium的方法命名很直观,一般通过方法名就可以知道这个方法所能实现的功能。

最后,Robotium是开源的,托管在GitHub .

它的代码量不大,可以很容易地进行二次开发,然后定制出自己需要的功能。

当然还有其他的自动化测试框架可供选择,如monkey、monkeyrunner、Testdroid(商业)、Eggplant(商业)等,每种工具都有优缺点,关键在于根据产品的特性,选择一款适合的自动化测试工具,不要盲目跟风,合适才是最重要的,当然可以混合使用多种自动化测试工具来克服一些工具本身的局限性,以便得到更好的自动化测试效果。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

时间: 2024-08-01 09:32:58

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

《手机测试Robotium实战教程》目录—导读

作者简介 手机测试Robotium实战教程 杨志伟,从2011年开始接触移动端自动化测试工作,积累了丰富的自动化测试案例实战经验,擅长整合主流无线端自动化测试框架的运用.曾就职于知名外企RingCentral,负责Mobile自动化测试框架的开发和持续改进工作:现就职于网龙网络有限公司,负责BDD模式的运用和推广工作. 本书特色 国内第一本原创的Robotium图书 紧跟移动平台开发.测试的热点技术 全面讲解了用Robotium建立测试工程.测试项目搭建.自动化测试脚本编写.测试框架完善.Rob

《手机测试Robotium实战教程》——第2章,第2.1节JDK安装及其环境变量配置

第2章 测试开发环境搭建 手机测试Robotium实战教程 2.1 JDK安装及其环境变量配置 因为要用到Java语言,所以JDK是首先需要安装的.可以通过下面的链接,选择对应平台的JDK版本进行下载. http://www.oracle.com/technetwork/java/javase/downloads/index.htm. 本书所有的例子选择在JDK 8平台下进行. 运行下载的JDK安装文件,根据提示完成安装.在安装完毕后,设置环境变量.设置环境变量的目的是可以在任意路径下执行jav

《手机测试Robotium实战教程》—第2章2.1节JDK安装及其环境变量配置

第2章 测试开发环境搭建 手机测试Robotium实战教程2.1 JDK安装及其环境变量配置 因为要用到Java语言,所以JDK是首先需要安装的.可以通过下面的链接,选择对应平台的JDK版本进行下载. 本书所有的例子选择在JDK 8平台下进行. 运行下载的JDK安装文件,根据提示完成安装.在安装完毕后,设置环境变量.设置环境变量的目的是可以在任意路径下执行javac/java等工具. (1)在计算机桌面选中计算机后单击鼠标右键,在弹出的菜单中选择"属性"项,打开"系统属性&q

《手机测试Robotium实战教程》——第1章,第1.1节何为自动化测试

第1章 自动化测试简介手机测试Robotium实战教程 1.1 何为自动化测试什么是自动化测试?在一些人眼中,觉得自动化测试是一种比较高大上的东西.但在我看来,自动化测试其实就是通过一定的编程手段,自动执行本来需要手动执行的一系列测试的活动.只要有一定的编程基础,人人都可以参与到自动化测试中来,享受到自动化测试带来的便捷性.现在有很多商业的.开源的自动化测试工具可以更好.更容易地帮助我们进行自动化测试,因此,自动化测试的门槛并没想象中高. 举个小例子来说明自动化测试是怎样让我们的生活变得美好的.

《手机测试Robotium实战教程》—第1章 1.1节何为自动化测试

第1章 自动化测试简介手机测试Robotium实战教程1.1 何为自动化测试什么是自动化测试?在一些人眼中,觉得自动化测试是一种比较高大上的东西.但在我看来,自动化测试其实就是通过一定的编程手段,自动执行本来需要手动执行的一系列测试的活动.只要有一定的编程基础,人人都可以参与到自动化测试中来,享受到自动化测试带来的便捷性.现在有很多商业的.开源的自动化测试工具可以更好.更容易地帮助我们进行自动化测试,因此,自动化测试的门槛并没想象中高. 举个小例子来说明自动化测试是怎样让我们的生活变得美好的.测

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

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

《手机测试Robotium实战教程》——第1章,第1.2节自动化测试和手动测试的对比

1.2 自动化测试和手动测试的对比 自动化测试与手动测试相比,具有以下方面的优势. 1.执行速度快 自动化测试比手动测试速度要快很多,在用例数目多的情况下,这种优势会更加明显. 假设有一个测试用例,需要执行上百次,若手动测试执行,会很枯燥乏味,也会很疲惫,但自动化测试是用机器来执行测试,优势会很明显,它可以成千上万次.昼夜不分地重复执行都没任何问题, 还可以通过多增加硬件支持,缩短运行时间.例如,本来是一台手机运行1000个用例,多增加一台手机,就能缩短一半的运行时间,比多增加一个人来手动运行性

《手机测试Robotium实战教程》——第2章,第2.5节Genymotion

2.5 Genymotion 如果读者使用过Android自带的模拟器,应该会对它有深刻印象,本章主要介绍一个非自带的模拟器Genymotion. 它启动快,也很容易使用.它提供收费版本的同时,也提供免费的版本.收费版本和免费版本的差异可以从以下的链接查看: https://www.genymotion.com/#!/pricing. 要下载免费的版本,可以从以下链接选择对应的版本下载: https://www.genymotion.com/#!/download. 如果没有安装过Virtual

《手机测试Robotium实战教程》—第2章2.5节Genymotion

2.5 Genymotion如果读者使用过Android自带的模拟器,应该会对它有深刻印象,本章主要介绍一个非自带的模拟器Genymotion. 它启动快,也很容易使用.它提供收费版本的同时,也提供免费的版本. 如果没有安装过Virtual Box,可以单击如图2.13所示的链接下载. 单击图2.13链接后,弹出图2.14所示的对话框. 单击Create account按钮,然后填写注册信息,注册一个账号即可(如果没有注册过的话),如图2.15所示. 单击Create account按钮,注册填