2个好用的开源自动化工具

来自

Calabash(适用于Android和iOS)[编辑 | 编辑源代码]

Calabash是一个开源的验收测试框架,支持AndroidiOS自动化。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,对其他语言不友好。


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的所有定位器提供查找/识别/操作的能力。

优点

支持多种语言。不需要访问源代码。跨平台脚本开发。大型社区支持。支持Mac上的脚本记录。使用Appium Server应用程序的Inspector工具提取标识符。通过Appium Server的桌面应用程序对Selendroid内置支持。它还使用供应商提供的框架:适用于iOS的UIAutomation ,分别适用于Android 4.2+和 2.3+的UIAutomator和Selendroid。支持物理设备与仿真器。支持原生,混合和移动的web自动化应用程序。

缺点

Appium Server桌面应用程序的发布常常不稳定。脚本记录不适用于Application服务器对于Windows OS的桌面应用程序。


来自:搜狐网。