|

二手市场

社区论坛

房产楼盘

招聘求职

网上商城

黄页大全
打造本地最大的商业互 联网!

 
关键词: 瘦身 可爱 NOKIA 可爱的 迄今已
 
您当前位置:泗县信息港 >> 创业财富 >> 财富资讯 >> 浏览文章

【学员笔记】appium01:appium定位H5页面元素

日期:2018/6/13 23:15:11 来源:本站原创   【字体:

  在手机移动端,支持3种应用格式:Native应用、Web应用以及Hybird应用。

  Hybird应用是介于Native和Web应用之间的应用模式,在Native应用中嵌入web页面实现应用展示界面的个性化定制,也就是在应用中嵌入H5程序,比较常见的有微信小程序等,这些H5页面再移动端通过Webview(Android提供的显示网页的系统控件)访问。通过uiautomatorviewer在定位元素时,只有一个UI WebView的界面,无法获取元素细节,如图1.1所示。

  获取Native应用的嵌入的H5页面的元素,可以通过获取该页面的URL地址,然后在web端利用chrome浏览器,获取该控件的定位语句,即可完成H5页面元素的定位。

  识别app中的H5视图,可以打开手机的开发者模式,然后在开发者选项中打开显示布局边界的开关,打开开关之后,app的各个应用的组件的边界就会显示出来。如果是H5界面,可以看到,如下视图(图2.2)

  对于Hybird中的H5界面,在谷歌浏览器中识别后,点击inspect,可以查看,当前这个H5页面的元素,谷歌浏览器识别app端Hybird应用H5页面的的准备工作如下:

  但是,对于线上的开发包来说,一般都是把webview的debug属性关闭了的,从线上包,在桌面端,基本无法获取到hybird应用H5页面,但是,我们可以利用第三方工具强制开启webview的debug属性。

  这里,我使用的第三方工具是VirtualXposed,安装这个工具后,需要安装WebviewDebugHook这个模块才能正常使用

  需要注意,VirtualXposed是才发布的一个软件,可能有一些bug。VirtualXposed这个模块自带了root环境,可以在非root的环境下运行Xposed,免去了手机root的麻烦。

  上述两个软件都只需要下载apk包即可(如果使用Xposed,按安卓版本不同,会有两个版本的Xposed安装,在点击进入WebViewDebugHook的github下载地址后,在帮助文档中,有给适用于较低版本的Xposed的安装地址

  而在安装软件时,会有两个安装选项,一个是VirtualXposed,一个是安卓系统上,对于上面提到的WebViewDebugHook模块,以及我们所需要使用的应用,都需要安装到VirtualXposed中。安装好应用后,如下图所示:

  注意:对于腾讯系的应用(比如微信,默认使用的是X5内核),不是谷歌浏览器的内核,在使用Xposed+WebviewDebugHook的情况下(对于使用开启webview的debug属性的工程包或者VirtualXposed的环境,暂时不知道解决办法),需要在手机根目录下建立一个f目录文本内容如下:

  ③ 电脑安装谷歌浏览器,在浏览器中输入chorome://inspect/#devices,如下图所示,可以显示对应的H5页面的url地址,但是显示手机客户端的url地址,需要进行一些设置:

  在代码端,进入H5视图之后,才能回H5元素进行操作,进入H5视图需要调用的语句是driver.switch_to.context(webview视图),示例代码如下:(上述代码需要在appium的14版本执行,在appium15版本,VirtualXposed中安装的软件会全部清空)

  contexts打印下图所示(其格式为WEBVIRE_context名称),该H5页面的context就是最后一项,需要注意的是,获取H5页面的context需要开发辅助进行一些设置,设置方式如下:

  ②如果在手机模拟器中,可以打印该webview界面的context,但是在真机上没有,此时,手机需要root;(如果使用了VirtualXposed,自带root环境,也不需要进行设置)

  (我的安卓系统内核谷歌浏览器为53版本,对应的驱动为2.23版本,各版本谷歌浏览器对应驱动版本如下:

  ② (注意:这一操作在实操中并未找到)在appium控制台中可以显示当前系统webview的版本(搜索Webview version关键字,结果如图2.6所示);

  对于腾讯系机遇X5内核的应用,需要哪种驱动,笔者暂时不清楚,但找到一篇相关介绍的文章。

  实际测试中,并没有点击到WebView中的收藏按钮,由于无法获取到该app开启Webview的debug属性的工程包,猜测是在VirtualXposed环境环境上点击H5元素有问题导致的。

 
上一篇:appium自动化的工作原理 下一篇:ThoughtWorks亢江妹解读数字化平台中的客户触点技术
 
0% (0)
 
0% (10)

相关文章:

网友评论:


 
阅读排行
 
推荐文章
 
图片文章
麦吉丽护肤品产品怎么样?真的轻轻一喷去皱吗?
优维国际的公司愿景是什么?公司有哪些优点?
优维国际奖金制度是怎么规定的?是互联网项目吗?
优维国际升值潜力怎么样?找谁加入比较靠谱?
 

关于我们 | 联系我们 | 站内地图 | 广告服务 | 友情链接 | 付款方式 | 免责申明 | 留言反馈


免责声明:本站信息均由游客、会员自由发布, 泗县信息港不承担由于内容的合法性及真实性所引起的一切争议和法律责任,欢迎联系QQ121390454举报违规信息。