1. 程式人生 > >appium 相關報錯和解決方案

appium 相關報錯和解決方案

usb ber 我們 nbsp 選項 art lock 程序 ack

pycharm常用快捷鍵

  • 復制粘貼當前行 Ctrl+D
  • 註釋 Ctrl+/
  • 運行當前腳本 Ctrl+shift+F10
  • 折疊展開代碼 Ctrl + Numpad + /-
  • 方法定義跳轉 Ctrl+B

1.首次啟動Appium會在設備上安裝2個守護app,Appium Settings和Unlock 部分設備系統由於權限的問題(如:三星S6 edge+)需要用戶手動確認安裝,否則不安裝守護App會導致腳本運行失敗,安裝好後不要隨意卸載這兩個App。

  • Unlock :用於解鎖手機彈窗提示
  • Appium Setting:Appium守護app
  1. from appium import webdriver
    中的webdriber模塊和selenium中的webdriver模塊不一樣!

webdriver模塊源碼路徑:

{python安裝路徑}}\Lib\site-packages\appium\webdriver

Appium報錯&解決方案——那些年我們踩過的坑

Appium服務未啟動
urllib.error.URLError: <urlopen error [WinError 10061] 由於目標計算機積極拒絕,無法連接。

【解決方案】點擊啟動Appium按鈕後,出現[Appium] Welcome to Appium v1.7.2提示後再運行腳本

會話沖突
error: Failed to start an Appium session, err was: Error: Requested a new session but one was in progress

【報錯分析】 之前的會話沒有關閉,然後你又運行了測試實例,也沒有設置覆蓋.

【解決方案】 重新停止appium服務,開啟Appium服務 在AdVance界面勾選Allow Session Override選項 ,重啟Appium 測試結束在AfterClass加driver.quit()

未安裝java環境
selenium.common.exceptions.
WebDriverException: Message: A new session could not be created. (Original error: ‘java -version‘ failed. Error: Command failed: C:\WINDOWS\system32\cmd.exe /s /c "java -version"
設備未連接
selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Could not find a connected Android device.

【解決方案】由於設備未連接,或者連接後未開啟USB Debug。需要重新連接設備即可。

更換手機設備後如下對應的屬性要記得更新,否則無法正常運行腳本。

desired_caps[‘platformVersion‘] = ‘XXX‘
desired_caps[‘deviceName‘] = ‘Galaxy S6 edge+‘
launchable activity 值寫錯
Activity used to start app doesn‘t exist or cannot be launched! Make sure it exists and is a launchable activity

【解決方案】

  • launchable activity 寫錯更正即可。
  • 如果是存在此activity,則一定是AndroidMainfest.xml.xml中,當前activity設置的屬性exported=false,表示當前activity無法被外部程序喚醒。(appium無法喚醒此類)需要研發人員去修改參數。
系統權限問題
Failure [INSTALL_FAILED_USER_RESTRICTED])

【解決方案】

  1. USB安裝管理權限限制,關閉即可。
  2. 開啟安裝允許未知來源app選項
服務異常
An unknown server-side error occurred while processing the command while opening the App

【解決方案】重新啟動Appium服務

appium 相關報錯和解決方案