- appium服務(wù)端是一個Node.js應(yīng)用,跑在電腦上用于和軟件上的bootstrap進(jìn)行通信。既然要通信,一定是有一套通信協(xié)議。
- Appium 采用的是WebDriver協(xié)議。
- Appium支持多種測試語言的根本原因在于,WebDriver協(xié)議為各種主流語言提供了一個第三方庫,能夠方便把測試腳本轉(zhuǎn)化成符合WebDriver規(guī)則的URL。
- Appium提供各個語言的第三方庫,將測試腳本轉(zhuǎn)化為WedDriver協(xié)議下的URL,通過Node服務(wù)發(fā)送到各個平臺上的代理工具。
- session是一個會話,在webdriver/appium,你的所有工作永遠(yuǎn)都是在session start后才可以進(jìn)行的,一般,通過 POST / sessionURL,傳入Desired Capabilities就可以開啟session了。開啟session后,會返回一個全局唯一的session id,以后幾乎所有的請求都必須帶上這個session id。
- 蘋果的UI自動化測試框架,在Xcode7以前使用UI Automation框架,Xcode7中蘋果提供了新的框架UI Testing,在Xcode 8中干脆直接移除了對UI Automation的支持。
- iOS真機器會裝一個名為WebDriverAgentRunner的應(yīng)用,它能根據(jù)被測試應(yīng)用的BundleID將被測試軟件打開。
- session在網(wǎng)絡(luò)應(yīng)用中,稱為“會話控制”。session對象存儲特定用戶會話所需的屬性及配置信息。COOKIE和SESSION有什么區(qū)別? ( session 是一個抽象概念,開發(fā)者為了實現(xiàn)中斷和繼續(xù)等操作,將 user agent 和 server 之間一對一的交互,抽象為“會話”)
- session對象存儲特定用戶會話所需的屬性及配置信息,對應(yīng)到這里其實就是desired Capabilities中的配置信息參數(shù)。
Appium流程

image.png
session理解

image.png
參考文檔:
https://blog.csdn.net/jffhy2017/article/details/69220719
http://www.itdecent.cn/p/b663fade1f7e
等