appium連接手機做自動化,本來做的好好的。突然某一次開始一直報錯這個socket hang up
我看網上有說uiautomator2的,又說uiautomator耗電嚴重,被手機自動殺的。都沒解決我的問題
最后搞懂了我的起因:
上一次的調試鏈接沒有主動斷開,也即沒有driver.quit() 掉,這時候去再啟動一個session,由於上一個連接未中斷,一直被占用着。。。就會非常非常危險
解決方法有個很笨的,但是效果還不錯:
把手機里的appium setting卸載掉,跑一遍appium,讓appium自己重新安裝一次(我試過安卓應用設置里面找到這個appium setting,清空數據,沒用還是要卸載才行)
接下來介紹幾個非常容易導致這樣的場景,大家可小心了:
1、appium咱們自己啟動了個session,想看看元素定位啥的,沒關掉,然后那邊pycharm代碼,直接手快一個快捷鍵跑起來了
2、pycharm想調試調試,故意設了斷點,調試好了,才發現沒有跑完,又一個快捷鍵
3、代碼定位元素什么的,總之遇到了錯誤,爆紅。沒跑到driver.quit() 又一個快捷鍵(可能會導致啊,不一定)
針對第3點,寫了個小的異常處理:
1 log = LoginPage() 2 try: 3 log.gotoPage() 4 except Exception as e: 5 print(e) 6 log.driver.quit()
這個坑,我是趟過來了~