优点:
◆支持多种语言。
◆不需要访问源代码。
◆跨平台脚本开发。
◆大型社区支持。
◆支持Mac上的脚本记录。
◆使用Appium Server应用程序的Inspector工具提取标识符。
◆通过Appium Server的桌面应用程序对Selendroid内置支持。
◆它还使用供应商提供的框架:适用于iOS的UIAutomation ,分别适用于Android 4.2+和 2.3+的UIAutomator和Selendroid。
◆支持物理设备与仿真器。
◆支持原生,混合和移动的web自动化应用程序。
缺点:
◆Appium Server桌面应用程序的发布常常不稳定。
◆脚本记录不适用于Application服务器对于Windows OS的桌面应用程序。
3.Robotium(Android)
Robotium是一个开源的测试框架,用于开发功能性,系统,和验收测试场景。它与Selenium非常相似,除了Robotium只适用于Android。它注册在Apache License 2.0下。
因为它不但简单,而且又具有创建强大又可靠的自动化场景的能力,因而它在自动化测试社区广泛流行。
它采用运行时绑定到GUI组件。它安装了一个测试用例套件作为在Android设备或仿真器上的应用程序,并提供用于执行测试的真实环境。
优点:
◆容易在最短的时间内编写测试脚本。
◆预装自动化app是可能的。
◆自动跟随当前activity。
◆由于运行时绑定到GUI组件,所以相比Appium,它的测试执行更快,更强大。
◆不访问代码或不知道app实现,也可以工作。
◆支持Activities、Dialogs、Toasts、Menus、Context Menus和其他Android SDK控件。
缺点:
◆不能处理flash和web组件。
◆支持Java开发。
◆在旧设备上会变得很慢。
◆由于不支持iOS设备,当自动化测试同时覆盖 android与iOS的情况时,测试会被中断。
◆没有内置的记录和回放功能. 使用记录功能需要 TestDroid 和 Robotium Recorder 这样收费工具。
4.Frank(iOS)
Frank是一个iOS app的自动化框架,允许使用Cucumber编写结构化英语句子的测试场景。
Frank要求测试时在应用程序内部编译,这意味着对源代码的改变是强制性的。这是一个使用Cucumber和JSON组合命令的工具,命令发送到在本地应用程序内部运行的服务器上,并利用UISpec运行命令。
优点:
◆测试场景是在Cucumber的帮助下,用可理解的英语句子写的。
◆Symbiote——包含实时检查工具。
◆如果团队有关于web selenium和cucumber自动化框架的经验,也有效。
◆活跃的社区支持。
◆不断扩大中的库。
缺点:
◆对手势的支持有限。
◆在设备上运行测试有点难。
◆修改配置文件需要在实际设备上运行。
◆记录功能不可用。
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及以上。
◆不支持脚本记录。
【附】相关架构及资料
源码、笔记、视频。高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术,和技术大牛一起讨论交流解决问题。
【附】相关架构及资料
源码、笔记、视频。高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术,和技术大牛一起讨论交流解决问题。
[外链图片转存中…(img-MFFKCm8a-1725902184226)]