【appium環境搭建】
1、Mac系統:11.6
2、Xcode:12.5.1
從App Store中下載Xcode
3、安裝brew:3.2.12
4、安裝nodejs:12.18.1
- 從nodejs官網下載安裝包安裝
- brew install node
5、安裝libimobiledevice
- brew install -- HEAD libimobiledevice
常用命令:
idevicesyslog:查看系統日志
idevice_id -l:查看當前已連接的設備uuid
idevicescreenshot:截圖
ideviceinfo:查看設備信息
ideviceinfo -k ProductVersion:查看系統版本
idevicename:獲取設備名稱
idevicedate:獲取設備時間
6、安裝ios-deploy
- npm install -g ios-deploy
- cnpm install -g ios-deploy
常用命令:
ios-deploy -c:查看相關鏈接設備,包括USB和Wi-Fi連接的
ios-deploy -c --no-wifi:查看通過USB連接的設備
ios-deploy --id [uuid] --bundle [xxx.app]:安裝應用
7、安裝ideviceinstaller
- brew install ideviceinstaller
常用命令:
ideviceinstaller -l:打印已安裝的app列表
ideviceinstaller -u 2721277896a12c5170b349ef1a0c350c305d85ce -l:指定設備打印已安裝的app列表
ideviceinstaller -i xxx:安裝ipa包
ideviceinstaller -g xxx:覆蓋安裝ipa包
ideviceinstaller -U com.tencent.QQMusic:卸載QQ音樂的ipa包
idevicediagnostics restart:重啟設備
8、安裝carthage
- brew install carthage 驗證:carthage version
9、安裝appium的三種方式
- npm install -g appium【建議FQ安裝原版appium,會自動解決一些依賴問題】
- cnpm install -g appium
appium-doctor檢查appium安裝情況
-
- appium-doctor --ios 檢查iOS安裝情況
- appium-doctor -- android 檢查Android安裝情況
- 安裝appium-desktop客戶端 https://github.com/appium/appium-desktop/releases/tag/v1.21.0
我使用appium-desktop進行腳本的編寫和調試,所以這里只介紹appium-desktop下的android和ios!!!
網上的資料均為已過時老版本的appium,對iOS的支持需要替換appium自帶的WDA,其實在appium-desktop 1.21.0 版本中已大可不必替換!
【iOS】
0、關於開發者賬號
在 iOS 上通過 App Store 下載的應用,攜帶的是分發證書(Distribution Certificate),是禁止被測試的。
所以,需要獲取 ipa 安裝包再重新簽名才可以被Appium 測試。

1、真機上安裝WDA
- 安裝包版appium下的WDA路徑:/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent
- 打開該路徑下的WebDriverAgent.xcodeproj文件
- 修改如下幾個地方:





- 在Xcode中用快捷鍵:command + U
- 中間會出現幾次訪問鑰匙串,直接輸入機器密碼。稍等片刻在手機上即可看到WDA【一個無logo的應用】
- 在設備中進行信任:設置-通用-設備管理-點擊出現的開發者app-點擊信任
2、真機上運行腳本
1 import time 2 from appium import webdriver 3 4 class Test_Demo(): 5 def setup(self): 6 caps = {} 7 caps["deviceName"] = "iPhone SE" # 設備的名稱,在手機設置-通用-關於手機 可自行設置 8 caps["udid"] = "2721277896a12c5170b349ef1a0c350c305d85cw" # 設備的udid,指定后只會在一台機器上運行腳本 9 # caps["udid"] = "auto" # 如果設備有多台可使用auto自動選擇 10 caps["platformVersion"] = "14.8" # 設備的系統版本 11 caps["platformName"] = "ios" # 設備的操作系統 12 caps["automationName"] = "xcuitest" 13 caps["noReset"] = True # 不要重復安裝 14 15 caps["xcodeOrgId"] = "8278HWK4WG" # 看查看自己的team id 16 caps["xcodeSigningId"] = "iPhone Developer" # 固定寫死即可 17 # Xcode編譯后app的路徑 18 caps["app"] = "/Users/xxx/Library/Developer/Xcode/DerivedData/UICatalog-dxrwbrhjaphogpgoapcncfjznios/Build/Products/Debug-iphoneos/UICatalog.app" 19 20 self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps) 21 self.driver.implicitly_wait(20) 22 23 def test_click(self): 24 self.driver.find_element_by_accessibility_id("Buttons").click() 25 26 def teardown(self): 27 time.sleep(20) 28 self.driver.quit()
相關鏈接:
【Android】
1、安裝adb
- 安裝Android studio下sdk並配置系統環境變量
1 #Android 2 ANDROID_HOME=/Users/xxx/Library/Android/sdk 3 #adb start 4 export PATH=$ANDROID_HOME/platform-tools:$PATH 5 #uiautomatorviewer start 6 export PATH=$ANDROID_HOME/tools/bin:$PATH 7 #emulator start 8 export PATH=$ANDROID_HOME/emulator:$PATH 9 export ANDROID_HOME
- brew install android-platform-tools
2、連接設備編寫腳本
相關鏈接:
遇到問題:
1、Error running xcrun simctl
打開Xcode-->Preferences-->Locations-->Command Line Tools 選擇版本號就可以
2、opencv4nodejs cannot be found.
sudo npm install -g opencv4nodejs --ignore-scripts