pyhton+appium+iOS,遍歷真機webview。是遍歷真機的webview,遍歷模擬器的webview請另尋方法。
1.mac上安裝ios_webkit_debug_proxy
命令:brew install ios_webkit_debug_proxy
2.ios上開啟web檢查器
位置:設定—》Safari—》高階—》web檢查器
3.啟動ios_webkit_debug_proxy
命令:ios_webkit_debug_proxy -c xxxxxxxxxxxxxxxxxxx:27753 -d
-c後的引數指真機udid
4.driver.contexts即可得到頁面所有context,這個方法會將context存在list裡,列印出list內容,檢視你要的webview在第幾個,用switch_to.context()切換到那個webview即可,程式碼如下,
# 假設我的目標webview存在list裡的第三個
myWebview = self.driver.context[2]
self.driver.switch_to.context(myWebview)
這樣就切換到了目標webview,接下來就可以像web自動化一樣,操作html元素了。怎麼得到元素屬性,請繼續往下看。
----------------------------------------怎麼得到webview裡的元素--------------------------------------------
切換到了webview裡,就可以對元素操作了,但是第一步,要得到元素的屬性,下面講步驟:
1.啟動webkit服務,並指定谷歌瀏覽器進行監聽
ios_webkit_debug_proxy -f chrome-devtools://devtools/bundled/inspector.html
2.跑起你的用例程式碼,停留在含webview的頁面。注意,是跑起程式碼,停留在含webview的頁面,不是手動點到那個位置,切記!切記!
3.谷歌瀏覽器地址輸入http://127.0.0.1:9222
在列表中,你就看到了webview的地址,是個完整的url,如圖
4.複製出url到瀏覽器地址,回車,你就會看到在app裡一樣的webview頁面,接下來你就能像web自動化一樣,得到元素xpath等等了
---------------------------------------------------------------------------------------------------------------------------------------------------------------