1、怎么判斷APP是否有內嵌H5
使用appium的檢查器對source中class進行查看,是否為 "android.webkit.WebView",如圖
2、ADB命令
前提:設備需開啟開發者模式,並授權允許開啟調試模式。(建議使用虛擬機,屏幕大小固定不變。)
2.1、引用第三方庫及常用操作
import os os.system('adb shell input tap x y') # 觸控點擊 os.system('adb shell input text 123456789') # 輸入文本 os.system('adb shell input keyevent KEYCODE_TAB') # 按鍵操作 os.system('adb shell input swipe 1000 1000 100 1000') # 滑動操作 os.sysytem('adb shell input keyevent KEYCODE_DEL') # 逐個刪除
3、內嵌H5的webview開啟debug模式
3.1、檢查是否開啟debug模式
打開APP,進入到內嵌H5頁面,在uc-devtools上查看,是否有對應的webview。若無,則未開啟。
點擊inspect,正常則顯示為如下:
3.2、開啟debug方式
在app中配置如下代碼(在WebView類中調用靜態方法setWebContentsDebuggingEnabled):
if (Build.VERSION.SDK_INT >=Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true); }
3.3、web自動化操作准備
由於涉及到web自動化操作,所以我們需要選擇對應版本的Chromedriver,可以看到我們需要的版本是(66.0.3359.158),如圖
然后再打印當前H5頁面的上下文,並切換到webview。代碼如下:
# 獲取頁面所有的上下文 cons = driver.contexts # ['NATIVE_APP', 'WEBVIEW_com.dogo.duo4android', 'WEBVIEW_com.android.launcher2'] print(cons) sleep(3) driver.switch_to.context(cons[1]) # 切換到webview
4、第三方應用,內嵌H5的可行性方案
4.1、第三方應用內嵌H5自動化測試遇到的問題
1> 真機內嵌H5自動化無法ROOT成功,及正常安裝上xposed+webviewdebughook
2> 眾多模擬器無法正常安裝上xposed+webviewdebughook
4.2、模擬器的選擇
對比了多家模擬器(本來想用真機測試,但是無法解決ROOT問題),發現逍遙模擬器能解決所有遇到的問題。記得,開啟模擬器ROOT設置。
逍遙模擬器連接方式:
adb connect 127.0.0.1:21503
然后,查看設備連接情況。
4.3、利用第三方工具開啟debug模式
1> 在模擬器上安裝xposed框架,並更新版本。
2> 更新完畢后重啟模擬器,成功頁面如下圖所示:
3> 在xposed框架下安裝webviewdebughook,重新啟動后在xposed模塊選項中激活webviewdebughook。
4> 配置完成后可以進行驗證,打開uc-devtools軟件並使用模擬器中的瀏覽器進入百度頁面,若uc工具中可以識別到頁面信息則表示配置成功。
5> 后續步驟,就如同web自動化操作准備一致,獲取Chromedriver版本,獲取HT頁面上下文。記得,操作完成內嵌H5后,回到原生頁面,同樣需要切換回去。
driver.switch_to.context('NATIVE_APP') # 切換回原生
以上全部!
該文章內容均是在遇到問題時,查閱一下博客所得,並非原創!
參考文檔1:https://www.cnblogs.com/-ming/p/12085311.html
參考文檔2:https://www.cnblogs.com/jinjiangongzuoshi/p/6526049.html
參考文檔3:https://www.jianshu.com/p/ccb13893b6a6
參考文檔4:https://blog.csdn.net/suhang1205/article/details/105882453/
參考文檔5:https://blog.csdn.net/Logo_OO/article/details/108599066
參考文檔6:https://www.cnblogs.com/lovehuange/p/13473217.html
參考文檔7:https://blog.csdn.net/qq_15228737/article/details/81142905