我的活动包含从Internet加载一些网址的WebView,我想确保WebView上存在预期的HTML,如何获取此内容? 我知道它可能使用JavaScript技巧,但我不喜欢在生产代码中加入技巧......
答案 0 :(得分:2)
您可以为WebView创建自定义WebViewClient。然后你可以覆盖shouldInterceptRequest和/或shouldOverrideUrlLoading。这将让您了解页面上的所有网络流量(页面加载,Ajax请求以及加载的图像和CSS等更普通的内容)。然后,您可以在调试或信息设置上记录它,因此它只是在开发中登录,而不是在生成版本中(假设您为发布版本设置了适当的日志级别。)您还可以基于以下内容构建单元测试断言。这些方法提供的信息。覆盖这两种方法还可以为您提供加载测试页面的钩子,以便进行单元测试。同样,您可以为WebView创建自定义WebChromeClient。您可以覆盖其onConsoleMessage以将JS日志记录和警告/错误定向到正常的Android日志。