Appium
Appium是一个开源的挪动测试工具,反对iOS和Android,它能够用来测试任何类型的挪动利用(原生、网络和混合)。作为一个跨平台的工具,你能够在不同的平台上运行雷同的测试新手村传奇。为了实现跨平台的性能,Appium应用了供应商提供的Android UI框架来施行测试:在iOS中应用XCTest,在Android中应用UIAutomator或Instrumentation。它将这些供应商框架封装到Selenium WebDriver中,这使得应用Appium的开发者能够编写各种类型语言的测试:Java、Objective-C、JavaScript、PHP、Ruby、Python等等。这也使得编写Appium测试与编写Selenium测试十分类似。

WebDriver最后是为web测试创立的,Appium用额定的API办法扩大了WebDriver,使得它更适宜于挪动自动化。

以下是一些有用的Appium个性:

不须要在设施上装置任何货色。
不须要从新编译或扭转应用程序来匹配Appium。
Appium有一个十分大而沉闷的社区。
Appium附带一个扫描和剖析应用程序的UI组件的工具——Appium UI Inspector。开发人员也能够应用Android Studio的UI Automator Viewer。
如果你须要为iOS和Android编写测试,而你是一个Selenium的爱好者的话,Appium将是一个很好的抉择。

Calabash
Calabash是由Xamarin公司开发和保护的一款开源的挪动测试工具,反对iOS和Android上的原生和混合利用。Calabash测试反对手势辨认(gesture)、断言(assertions)和屏幕截图(screenshots)等性能,通常与驱动开发测试工具Cucumber一起集成应用。

Xamarin在2017年发表,它将对Calabash进行持续开发。鉴于此决定,你能够将Calabash作为一个不太现实的备选测试解决方案。

Espresso
Espresso是谷歌的一个Android UI框架。它是一个轻量级的、针对应用程序开发人员的白盒工具,这意味着要充分利用它,测试开发人员必须充沛相熟并且会应用利用程序代码。Espresso的测试十分牢靠,并且运行速度很快,因为Espresso能够拜访UI对象的外部,它能够用于测试WebView,即混合应用程序的开发。

Espresso的毛病是,它一次只能测试一个应用程序,而且无法访问设施资源。然而,通过应用UI Automator创立的联结测试能够很容易地解决这个问题。
Sauce Labs反对Espresso的实在设施测试。

如果对软件测试、接口测试、自动化测试、面试经验交流。感兴趣能够加软件测试交换:1085991341,还会有同行一起技术交换。

UI Automator
UI Automator是由谷歌开发和保护的挪动测试Android UI框架,它的次要性能蕴含了跨应用程序的功能测试,即测试多个应用程序和在已装置与零碎应用程序之间的切换的性能。

UI Automator是一个黑盒测试工具,也就是说测试开发人员不须要晓得外部的应用程序构造,能够齐全依赖于可见的UI元素。UI Automator的测试是用Java编写的,由两组api组成:其一为UI Automator APIs,是控制应用程序的UI组件;其二为device state APIs,用于拜访和执行设施上的操作(如扭转设施旋转,按方向键按钮,按返回,Home或者菜单按钮等)。它还附带了一个十分有用的UI Automator Viewer,这是一个能够扫描和剖析以后配置在设施上的UI组件的图形用户界面工具。

UI Automator的毛病是不反对构建在混合Android应用程序之上的WebView,因而,UI Automator只反对原生的Android应用程序。

Robotium
Robotium是一个开源的Android UI框架,它诞生于2010年,当初曾经是一个十分成熟和稳固的工具。其最近的一个版本是5.6.3,公布于2016年9月。在最新的几个版本中,其测试可读性和测试执行的速度都有了显著进步。

大多数波及到Robotium的技术博客、教程和课程都是黑盒测试类型的。但实际上,它算是灰盒测试的,因为编写Robotium测试须要理解外部应用程序构造。

以下是Robotium的局部次要个性:

反对本机和混合应用程序。
能够在实在设施和模拟器上运行测试。
反对残缺的Android UI工具:流动、按钮、菜单、toast、对话框等。
反对手势。
有一些设施管制性能:扭转设施方向,截屏,解锁屏幕等。
Robotium recorder是一个付费的Android Studio和Eclipse插件。这是一个很好的工具,能够疾速的启动和运行测试。
能够作为继续集成的一部分运行。
Robotium的抉择语言是Java。
Robotium失去了Sauce Labs的反对,能够用于实在设施的测试。