『与善仁』Appium基础|『与善仁』Appium基础 — 19、元素定位工具(三)
目录
- 1、Chrome Inspect介绍
- 2、Chrome Inspect打开方式
- 3、Chrome Inspect工具的使用
- (1)Chrome Inspect工作前提
- (2)Chrome Inspect操作
- 4、使用Chrome Inspect遇到的问题
- (1)Android系统版本问题
- (2)所测App的debug模式要打开
- (3)Xposed工具的安装
- (4)HTTP/1.1 404 Not Found和空白页问题
- (5)补充:安卓模拟器打开开发者选项
APP中的元素定位工具大致有三种:
uiautomatorviewer
工具Appium Inspector
工具Chrome Inspect
工具
提示:本篇文章介绍1、Chrome Inspect介绍Chrome Inspect
工具。
Chrome Inspect
定位工具是用来抓取APP中Webview页面的。为了项目的需求,为了更好的保证效果和布局跨平台,Android&H5混合开发一般是我们不错的选择。Google浏览器中的
Chrome Inspect
定位工具,提供了一个移动端Web页面开发调试的功能,通过它我们可以调试手机页面,可以看到页面的源码,从而进行元素的定位。使用
Chrome Inspect
定位工具的前提条件使用Chrome开发人员工具调试原生Android应用中的WebView,Android版本应该在Android4.4(KitKat)或更高版本上,通过DevTools在原生Android应用中调试WebView页面中的内容。
2、Chrome Inspect打开方式 打开PC端的Chrome浏览器,在访问地址栏中输入
chrome://inspect/
就可以了,就是这么简单。如下图:

文章图片
3、Chrome Inspect工具的使用 (1)Chrome Inspect工作前提
- 所测试设备是开机状态(手机或者模拟器)。
- 确保电脑与设备是链接状态,也就是
cmd进入命令行终端,
输入adb connect 127.0.0.1:21503
链接逍遥模拟器,
输入adb devices
能够获取设备名称。
1)在APP中打开含有Webview的页面
例如:开百度APP,进入到微博登陆的界面就是一个含有Webview的页面。
如下图:

文章图片
2)在
Chrome Inspect
中识别到Webview页面我们进入到PC端的Chrome浏览器中,访问地址栏中输入
chrome://inspect/
(没有显示的话就点击一下刷新),就可以检测到当前应用程序界面是Webview页面了。如下图:

文章图片
3)点击inspect可以进入调试视图
点击如上图中的
inspect
,可以进入Chrome Inspect
工具的调试视图 .会弹出一个新窗口,显示当前页面的Webview元素信息。
并且元素定位方法同Selenium WebDriver一致。

文章图片
就是这么简单。
4、使用Chrome Inspect遇到的问题 (1)Android系统版本问题
Android移动设备版本应该在Android4.4或更高版本上。
从Android 4.4开始,
webkit
是支持远程调试的。(2)所测App的debug模式要打开
在使用
Chrome Inspect
工具调试移动端APP的Webview页面的时候,需要将该APP的debug模式打开。但其实大部分APP的debug模式都是关闭的,要去找一个开启debug模式的版本还是比较麻烦的。
因此需要使用借助第三方工具来强制开启任何APP的
Android webview debug
模式,使之可以使用Chrome Inspec
t。而这个工具就是
Xposed
。(3)Xposed工具的安装
1)将设备进行root。
因为涉及到
root
权限,因此需要将设备进行root
。有很多工具可以来
root
,比如KingRoot
等。注:Android模拟器默认root。2)下载
Xposed
框架。官方下载地址:http://repo.xposed.info/module/de.robv.android.xposed.installer
点击页面下方的
Show older versions
,选择一个稳定版本进行下载。
文章图片
【『与善仁』Appium基础|『与善仁』Appium基础 — 19、元素定位工具(三)】3)安装
Xposed
框架。将下载好的
Xposed
安装包de.robv.android.xposed.installer_v32_de4f0d.apk
,直接拖入到Android模拟器中,进行安装。安装好后如下图:

文章图片
4)安装/更新
Xposed
框架。打开
Xposed Installer
,选择“安装/更新”的最新版,然后点“安装”会自动下载刷入。(过程可能会有一些慢)如下图所示:

文章图片
安装界面,如下图所示:

文章图片
安装更新完成后的界面,如下图所示:

文章图片
4、安装
Xposed webview debugging
模块。打开
Xposed
界面中点击左上角的三条横杠,选择模块,然后启用需激活模块的复选框,正常重启后即可使用。如下图所示:

文章图片
如果你的手机中没有安装
WebViewDebugHook
模块或者没有任何模块,如下图:
文章图片
可以在
Xposed
中进行下载安装WebViewDebugHook
模块。如下图所示:

文章图片
然后按照上面的方式激活
WebViewDebugHook
模块即可。(4)HTTP/1.1 404 Not Found和空白页问题
在
chrome://inspect/#devices
中点击inspect
出现的窗口中,界面是出现HTTP/1.1 404 Not Found
或者是空白页的现象。空白页,如下图所示:

文章图片
HTTP/1.1 404 Not Found
界面,如下图所示:
文章图片
原因:
对于国内的程序猿来说,由于无法访问 https://chrome-devtools-frontend.appspot.com,就会出现出现
HTTP/1.1 404 Not Found
或者空白页面的现象。例如上面的
@33f6ad690e178169a17596eeec8596751a696d1e
就是移动设备中浏览器的一个版本号,当你换一个手机或模拟器的时候,版本号可能就不一样了。因为不同型号的手机生产商可能会打包不同版本的Chrome浏览器内核,
Chrome Inspect
定位工具就会先访问 https://chrome-devtools-frontend.appspot.com,下载对应的chrome-devtools
相关驱动,而国内无法访问并下载这些驱动,就出现了404和空白页。网上找到如下三种解决方式:
- 方法一:下载
devtools
的inspect
的 离线开发者调试工具包。(花钱,没有免费的) - 方法二: 修改网络连接,修改hosts文件。
- 方法三:使用第三方的
chromium
内核的浏览器,如QQ浏览器。
推荐使用VPN,或者下载一个可FQ的谷歌浏览器用一下即可,不用的时候就关了。(5)补充:安卓模拟器打开开发者选项
- 打开手机的“设置”,进入到“设置”页面;
- 滑到“设置”页面的最下端,找到“关于手机”,进入到“关于手机”页面;
- 找到“版本号”,连续点击。
- 会弹出一段文字提醒,直到提醒次数为0后,结束点击。
- 返回“设置”界面,开发者选项就出来了。
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- Docker应用:容器间通信与Mariadb数据库主从复制
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 第326天
- Shell-Bash变量与运算符
- 逻辑回归的理解与python示例
- Guava|Guava RateLimiter与限流算法
- 我和你之前距离
- CGI,FastCGI,PHP-CGI与PHP-FPM
- 原生家庭之痛与超越