Appium是一個優(yōu)秀的自動化測試工具,它具有開源,跨平臺等特色,全新版本全面支持W3C WebDriver 規(guī)范,使用起來更加得心應(yīng)手,方便快捷。同時,Appium作為一個開放源代碼的測試自動化框架,具有極佳的兼容性,感興趣的朋友歡迎使用。
軟件優(yōu)勢:
因?yàn)锳ppium官方版在所有平臺上都使用了標(biāo)準(zhǔn)的自動化接口, 所以你不需要以重新編譯或者修改你的 app。
你可以用你喜歡的開發(fā)工具,使用任何 WebDriver 兼容的語言來編寫測試用例。比如 Java, Objective-C, JavaScript with Node.js (in both callback and yield-based flavours), PHP, Python, Ruby, C#, Clojure, 或者 Perl。 可以使用標(biāo)準(zhǔn)的Selenium WebDriver API和特定語言的客戶端庫。
你可以使用任何測試框架。
如果沒有 Appium,你就只能用 Javascript 來寫 Apple 的 UIAutomation 腳本,并且只能通過Instruments 應(yīng)用來運(yùn)行你的測試。同樣的,在 Google 的UiAutomator體系下,你只能用 Java 寫你的測試案例。Appium 最終開啟了跨平臺原生移動自動化的可能。
appium的核心其實(shí)是一個暴露了一系列REST API的server。
這個server的功能其實(shí)很簡單:監(jiān)聽一個端口,然后接收由client發(fā)送來的command。翻譯這些command,把這些command轉(zhuǎn)成移動設(shè)備可以理解的形式發(fā)送給移動設(shè)備,然后移動設(shè)備執(zhí)行完這些command后把執(zhí)行結(jié)果返回給appium server,appium server再把執(zhí)行結(jié)果返回給client。
在這里client其實(shí)就是發(fā)起command的設(shè)備,一般來說就是我們代碼執(zhí)行的機(jī)器,執(zhí)行appium測試代碼的機(jī)器。狹義點(diǎn)理解,可以把client理解成是代碼,這些代碼可以是java/ruby/python/js的,只要它實(shí)現(xiàn)了webdriver標(biāo)準(zhǔn)協(xié)議就可以。
這樣的設(shè)計(jì)思想帶來了一些好處:
1,可以帶來多語言的支持;
2,可以把server放在任意機(jī)器上,哪怕是云服務(wù)器都可以;(是的,appium和webdriver天生適合云測試)
更新日志:
對 NodeJS 版本的最低要求更改為 NodeJS 6
新增獲取和設(shè)置剪貼板內(nèi)容、獲取全屏截圖、應(yīng)用管理等方法
通過緩存 URL 來更有效地下載應(yīng)用
moveTo 觸屏操作中的所有操作現(xiàn)在都將坐標(biāo)視為絕對坐標(biāo)
支持 iOS 11.3/Xcode 9.3
支持 Android P (API Level 28)
iOS:新增錄屏功能
iOS:新增對復(fù)雜手勢的支持
iOS:修復(fù)在模擬器上處理自定義 SSL 證書的問題
iOS:新增性能測量
Android:允許通過設(shè)置禁用通知
Android:支持 deep linking 和 Android Instant Apps