Appium自動化(2) - appium環境安裝常見問題的解決方案
如果你還想從頭學起Appium,可以看看這個系列的文章哦!
https://www.cnblogs.com/poloyy/category/1693896.html
問題1:adb檢測不到裝置
解決
1.檢查手機驅動是否安裝(win10系統不需要),去官網下載手機驅動或者電腦下載手機助手來輔助安裝手機驅動,安裝完成後解除安裝手機助手(防止接入手機時搶adb埠造成干擾)
2.開啟手機設定,進入開發者選項,開啟USB除錯功能
3.重新插拔手機USB,選擇接受除錯,接受驗證指紋
問題2:adb安裝應用提示許可權不夠
解決
部分安卓手機開發者選項需要修改USB除錯
把紅色畫圈的設定都開啟
藍色花圈的設定關閉
問題3:程式碼報錯-找不到連線的安卓裝置
解決
檢查程式碼中平臺版本號是否填寫正確
問題4:出現class not found這種java堆疊錯誤的現象
SWT folder '..\lib\location of your Java installation.' does not exist.
Please set ANDROID_SWT to point to the folder containing swt.jar for your platform.
比如:
解決
基本上是JDK沒裝正確版本或者環境變數配置混亂,標準的環境變數配置方法如下
首先這兩個必須有
其次,jdk環境變數配置到這裡就可以了
問題5:仍然提示是否安裝UI2
部分手機已經執行過一次appium指令碼,手機上已經安裝過ui2驅動,但是每次執行的時候仍然會提示是否安裝UI2,如圖
問題的原因
只要設定了自動化的驅動為UI2那麼appium再每次執行測試指令碼的時候都預設的重新安裝一下UI2到手機上
初步解決
可以參考問題2,設定相關許可權,再進行執行一次看下是否還會提示
如果還有提示
可以在程式碼的配置項中再增加一個配置,跳過UI2的安裝:
skipServerInstallation:True
該配置項配合UI2使用的,也就是說配置項指定了automationName 為 UiAutomator2
或者使用的是appium1.15版本以上可以新增這個配置。
注意
如果你手機沒有裝UI2或者想重新裝一次,就不要加這個配置項
問題6:執行程式碼提示找不到ADB
An unknown server-side error occurred while processing the command. Original error: Could not find 'adb.exe' in PATH. Please set the ANDROID_HOME environment variable with the Android SDK root directory path.
檢查下ANDROID_HOME環境變數是否正確配置,配置好之後重啟下appium和pycharm 命令列等相關工具
可以通過appium-desktop檢視環境變數是否正確配置,若正確配置可以在程式中正確回顯你配置的環境變數。
如果你這裡出現的是空白頁面,那麼建議你重新配置,或者直接把對應的路徑填上去,然後save and restart
問題7
執行時程式碼報錯:
selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Could not sign with default certificate. Original error Command ''C:\\Program Files\\Java\\jdk1.8.0_131\\bin\\java.exe' -jar 'C:\\Program Files\\Appium\\resources\\app\\node_modules\\appium\\node_modules\\appium-adb\\jars\\sign.jar' 'C:\\Program Files\\Appium\\resources\\app\\node_modules\\appium\\node_modules\\appium-uiautomator2-server\\apks\\appium-uiautomator2-server-debug-androidTest.apk' --override' exited with code 1
該問題主要是證書籤名錯誤,猜測是用了新版appium裝了驅動之後,又換成舊版本的appium這個時候會出現兩者的簽名證書不一致導致認證錯誤。
解決方案一:
就是把appium-desktop換成新的,或者進入裝置-應用管理-搜尋appium相關程式,手動解除安裝掉再執行一遍指令碼
解決方案二:
還有一種解釋是執行appium-server時沒有足夠的許可權,使用管理員去開啟appium-server可以解決這個問題。
問題8
執行程式碼報錯
該問題並不常見,主要是手機作業系統的問題
程式無法無法自動開啟appiumsettings,那麼我們可以手動開啟appiumsettings服務(程式沒有介面,會出現開啟就閃退的錯覺,這是正常現象)
然後再執行指令碼
如果覺得此方法麻煩,那就只能更新系統或者更換手機解決了