Appium簡介php
開源、跨平臺、多語言支持的移動應用自動化工具python
可測對象ios
原生應用APP、混合應用APP、移動Web Appruby
APP運行環境:真機、模擬器app
測試對象App運行平臺框架
IOS、Android(目前這兩種是市場主流);Windows、FirefoxOS。工具
測試程序運行平臺支持 Windows、Linux、Mac OS;測試
注:IOS應用appium server必須運行在Mac OS系統上,如 MacBook、imac;ui
支持的測試語言spa
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%)
@版權全部禁止非法轉載!!!!!