1、怎么判断APP是否有内嵌H5
使用appium的检查器对source中class进行查看,是否为 "android.webkit.WebView",如图
2、ADB命令
前提:设备需开启开发者模式,并授权允许开启调试模式。(建议使用虚拟机,屏幕大小固定不变。)
2.1、引用第三方库及常用操作
1 2 3 4 5 6 7 8 9 10 11 | 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。代码如下:
1 2 3 4 5 | # 获取页面所有的上下文 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设置。
逍遥模拟器连接方式:
1 | 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后,回到原生页面,同样需要切换回去。
1 | 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具