前言:
最近在搞appium自動化項目,遇到超過60s的應用場景時,總是報錯報錯。如何解決呢?見下文。
報錯資訊:
2018-05-21 14:03:42:253 - [HTTP] <-- POST /wd/hub/session/6b55742d-aa16-413c-aedd-ba69a89ced41/element/14/click 200 135 ms - 76
2018-05-21 14:03:42:253 - [HTTP]
2018-05-21 14:04:42:252 - [BaseDriver] Shutting down because we waited 60 seconds for a command
2018-05-21 14:04:42:253 - [debug] [AndroidDriver] Shutting down Android driver
2018-05-21 14:04:42:253 - [Appium] Closing session, cause was 'New Command Timeout of 60 seconds expired. Try customizing the timeout using the 'newCommandTimeout' desired capability'
2018-05-21 14:04:42:254 - [Appium] Removing session 6b55742d-aa16-413c-aedd-ba69a89ced41 from our master session list
2018-05-21 14:04:42:254 - [debug] [AndroidDriver] Resetting IME to io.appium.android.ime/.UnicodeIME
解決方案:
Appium在沒有收到下一個指令時,預設逾時時間是60s,逾時後應用将會自動關閉session,是以你接下來的所有操作都将失敗。
capabilities = {
'automationName': 'UIAutomator2',
#可以通過newcommandtimeout将逾時時間改長,這樣就解決了該問題!!
#逾時時間可按照實際情況自定義!
'newCommandTimeout': "2000",
'unicodeKeyboard': True,
'resetKeyboard': True,
'noSign': True
}
host = "http://localhost:4723/wd/hub"
driver = webdriver.Remote(host, capabilities)
以上。