Appium簡介
開源、跨平台、多語言支持的移動應用自動化工具
可測對象
原生應用APP、混合應用APP、移動Web App
APP運行環境:真機、模擬器
測試對象App運行平台
IOS、Android(目前這兩種是市場主流);Windows、FirefoxOS。
測試程序運行平台支持 Windows、Linux、Mac OS;
注:IOS應用appium server必須運行在Mac OS系統上,如 MacBook、imac;
支持的測試語言
python、Java、ruby、php、js、C#;主流是python;
Appium自動化原理拓撲圖
AppiumServer是由JS實現的,Node.js 是js程序的一個解釋器
Appium要能真正自動化手機上的應用必須依賴於各個移動平台所帶的自動化框架;
IOS 、Android都有自己的框架, IOS9.3以前用的框架是 uiautomation ,現在用的是XCUITest;
Android用的是 uiautomator,現在最新的有個uiautomator2。框架提供的是運行庫,運行庫運行在移動設備上。
AppiumServer服務起來后會在移動設備上安裝一個幫助自動化的應用,我把它理解為“控制許可”的這么一個應用,通過這樣應用可以編譯我們自動化給出的指令,然后按指令測試移動設備上的應用。
Android底層自動化工具
Android2.3~4.1 底層工具用是 Selendroid,現在使用的很少算極冷門;自Android4.2以后主流使用的是 uiautomator 目前占比應該超過了90%;
下面這個原理圖主要針對上一張圖 Android自動化的一些細節
uiautomator 會將Bootstrap.jar導入在移動設備中,這個jar包含了各種自動化命令解析。uiautomator2會在移動設備上安裝一個APK 其作用等同於Bootstrap.jar
IOS底層自動化工具
ios9.3以前,蘋果使用的是UIAutomation;ios9.3以后的版本 XCUITest (市場占比差不多97%)
@版權所有禁止非法轉載!!!!!