webview实现有什么用(webview是什么东西)
在本文中,我们对WebView的体系结构,WebViews的用途以及如何测试它们进行了高级概述。
便利性是我们永远无法完全满足的。这就是为什么软件开发人员总是竭尽全力创造更好的 用户体验,而不会影响功能。所有这一切都是为了在当今竞争激烈的业务中挽救流失。人们希望方便,这就是 混合应用程序 受到欢迎的原因。
混合应用程序有什么独特之处? WebViews!
混合应用
顾名思义,它们是Native和Web Applications的混合体。它们在应用程序商店中可供下载,并且需要从本机应用程序等设备进行访问身份验证,但它们还在应用程序(WebView)中嵌入了用于呈现HTML的浏览器。 Instagram 是混合应用程序的一个很好的例子。
还记得,为了访问任何第三方链接,我们曾经在设备上的新浏览器中打开它,导致我们从我们想要使用的应用程序中移出来吗?这对用户体验而言是一场灾难,通过创建应用程序内浏览器窗口来解决这个问题,该窗口用于促进第三方网页作为活动布局的一部分。感谢WebViews!
你为什么需要WebViews?
- 它们可以更好地控制应用程序的UI。
- 如果您只想更新应用程序的内容,则不必更新整个应用程序,例如,如果您希望在应用程序或其他令人兴奋的优惠中公布即将到来的销售。
- 您不会被推送到另一个第三方应用程序,而是被重定向到应用程序内浏览器,从而为您提取Web上的内容。这提供了保持在预期应用中的便利性。以Instagram为例,您需要在某些故事中向上滑动,然后通过应用内浏览器重定向到网页,而不是在Chrome,Safari,Firefox或任何其他浏览器中打开内容。您可以通过向上/向下滚动,放大/缩小或搜索文本,在重定向的网页上自由导航内容。
- WebView允许跨平台开发,从而降低开发人员的开发成本和灵活性。注意:我们不能将应用程序的单个构建用于多个操作系统。我们只能通过HTML,CSS,JavaScript等借助网络扩展来简化另一个版本的开发。
- 公司通常旨在构建现有Web应用程序的包装应用程序。通过这样做,公司的目标是以相对较少的努力在应用程序商店中创建存在。此外,像Ionic 这样的框架 允许您将应用程序添加到应用程序商店并作为PWA部署到移动Web。
对于生成WebView,开发人员需要:
- 开发一个webview 类的实例 。
- 在您的应用程序中嵌入浏览器。
- 在WebView库的帮助下添加浏览器功能。
- 在Android Manifest文件中添加Internet权限。
- 添加WebView代码以打开应用程序内浏览器。
WebView测试 - 指创建和执行测试用例,以检查WebView的有效工作机制。
在测试WebView时记下以下内容:
- 通过中断加载的网页来验证应用程序是否根据其预期行为进行响应。
- 如果您的内容包含WebView中的超链接电子邮件地址,请确保这些超链接在点按时打开设备中的邮件应用程序。
- 以类似的方式测试超链接电话号码 - 它是否路由用户拨打应用程序?此外,如果未在设备中插入SIM卡,该超链接如何响应?
- 测试WebView在不同网络模式下的响应 - 2G,3G,WiFi,LTE。
- 还应测试特殊字符。随着放大/缩小,通过向上/向下滚动浏览网页内容或通过向左/向右滚动浏览屏幕。
- 测试WebView对外部因素(如SMS,信号丢失,通知,呼叫等)的容忍度。
- 通过Web内容中的超链接启动外部应用程序时,测试应用程序的行为。
- 改进设备的方向并测试您的网络内容是否能够支持它们。
- 测试图形显示是否令人满意。
- 压缩浏览器窗口,查看文本是否正确压缩。
- 跨浏览器平台将非常有助于测试上述测试技巧。它还将提供有关如何将WebView描述为目标受众的想法。
如何执行WebView测试
适用于Android WebView的Espresso Web - 此工具通过重用 WebDriver API中的Atoms ,帮助检查和控制WebView UI组件的行为 。它是测试混合应用程序最常用的工具之一。需要检查应用程序的本机UI组件及其WebView UI组件的集成 。
在使用Espresso Web之前,您需要彻底分析网站的源代码,以确定 其方法的钩子。这就是为什么它可能变得非常复杂的大型网站。
替代方法
另一种方法是忘记第三方代码并仅关注基于Android的代码。基本上,WebView映射网站的元素; 允许用户通过Android View对象及其扩展与他们进行交互。这些视图没有使用findViewById(int id)无法访问它们的ID,也无法在应用程序包中访问这些ID。
这并不意味着你无法追踪它们。您可以在Android Device Monitor的帮助下 ,这是一个独立的工具,用于提供UI以帮助Android应用程序分析和调试的多个工具。
- 您需要使用Android设备监视器拍摄模拟器上每个屏幕的快照。
- 了解WebViews的内部结构。
- 在UiAutomator的帮助下对它们执行操作 。
这种方法不需要您分析源代码,这种方式需要较少的工作来建立和维护代码。