Appium切換webview后采坑記錄

Appium切換webview后采坑記錄

1、安卓端appium?切換webvivew

問題使用switch_to.context()切換時總是提示版本不對應(yīng)(報錯如下)

selenium.common.exceptions.WebDriverException:Message:An unknown server-side error occurredwhileprocessing the command. Original error:No Chromedriverfoundthat can automate Chrome'74.0.3729'. See https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md formore details. You could alsotryto enable automated chromedrivers download server feature


原因app內(nèi)部集成的三方webvivew,查看app內(nèi)部的webvivew版本是(69.0.3497.100),而手機原生webvivew是74.0.3729'版本

解決方法需要下載與app內(nèi)部集成webvivew版本相同的Chromedriver版本,且手機內(nèi)置原生webvivew不超過app內(nèi)部集成的webvivew版本

備注如果app內(nèi)使用的系統(tǒng)原生webvivew,則只需要按照報錯中的版本下載對應(yīng)的Chromedriver版本替換掉appium中的Chromedriver版本即可


2、Appium?webview 下的 click () 事件無響應(yīng)

問題明明appium腳本顯示pass但實際沒任何反應(yīng)

原因原來很多webview界面的元素監(jiān)聽的是tap事件,不是click事件。

解決方法使用selenium的TouchActions里的tap事件,代碼如下(可以自行封裝后調(diào)用)

fromselenium.webdriver.common.touch_actionsimport TouchActions

el = driver.find_element_by_css_selector("")

TouchActions(driver).tap(el).perform()


3、定位到元素時無法點擊

問題定位到元素時點擊報錯提示

selenium.common.exceptions.WebDriverException:Message:An unknown server-side error occurredwhileprocessing the command. Original error:unknown error:Element isnotclickable at point (180,506). Other element would receive the click:

原因頁面元素已經(jīng)加載完成但是頁面還未完全顯示出來還在加載,點擊不生效

解決方法這個地方受網(wǎng)絡(luò)波動影響,尤其是跨頁面進行操作,建議保持網(wǎng)速穩(wěn)定且使用sleep多設(shè)置幾秒保證頁面完全加載


4、頁面內(nèi)有此元素但是從其他頁面跳轉(zhuǎn)過來后提示未找到

問題當(dāng)前頁面肯定有此元素但是從其他頁面跳轉(zhuǎn)至該頁面后提示未找到此元素

原因頁面發(fā)生跳轉(zhuǎn)時還未跳轉(zhuǎn)成功代碼片段就已經(jīng)執(zhí)行,導(dǎo)致元素未找到

解決方法設(shè)置元素等待

(1)隱式等待(推薦使用)在代碼前部分加implicitly_wait()?,整個的程序運行過程中都會有效,都會等待元素加載完成,不需要像sleep一樣每次要設(shè)置一遍。在設(shè)置的時間內(nèi)沒有加載到整個頁面則會報NosuchElementError。

(2)sleep強制等待不推薦使用,倘若你設(shè)置sleep等待時間設(shè)置太長,元素可能已經(jīng)加載出來了但是由于你設(shè)置過長,程序會一直等待你設(shè)置的時間過完才執(zhí)行這樣會影響代碼整體的運行效率。

(3)顯示等待WebDriverWait()未考慮使用

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容