Appium自动化(8):混合应用webview元素识别

混合应用:

  混合应用又称为HybridApp,它是原生应用和Web应用的结合体,采用了原生应用的一部分、Web应用的一部分(WebView),所以部分必须在设备上运行、部分必须在Web上运行。

WebView:

  WebView是android中一个非常重要的控件,它的作用是用来展示一个web页面。它使用的内核是webkit引擎,4.4版本之后,直接使用Chrome作为内置网页浏览器,对H5提供支持。

针对混合应用元素的识别方式:
1、原生应用部分采用uiautomatorviewer或Inspector来识别

2、WebView部分采用H5网页元素识别方式二来识别

  (方式二可参考Appium自动化(7)的H5元素定位的方法二:https://www.cnblogs.com/YouJeffrey/p/15305251.html)

3、使用driver.contexts查看目前混合应用的WebView值

4、使用driver.switch_to.context(“WebView值”)进行切换到WebView中去识别

5、使用driver.switch_to.context(“NATIVE_APP”)进行切换到原生应用中去识别

判断混合应用 webview 的页面方法

判断混合应用 webview 的页面方法,pc端谷歌浏览器输入chrome://inspect,然后在混合应用上进行进入各个页面的操作,如果出现pc端谷歌浏览器多了新的链接,则点击inspect;

设备同时测试H5网页和混合应用时可能出现的问题

背景:之前测试H5网页,谷歌浏览器是V80版本,下载了对应的chromedriver 程序包并放到了appium的chromedriver 的安装路径下

现在在同一个设备上再次测试混合应用时可能会提示错误信息:This version of ChromeDriver only supports Chrome version 80

因为混合应用:比如澎湃新闻app中的webview视图非V80版本的,可以通过chrome://inspect查看版本;如下图

 解决思路:

1、卸载手机上的V80版本的谷歌浏览器

2、把 appium 中V80版本的 chromedriver 换成默认的或者webview显示的版本

下载步骤参考:https://www.cnblogs.com/YouJeffrey/p/15305251.html

猜你喜欢

转载自blog.csdn.net/YouJeffrey/article/details/130852907