APP自動化之Hybrid自動化解決方案(七)


基於UIAutomator+ChromeDriver模式(UIAutomator安卓原生引擎)

  原理:native(原生)部分使用UIAutomator,webview部分使用ChromeDriver,兩者結合混搭,從而實現Hybrid自動化

一、第一種方案(針對可以修改源代碼基礎上操作)

1.准備android 4.4+ 版本以上的手機/模擬器(我安裝的是:nox_setup_v6.3.0.5_full.exe)

2.讓開發在app源代碼中將webview調試模式打開

webview.setWebContensDebuggingEnabled(true)

3.安裝UC開發者工具(定位web頁面元素信息工具)

自行百度下載https://plus.ucweb.com/download/#DevTool 安裝:

安裝成功后啟動:

打開頁面如下:

4.模擬器或者真機連接后,打開app內嵌的webview頁面或者打開百度網頁版如下:

注意:1.APP必須打開webview調試模式  2.模擬器/真機必須打開開發者選項中的USB調試模式(使用adb devices檢測到已連接設備)

二、 第二種方案(針對線上app無源碼修改權限並且root權限手機操作)

如果是第三方線上app,一般WebView debug開關都是關閉的,這就需要借助第三方的工具,才能將debug開關打開
 解決方案:使用第三方的工具Xposed+WebViewDebugHook
 Xposed是一個框架,能夠集成很多功能模塊,這些模塊能夠在不修改APK的情況下,修改APP的運行方式,這里我們需要WebViewDebugHook模塊來開啟APP的WebView debug模式
注意:使用這種方式的前提是手機必須root權限,如今的android系統獲取root權限越來越難,如7.0 8.0等等,使用這種方法也會失效!

1.因為需要root手機權限,本次使用模擬器來模擬實現,模擬器自帶root權限

2.安裝xposed_3.15.apk

 

打開:

稍等2分鍾:

安裝更新完成后提示要求超級權限點擊允許,然后提示重啟后生效

 

重啟模擬器打開xposed可以看到框架已經激活

3.安裝WebViewDebugHook.apk

 

點擊進來,勾選

重啟模擬器

4.打開58同城,本地服務驗證

(1)使用uiautomatorviewer.bat查看頁面,發現頁面是WebView類型,無法定位webview中的元素

(2)此時打開UC開發者工具(前提開啟USB調試,adb devices檢測到設備)

 

此時就可以定位WebView頁面元素了

三、第三種方案:(針對線上app無源碼修改權限並且沒有root權限手機操作,此次使用真機來測試)

 1.安裝VitualXposed+WebviewDebugHook

 下載地址參考:https://github.com/android-hacker/VirtualXposed/releases

//檢測設備已連接
C:\Users\Administrator\Desktop>adb devices
List of devices attached
* daemon not running; starting now at tcp:5037
* daemon started successfully
W4FTOBY4NNAQU8        unauthorized
//將安裝包推送到手機內存sdcard目錄
C:\Users\Administrator\Desktop>adb push D:\appium\apk\VirtualXposed_AOSP_0.17.3.apk /sdcard/
D:\appium\apk\VirtualXposed_AOSP_0.17.3.apk: 1 file pushed. 4.0 MB/s (8020099 bytes in 1.919s)

C:\Users\Administrator\Desktop>adb push D:\appium\apk\WebViewDebugHook.apk /sdcard/
D:\appium\apk\WebViewDebugHook.apk: 1 file pushed. 0.5 MB/s (16330 bytes in 0.031s)

  》首先安裝:VirtualXposed_AOSP_0.17.3.apk

 

打開默認安裝xposed

打開xposed查看當前模塊

 

2.假設此時需要對58同城app進行元素定位及自動化腳本編寫,此時我們需要將58同城安裝到虛擬環境VirtualXposed中去,同上步驟操作!

    打開VirtualXposed >> 點擊屏幕 >> 添加應用 >>如果本機已安裝選擇克隆方式,如果未安裝選擇內存中的apk安裝 >> 依然選擇VIRTUALXPOSED安裝 >>安裝成功

 

3.開始定位元素

此時使用uiautomatorviewer.bat定位native元素,無法定位webview元素

這時候我們使用UC開發者工具定位WebView元素:

4.未完待續

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM