要想深入掌握任何一个测试工具,对工具本身的架构、原理、使用的协议及相关知识点都必须有一定的了解和认识,才能学以致用。
1-1-1 Appium介绍
Appium是一个开源的测试自动化框架,可用于测试IOS平台和Android平台上的原生应用,web应用和混合应用。
什么是“移动原生应用”?
“移动原生应用”是指那些用IOS或者Android SDK编写的应用。
什么是“移动Web应用”?
“移动Web应用”是指使用移动浏览器访问的应用(Appium支持IOS上的Safari和Android上的Chrome)。
什么是“混合应用”?
“混合应用”是指原生代码封装网页视图-原生代码和web内容交互。比如淘宝app,可以帮助开发者使用网页技术开发应用,然后用原生代码封装,这些就是混合应用。
重点的是,Appium是跨平台,可以用在OSX、Windows以及Linux桌面系统上。Appium使用WebDriver的json wire协议,来驱动Apple系统UIAutomation库、Android系统的UIAutomator框架。Appium也集成了Selendroid来支持老android版本。同时,它支持Selenium WebDriver的所有语言,如java、Object-C、JavaScript、Php、Python、Ruby、C#、Clojure或者Perl语言,更可以使用Selenium WebDriver的Api来写自动化测试脚本,Appium支持任何一种测试框架,而且Appium还是开源的,对于我们以后展开工作有很大的帮助。
注:本小节部分内容引用APPIUM官方文档。
Appium官方网站地址:http://appium.io/
GitHub:https://github.com/appium/appium/tree/master/docs/cn
Appium知识网站:https://discuss.appium.io/
Appium源码地址:https://github.com/appium-boneyard/appium-dot-exe
1-1-2 Mobile自动化工具介绍
业界top框架综合分析
从上图可以看出,appium相对其他框架来说比较适合使用。Appium能够跨架构,跨设备,跨语言,跨app,而且不依赖源代码和不相知测试框架和平台。
1-1-3 appium架构的注意事项
appium在android系统4.1以上使用uiautomator,android系统4.1以下使用selendroid。
android上使用了instrumentation和uiautomator两套技术。
ios使用了uiautomator技术。
web支持firefox,并可扩展其他平台。