Single Number II
做UI自動化,最難的一步就是在環境搭建上,怎麼去搭建一個UI自動化測試的環境,會難住很多人,在Mac上搭建appium如何搭建呢,本文帶著大家去領略如何在mac上搭建appium測試環境。下面就是詳細的搭建的過程。
如果沒有安裝過Homebrew,先安裝homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
如果沒有安裝npm,
brew install node
然後安裝
>npm install wd
安裝依賴庫
brew install libimobiledevice
如果沒有安裝 libimobiledevice,會導致Appium無法連線到iOS的裝置,
所以必須要安裝,如果要在iOS10+的系統上使用appium,則需要安裝ios-deploy
npm install -g ios-deploy #如果是iOS10以上的系統才需要安裝
npm install appium-doctor -g
安裝後執行
appium-doctor --ios
可以檢視與iOS相關配置是否完整,下圖是全部配置都成功,如果有那一項是打叉的,則進行安裝就可以了。
錯誤✖ Error running xcrun simctl
解決方案
解決方法:開啟Xcode軟體選中 Xcode>preferences>Locations裡面,設定之後再重新執行檢查命令即可。
Carthage was NOT found!
這個問題是在你檢驗Appium配置是否成功的時候出現,解決這個問題比較簡單,安裝這個Carthage就好了,方法:
brew update
brew install carthage
然後在執行命令檢視
我們就繼續安裝缺少的依賴
npm -g install opencv4nodejs
mjpeg-consumer cannot be found . 解決
npm i -g mjpeg-consumer
idb and idb_companion are not installed解決
命令如下:
brew tap facebook/fb
brew install idb-companion
applesimutils cannot be found 解決
brew tap wix/brew
brew install applesimutils
ios-deploy cannot be found解決
npm install -g ios-deploy
set-simulator-location is not installed 解決
brew install lyft/formulae/set-simulator-location
成功後如下
這樣代表安裝成功
然後啟動appium
報錯解決
npm install sqlite3 --save
執行appium
appium
啟動成功
然後我們開啟xcode
啟動完畢後,我們選擇
環境已經完成了,接下來,我們去要獲取頁面的定位的元素,我們要怎麼去獲取呢,appium自身帶了一套元素定位的,那麼我們看看怎麼去啟動呢,下面就是詳細的教程
我們在測試中需要檢視裝置id,我們可以執行
instruments -s devices
獲取啟動的裝置的id。
開啟我們的測試專案,我們可以看到app的位置
然後我們啟動appium客戶端
然後點選獲取去獲取定位資訊
我們這裡需要根據我們的需求進行配置
{
"platformName": "ios",
"platformVersion": "13.3",
"app": "/Users/lileilei/Library/Developer/Xcode/DerivedData/UICatalog-colpyngrlfupoaczwktkidiolojp/Build/Products/Debug-iphonesimulator/UICatalog.app",
"automationName": "XCUITest",
"udid": "6A367568-AE13-49A0-BEE2-3B1AD623AB3E",
"deviceName": "iPhone 11 Pro Max"
}
點選啟動
既可以等待,開啟後介面如下
然後根據我們的選擇去定位我們的想要操作的app的介面的元素即可,接下來,我們就是去編輯對應的指令碼。開展UI自動化。
自動化測試難的第一步,難在了自動化測試環境的搭建,我們完成了自動化測試環境的搭建,元素的定位,接下來,我們就可以輕鬆上手ios 自動化了。
UI自動化測試的第一個難點就是環境搭建,無論是IOS系統還是安卓系統,搭建環境是大家入行第一個門檻。跨過去,就是柳暗花明的又一春。