Appium--Hydird自动化

[TOC]

1. Hybrid App
+ Native:安卓手机的原生应用,可以理解为普通的app

+ Web应用:依托于浏览器展示,也就是我们所说的网页

+ Hybrid App:介于Native和Web应用之间的应用模式,在Native应用中嵌入web页面实现应用展示界面的个性化定制,也就是在应用中嵌入H5程序,比较常见的有微信小程序等,这些H5页面在移动端通过Webview访问。通过uiautomatorviewer在定位元素时,只有一个UI WebView的界面,无法获取元素细节(class:android.webkit.WebView)。
    eg:豆瓣、浏览器、公众号、微信小程序
2. 环境准备
+ 环境:python + Appium + Chromedriver + html

+ 工具uc-devtools使用:
    1. 官网https://dev.ucweb.com/ 中下载uc-devtools,点击uc-devtools.msi安装
    2. 打开uc-devtools---设置---勾选本地Devtools Inspector UI 资源
    3. 在Home中,点击inspect即可看到html页面元素

+ Chromedriver默认存放位置:在log中查看或选择在advanced中设置
    C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win
    

* 部分手机需要root权限,或者开启webview的debug属性
3. 上下文切换
+ H5操作:
所有上下文:driver.contexts
当前上下文:driver.current_context
当前package:driver.current_package
当前activity:driver.current_activity
当前页面可用上下文:driver.current_context
切换到默认上下文:driver.switch_to.context(None)
切换到指定上下文:driver.switch_to.context("WEBVIEW_**")
4. Chrome devTools
用Chrome devTools调试Android手机app中的web页面
(1) 手机要满足Android系统为4.4或更高版本,低版本不支持这种方式。
(2) 确保App已经开启了webview的debug调试模式,由Android工程师协助。
(2) 用usb数据线连接好手机与电脑。
(3) 将手机中的 设置 - 开发人员工具 - USB调试功能打开。
(4) 打开chrome://inspect/#devices,即单击chrome右上角控制按钮 - 更多工具 - 检查设备 - 勾选上 Discover USB devices
(5) 在app中访问一个web页面,对应的webview就可以出现在devices中,单击inspect即可调试
5. 参考资料
https://www.cnblogs.com/gupan/p/8846037.html#native%E5%BA%94%E7%94%A8
https://www.cnblogs.com/yyoba/p/9969394.html
https://www.cnblogs.com/Sammy-chen/p/10032703.html

你可能感兴趣的:(python-test,hybird,h5,appium)