APP自动化之Hybrid自动化解决方案(七)

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

  原理:native(原生)部分使用UIAutomator,webview部分使用ChromeDriver,二者结合混搭,从而实现Hybrid自动化git

1、第一种方案(针对能够修改源代码基础上操做)github

1.准备android 4.4+ 版本以上的手机/模拟器(我安装的是:nox_setup_v6.3.0.5_full.exe)web

2.让开发在app源代码中将webview调试模式打开app

webview.setWebContensDebuggingEnabled(true)

3.安装UC开发者工具(定位web页面元素信息工具)框架

自行百度下载https://plus.ucweb.com/download/#DevTool 安装:tcp

安装成功后启动:工具

打开页面以下:测试

4.模拟器或者真机链接后,打开app内嵌的webview页面或者打开百度网页版以下:ui

注意:1.APP必须打开webview调试模式  2.模拟器/真机必须打开开发者选项中的USB调试模式(使用adb devices检测到已链接设备)

2、 第二种方案(针对线上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页面元素了

3、第三种方案:(针对线上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.未完待续

相关文章
相关标签/搜索