1. 程式人生 > >MAC本上appium連線真機

MAC本上appium連線真機

簡單介紹一下appium連線ios真機測試環境的軟體安裝及配置過程:

目前我用的是desktop版本的appium, 所以MAC版本必須要升級到10.12以上,Xcode版本必須要在8.0以上,否則親們沒法測試10.3的版本哦~~~(appium官方幫助文件也有詳細的說明,請大家認真閱讀),如果大家已經升級MAC OS, 並且已下載最新的Xcode版本(必須先升級系統版本,再升級Xcode版本才可以,唉,要習慣MAC系統,而且會很大慢,大家耐心等待呀),請繼續往下吧~~~

1. 裝一下Homebrew,去官網下載下,用brew命令在MAC上裝軟體還是很方便的。建議大家用這個來裝其他軟體。

2.安裝node.js : brew install node.

3.下載Appium desktop版本,最好搭個VPN的代理下的快些,要不然真是~~~~,desktop版本下載完後直接就可以用了。不需要用命令下,用命令下會更慢。

4.可選擇下載一下appium-doctor,用於檢查一下當前環境是否滿足appium的基本執行環境,npm install -g appium-doctor, 然後用 appium-doctor --ios 或者 appium-doctor --android 來檢測當前環境是否已配好,這樣可以清晰的知道缺什麼東西。

5.安裝工具libimobiledevice: brew install libimobiledevice. 這個工具是連線Iphone真機必備的,如果未安裝,appium的log裡也會提示安裝,有時候看log也是很必要的。這個工具是用來做什麼的呢?This functionality currently depends on logging based on idevicesyslog, and port forwarding based on iProxy, both of which are part of libimobiledevice. 也就是說,如果連線真機裝置,裝置的系統日誌和指向埠都是要基於這個工具的。

6.安裝ios-deploy: npm install -g ios-deploy(或者用brew,我這裡裝了npm,一樣的). 這是ios app的安裝工具,如果連線真機,那我們想要測試的app或驅動app的工具都需要用這個工具使用命令列安裝。如果沒有安裝,appium的log裡也會有相應的提示。

7.安裝一個包的依賴管理工具Carthage: brew install Carthage. 這個工具是依賴庫的管理工具.如果未安裝,log應該也會有相應的提示。

8.再裝個ios的授權模擬器吧,這個不是必須的,可以使用模擬器自己先試下,再連真機,如果模擬器可以通過,那應該是證書的問題。所以自己除錯的時候可以先試一下。npm install -g authorize-ios(或者用brew,我這裡裝了npm,一樣的)(這裡有個小小的插曲,如果是MAC本上登入的使用者不管理員許可權的話,可能好多軟體裝的時候都會提示許可權問題,所以sudo一下,會授權當前使用者,終端上都會有錯誤提示,可以根據提示的命令來裝東西)

9.手機連上MAC本,然後下載個itunes檢視一下手機的udid.

10,啟動Appium,建立一個session,然後在desired capabilities 設定裡如下填寫:

{ ‘’automationName": "Appium", -- 預設是appium "platformName": "iOS", --設定應用平臺 “platformVersion": "10.3", -- 設定當前平臺的系統版本,不需要設定到三位,設定兩位就可以了 ”deviceName": "iPhone7", --設定當前連線MAC本的手機名稱,在設定裡可以查到手機名 “bundleId": "com.testi.test.uuaatt",--設定當前應用的activename,這個啟動名稱可以跟相應的開發人員要,也可以自己通過其他工具看一下(工具的話請大家問度娘吧~~) "udid":" ",--設定當前手機的udid,通過iTunes拷貝過來,建議還是拷貝過來,太長太難輸了 "xcodeOrgId":"123ADE4Y56",--十位字元的組織ID,是蘋果開發證書的組織單位,appium可以通過十位組織單位ID找到相應的組織,如果是連線真機測試APP的話,必須要設定組織引數。 ”xcodeSigningId": "iPhone Developer", --這裡引數是固定的,就這樣寫 “wdaLocalPort":"8100" -- 預設手機連線MAC本使用的埠,預設是8100 } 注意: 連線真機時,測試app的打包簽名證書必須要與xcodeOrgId裡的一致,否則會報證書錯誤,錯誤程式碼是65。 11. 最後open session就可以了,邊上手機以後,手機上會自動裝一個webdriverapp的應用,然後才會啟動要測試的app,如果要寫自動化指令碼的話,可以邊操作邊抓取相應的元素。 12. 這樣連線真機應該是沒問題了,然後自己如果寫了測試指令碼,跑指令碼前先要安裝相應的語言服務包,比如appium-python-client。 一切環境就緒了,可以開始搭測試框架了~~~~