混合应用:
混合应用又称为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