行业流行测试框架对比
前一阵,公司要求做自动化。目前,测试行业内,自动化框架很多,各有千秋,网上资料也算是不少,对于流行的框架做了一点整理,在整理的过程中,也发现了很多前辈对一些框架理解梳理的很清晰(见最后连接)。本文主要整理了一些流行框架的原理,及其对应可以测试的产品形态,以便在项目测试中,快速选择测试框架。
小白上手,内容可能有一些不恰当或考虑不周到的地方,还请大家指正。
框架 | 平台 | 底层框架原理 | 支持产品形态 | 语言 | CI的支持 | 热度和社区支持 | 测试报告 | 脚本录制 | 备注 |
appium | Android | UiAutomator | iOS 原生应用Android 手机原生应用 Windows 桌面原生应用MAC原生应用移动 Web 混合应用、微信小程序 | 几乎全部 | 支持 | 高 | 有 | 有 | 1.(“原生应用”指那些用 iOS 、 Android 或者 Windows SDK 编写的应用。“移动 web 应用”是用移动端浏览器访问的应用(Appium 支持 iOS 上的 Safari 、Chrome 和 Android 上的内置浏览器)。“混合应用”带有一个 "webview" 的包装器——用来和 Web 内容交互的原生控件)2.Selendroid基于Instrumentation的一个框架. 完全兼容Webdriver协议。 |
IOS | XCUITest/WebDriverAgent)-9.3以上 +UIAutomation -9.3以下 | ||||||||
webview | chromedriver(包括X5)、Selendroid ios-webkit-debug-proxy | ||||||||
PC | WinAppDriver (win10以上) | ||||||||
MAC | appium-mac-driver+AppiumForMac. | ||||||||
airtest | Android | UiAutomator | iOS 原生应用Android 手机原生应用 Windows 桌面原生应用MAC原生应用移动 Web 混合应用、微信小程序 | python为主 | 支持 | 高 | 有 | 有 | 1.(“原生应用”指那些用 iOS 、 Android 或者 Windows SDK 编写的应用。“移动 web 应用”是用移动端浏览器访问的应用(Appium 支持 iOS 上的 Safari 、Chrome 和 Android 上的内置浏览器)。“混合应用”带有一个 "webview" 的包装器——用来和 Web 内容交互的原生控件)2.Selendroid基于Instrumentation的一个框架. 完全兼容Webdriver协议。 |
IOS | WDA | ||||||||
webview | chromedriver(包括X5) ios-webkit-debug-proxy | ||||||||
PC | pywinauto | ||||||||
PC web | chromedriver/selenium | ||||||||
U3D、cocs 、网易内部的游戏框架 | SDK | ||||||||
图像识别 | opcv+SIFT | ||||||||
macaca | Android | UiAutomator | iOS 原生应用Android 手机原生应用移动 Web 混合应用、微信小程序 | JS为主 | 支持 | 中 | 有 | 有 | |
IOS | XCUITest | ||||||||
webview | chromedriver +ios-webkit-debug-proxy | ||||||||
calabash | Android | cucumber(插桩) | iOS 原生应用Android 手机原生应用移动 Web 混合应用、微信小程序 | Ruby/Objective-C | 支持(付费) | 低 | 无 | 无 | 需要源码基于Robotium的一个框架. 提供了BDD(行为驱动开发)模式的支持. |
IOS | |||||||||
webview | |||||||||
selenium | 各平台浏览器 | 集成各大浏览器驱动 | 支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。测试与浏览器的兼容性 | java、python、C#、ryby、javaScript | 支持 | 高 | 有 | 有 | |
Gautomator | Unity和UE4 | SDK | Unity和UE4产品iOS 原生应用 Android 手机原生应用 | python | 支持 | 中 | 有 | 无 | 与facebook原版wda相比,增加了一些快速操作与截图接口 |
Android | UIAutomator | ||||||||
IOS | WDA |
参考资料:
- 总结性:
https://testerhome.com/topics/1799
https://testerhome.com/topics/6602
https://testerhome.com/topics/18308 - appuim:
https://testerhome.com/topics/17856
https://testerhome.com/topics/2426
https://testerhome.com/topics/10068
https://testerhome.com/topics/10041
https://github.com/appium/appium - airtest:
https://github.com/AirtestProject/Poco/
http://airtest.netease.com/docs/cn/1_quick_start/3_get_started_with_iOS_test.html
http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/2_device_connection/4_ios_connection.html
https://github.com/pywinauto/pywinauto
https://testerhome.com/topics/14736 - windows自动化:
https://testerhome.com/topics/12578 - macaca:
https://testerhome.com/topics/6608 - Calabash;
https://testerhome.com/topics/2139
https://testerhome.com/topics/2136 - selenium;
http://npm.taobao.org/mirrors/selenium - Gautomator:
https://github.com/Tencent/GAutomator