[小菜隨筆]新手使用appium+python進行自動化測試過程中webdriver.Remote報錯的錯誤分析方法(帶實例)


很多人剛開始使用python+appium去執行APP自動化的時候經常會遇到webdriver.Remote,報錯位置指向都是driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub/',desired_caps)這行代碼

 

很容易誤導別人錯認為是自己的webdriver發生了錯誤,此時應該如何排查這個問題,以下將舉例說明

 

當發生以下錯誤的時候

Traceback (most recent call last):
File "E:\Workplace\app test\login_test.py", line 22, in <module>
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub/',desired_caps)
File "E:\Python27\lib\site-packages\appium\webdriver\webdriver.py", line 36, in __init__
super(WebDriver, self).__init__(command_executor, desired_capabilities, browser_profile, proxy, keep_alive)

 

查看的錯誤信息實際並非以上的信息,很有可能是程序最后報錯的信息,所以我們首要的任務需要對程序最后報錯的信息進行排查

 

案例一:JAVA環境沒有正常安裝布置(案例轉自網絡)

最后的提示:

 

 在最后的提示上已經明確的指出實際出錯的錯誤,檢查自己JAVA程序和環境變量的配置

 可以在cmd命令上進行JAVA -VERSION檢測環境是否正常(下圖就是正常的返回)

 

案例二:APK的路徑路徑設置錯誤

 

最后的錯誤提示:

raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: A new session could not be created. (Original error: Bad app: C:\ContactManager.apk. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name. cause: Error: Error locating the app: ENOENT, stat 'C:\ContactManager.apk')

簡單翻譯為:原來的錯誤:錯誤的應用:C:\ contactmanager.apk。應用程序的路徑必須是絕對的,或相對於Appium服務器安裝目錄,或一個URL壓縮文件,或一個特殊的應用程序名稱。原因:錯誤:錯誤定位的應用

解決方法:1、查看你的APK的路徑是否正確,最好使用絕對路徑

     2、假若找不到解決方法且安裝功能非必要用例,可以使用adb shell install 應用包(包含路徑) 將APK安裝,去除安裝的設置代碼

 

大部分這種問題的錯誤居多都報錯在最后,英文水平較差的兄弟可以使用翻譯軟件翻譯大部分基本語言去理解,由於本人水平也有限,只是提供給大家找問題的一個方法,如有更好的方法可以在評論區留言討論

 

以下是網絡搜索結果的解決方法,為了方便讀者參考,我也一並轉載過來了

轉載地址:http://blog.csdn.net/rziqq/article/details/51161543

先檢查Appium server是否啟動:

 

address 127.0.0.1  port 4723 將會用於webdriver.remote構造函數的第一個參數,

可以在config.py中如下配置:

cf_appium_hub = 'http://127.0.0.1:4723/wd/hub'

 

BaseActions.app_driver = webdriver.Remote(
    command_executor=config.cf_appium_hub,
    desired_capabilities={
        'deviceName': config.cf_device_name,
        'platformName': config.cf_platform_name,
        'platformVersion': config.cf_platform_version,
        'appPackage': app_package,
        'appActivity': app_activity
    })

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM