1)Calabash(适用于Android和iOS)
Calabash是一个开源的验收测试框架,支持Android和iOS自动化。Calabash为Android和iOS自动化测试提供了一个单独的库。这是一个跨平台的框架,支持Cucumber,Cucumber能让你用自然的英语语言表述app的行为,实现BDD(Behavior Driven Development,行为驱动开发)。
Calabash提供了一个桥梁,允许Cucumber测试对iOS和Android运行和验证。Cucumber测试使用一列语句写入,这些语句会形成很多测试场景。Cucumber中的所有语句使用Ruby定义。
在Calabash,Cucumber语句只能被定义一次,但可以在Cucumber脚本的不同场景中重复使用。
实际测试是用Gherkin写的,依靠Ruby代码的支持,并在Cucumber框架的上下文中运行。
优点
- 大型社区支持。
- 简单,类似英语表述的测试语句。
- 支持在屏幕上的所有动作,如滑动,缩放,旋转,敲击等。
- 大型且热心的社区。
- 跨平台开发支持(同样的代码在Android和iOS设备中都适用)。
缺点
- 测试步骤失败后,将跳过所有的后续步骤。这可能会导致错过更严重的产品问题。
- 需要时间来进行测试,因为它首先总是默认安装app。但是,这种设置可以通过在代码中配置一个钩子(hook)覆盖掉。
- 需要Calabash框架安装在ios的ipa文件中。
- 我们必须要有iOS的app代码。
- 除了Ruby,对其他语言不友好。
2)Appium(Android和iOS)
Appium是Sauce Labs出品的一个开源的自动化测试框架,用于原生、混合和移动的web app。框架内的Appium库函数调用Appium服务器是在操作连接设备的后台运行的。它在内部使用JSONWireProtocol,来与使用Selenium的WebDriver的iOS和Android app进行互动。
不像Calabash只支持Ruby开发,在框架中使用Appium时,你可以从Java、Python和Ruby,以及所有其他Selenium WebDriver支持的语言中选择。
Appium服务器被托管在Node服务器上。你可以通过触发一组Node命令来启动Appium服务器。使用Appium Standalone Application作为服务器(从Appium网站下载),Inspector工具可对app的所有定位器提供查找/识别/操作的能力。
优点
- 支持多种语言。
- 不需要访问源代码。
- 跨平台脚本开发。=l,Verdana,'Trebuchet MS'; font-size:15px; line-height:24px"> 缺点
- 对手势的支持有限。
- 在设备上运行测试有点难。
- 修改配置文件需要在实际设备上运行。
- 记录功能不可用。
5)UIAutomator(Android)
UIAutomator是由谷歌提供的测试框架,它提供了原生Android app和游戏的高级UI测试。这是一个包含API的Java库,用来创建功能性UI测试,还有运行测试的执行引擎。该库自带Android SDK。有很多教程可供初学者上手。优点是它在运行访问不同的进程时,会给JUnit测试案例特权。虽然这对本地自动化app既好又更简单,但是它对web自动化视图非常有限或几乎没有任何支持。它仅支持使用API level 16及以上的设备,不过这也不算什么很大的因素,因为现在大多数的app支持API level 19及以上。
优点
- 简单易学的教程。
- 库由谷歌社区支持和维护。
- 第三方支付集成了基于云计算的测试管理。
缺点
- 仅支持android 4.1及以上。
- 不支持脚本记录。
- 支持的重点是Java。
- 你不能获得当前活动或仪表化。
- 目前不支持web视图,因此是混合app。
- 库支持使用Java,因此如果有人想和使用Ruby的cucumber混合,会很困难。不过Java有它自己的BDD框架,虽然在实践中用到的也不多。
本文转自:http://www.codeceo.com/article/tag/ios
更多系统软件控件知识请点击原网站查看
|