運(yùn)行appium報錯:
An unknown server-side error occurred while processing the command . original error could not proxy command to remote server original error error socket hang up
造成這個原因的情況很多,常見的有元素定位過程中超時,還有網(wǎng)絡(luò)請求接口超時,導(dǎo)致socket服務(wù)被掛起從而報錯,這種問題除了增加等待或者超時的時間也沒有特別好的方法
解決方案:
1.增加命令等待響應(yīng)時間
desired_caps['newCommandTimeout'] =6000
2.隱式等待時間
self.driver.implicitly_wait(15)
====================分割線======================
也有可能是有可能是httpserver進(jìn)程被上一次自動化一直占用著也過報:socket hang up
這種一般是請求超時:
node.js提供的httpserver默認(rèn)會設(shè)置超時時間為2分鐘。請求超時就會被socket關(guān)閉掉。
客戶端就會收到ECONNRESET的錯誤.有可能是httpserver進(jìn)程被上一次自動化一直占用著,就會導(dǎo)致已運(yùn)行就報錯.
所以appium也有自動結(jié)束進(jìn)程,只要腳本運(yùn)行完成后就會自動結(jié)束app的進(jìn)程,防止下次運(yùn)行進(jìn)程被占用.
appium會在腳本結(jié)束的時候自動殺掉所有進(jìn)程,腳本運(yùn)行完成以后,你通過appium打開的app會在一段時間后自動關(guān)閉.
這就是為了方式下次運(yùn)行被占用,導(dǎo)致報錯。你這個可能是某些原因?qū)е聸]殺掉。一般重啟設(shè)備,或者刪除appium下載的app就可以了。
appium會在第一次運(yùn)行的時候自動下載一個appium seting里面是appium啟動后臺的配置信息