1. 程式人生 > >Appium自動化(2) - appium環境安裝常見問題的解決方案

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服務(程式沒有介面,會出現開啟就閃退的錯覺,這是正常現象)

然後再執行指令碼

如果覺得此方法麻煩,那就只能更新系統或者更換手機解決了