appium是一个移动端的自动化测试框架,可用于测试原生应用,移动网页应用和混合应用,并且是跨平台的。可用于IOS和Andriod操作系统。原生应用是指用IOS或Andriod编写的应用,移动网页应用是指网页应用,类似于IOS重safari应用或者Chrome应用活着类似浏览器的应用。混合应用是指一种包裹webview的应用。原生应用网页内容交互性的应用。
重要的是Appium是跨平台的。何为跨平台,意思是可以针对不同平台用一套api来编写脚本。
Appium优势
跨语言:Java、python、nodejs等
跨平台:
IOS、Andriod
Windows、Mac
底层多引擎可切换(可以嵌入自己开发的引擎,完成特定场景的测试需求)
生态丰富,社区强大
Appium引擎列表
Android:uiautomator2
IOS:xcuitest
mac:The Mac Driver (for Mac Desktop apps)
windows:The Windows Driver(for Windows Desktop apps)
设计理念
webdriver是基于http协议的,第一个链接会建立一个session会话,并通过post发送一个json告知服务端相关测试信息。
Client/server设计模式
客户端通过WebDriber json wire 协议与服务端通讯
多语言支持
Server可以放在任何地方
服务端nodejs开发的Http服务
Appium使用appium-xcuitest-driver来测试iphone设备,其中需要安装facebook出得WDA(webdriver agent)来驱动IOS测试