可使用Appium開發移動APP自動測試腳本,提升測試工做效率java
面試時候可以回答關於移動應用測試自動化和Appium相關的問題python
appium是一個開源的、跨平臺(測試程序跨平臺、支持多平臺上的app測試)、多語言支持的(開發語言)移動應用自動化工具ios
Appium的測試對象包括:原生app,混合app,移動web app;web
所謂原生app,就是專門針對某一類移動設備而生的,全部界面和代碼都是專門爲平臺設計的。好比說手機自帶的計算器面試
混合app,指它的一部分是原生界面和代碼,而另外一部分是內嵌web app。好比微信、支付寶、開發者頭條小程序
微信消息界面、設置界面是原生代碼實現的,打開某個朋友圈或者打開別人發來的連接則是web部分,內嵌一個瀏覽器內核,有瀏覽器內核實現的windows
web app,徹底是用手機瀏覽器打開的一個網址,就是一個觸屏版的網站,例如微信小程序微信小程序
appium的測試對象運行平臺包括 ios、Android、windows(windows手機、平板等移動設備上運行的app,目前使用人數少)瀏覽器
真實設備ruby
模擬器
appium支持多種車需語言開發測試程序,基本上selenium支持的開發語言,appium都支持,好比:python、java、ruby、js
appiumserver自己是js開發的也是跨平臺的,可是由於對蘋果設備的自動化,appium比較依賴蘋果的自動化框架,只能運行在蘋果機器上
自動化實現原理
被測試app,運行在真實設備或者模擬器中,這個測試系統運行起來,關係是這樣的:
測試程序(test script),告訴appium server,要作什麼操做。好比,要去點擊界面的一個元素。
怎麼告訴appium server呢?他們之間有http的鏈接,經過http請求發送命令給appium server,AS接收到測試程序的命令後,在發出命令給設備商運行的控制程序,控制程序調用響應自動化庫裏面的方法去執行界面的控制。
安卓是uiautomator
IOS10,蘋果徹底去掉了之前的UIautomator的技術支持,因此如今,咱們要進行蘋果app的自動化,只能使用XCUITest