Chrome远程调试webview

Chrome远程调试webview

前提:电脑需要具备科学上网的条件(主要是可以访问谷歌服务器)。
使用 Chrome 开发者工具在您的原生 Android 应用中调试 WebView。
在 Android 4.4 (KitKat) 或更高版本中,使用 DevTools 可以在原生 Android 应用中调试 WebView 内容。

TL;DR

1、在您的原生 Android 应用中启用 WebView 调试;在 Chrome DevTools 中调试 WebView。
2、通过 chrome://inspect 访问已启用调试的 WebView 列表。
3、调试 WebView 与通过远程调试调试网页相同。

配置 WebViews 进行调试

必须从您的应用中启用 WebView 调试。要启用 WebView 调试,请在 WebView 类上调用静态方 setWebContentsDebuggingEnabled。(这一步需要安卓开发人员来实现)测试人员请开发打包一个开启debug模式的包就可以了。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {WebView.setWebContentsDebuggingEnabled(true);}

此设置适用于应用的所有 WebView。

提示:WebView 调试不会受应用清单中 debuggable 标志的状态的影响。如果您希望仅在
debuggable 为 true 时启用 WebView 调试,请在运行时测试标志。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { if (0 !=
(getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE)) {
WebView.setWebContentsDebuggingEnabled(true); }}

在 DevTools 中打开 WebView。

chrome://inspect 页面将显示您的设备上已启用调试的 WebView 列表。
要开始调试,请点击您想要调试的 WebView 下方的 inspect。像使用远程浏览器标签一样使用DevTools。

Chrome远程调试webview_第1张图片

与 WebView 一起列示的灰色图形表示 WebView 的大小和相对于设备屏幕的位置。如果您的 WebView已设置标题,标题也会一起显示。

故障排除

在 chrome://inspect page 上无法看到您的 WebView?
1、验证已为您的应用启用 WebView 调试(被测app开启webviewdebug模式)。
2、在设备上,打开应用以及您想要调试的 WebView。然后,刷新 chrome://inspect 页面。

其他参考:
http://www.ruanyifeng.com/blog/2019/06/android-remote-debugging.html

注意:
最新的chrome(version>79)对webview低于70的停止提供debug功能,即使电脑可以访问谷歌服务器,调试窗口也是一片空白,所以测试机的webview版本如果可以升级,尽量升级,不能升级尝试升级系统,看是否会更新webview。

你可能感兴趣的:(UI自动化,chrome,webview)