当前位置:网站首页>Appium自动化测试基础 — uiautomatorviewer定位工具
Appium自动化测试基础 — uiautomatorviewer定位工具
2022-07-06 18:03:00 【测试-八戒】
之前我们在做web页面自动化的时候就说过,元素定位是页面自动化的第一步。
同理App自动化测试的第一步,也是元素的定位。
在APP中定位元素的话,需要借助一些元素定位工具。
APP中的元素定位工具大致有三种:
uiautomatorviewer
Appium Inspector
Chrome Inspect
(一)uiautomatorviewer定位工具
1、uiautomatorviewer介绍
在开始编写测试代码之前,需要获取待测应用的UI元素。可以通过uiautomatorviewer
工具来获取应用的界面截图并分析。uiautomatorviewer
工具获取当前UI界面的快照,提供一个可视化的界面,来查看UI布局结构,并且可以查看各个控件的相关属性。利用这些信息来选择特定的UI组件,并创建APP中的自动化UI测试代码。
总结:
uiautomatorviewer
工具是专门用来定位Android系统APP中原生页面中的元素。uiautomatorviewer
是Android SDK里的一个工具,这个工具在Android SDK目录下的tools文件夹下。(IOS系统在tools\bin
的子目录下)uiautomatorviewer
使用简单,速度也相对比较快。
2、uiautomatorviewer工具打开方式
打开uiautomatorviewer
工具,如下图:
uiautomatorviewer.bat
是一个windows系统下的可执行文件,双击即可打开。
双击打开uiautomatorviewer.bat
,先会出现一个黑窗口,然后就会出现一个uiautomatorviewer
工具的界面。
3、uiautomatorviewer布局介绍
整个界面分四个区域:
- 工作栏区
在工作栏中共有4个按钮,从左至右分别用于:
- 打开已保存的界面快照和布局。
- 抓取当前手机屏幕截图(Device Screenshoot uiautomator dump)。
- 带有压缩层次结构的设备屏幕截图(Device Screenshoot with Compressed Hierarchy (uiautomator dump –compressed))
第二按钮与第三按钮的区别在于:
第二按钮把全部布局呈现出来,而第三按钮只呈现有用的控件布局。
比如存在一个Frame,但只有装饰功能,那么点击第三按钮时,可能不被呈现。 - 保存当前屏幕界面的快照和布局。
- 屏幕截图区,显示当前屏幕显示的布局图片。
- 布局区,已XML树的形式,显示控件布局。
- 控件属性区,当点击某一控件时,将显示该控件属性信息。
- uiautomatorviewer工具的使用
1)uiautomatorviewer
工具使用前提
- 打开
uiautomatorviewer
工具 - 所测试设备是开机状态(手机或者模拟器)
- 确保电脑与设备是链接状态,也就是
cmd进入命令行终端,
输入adb connect 127.0.0.1:21503
链接逍遥模拟器,
输入adb devices
能够获取设备名称。
如果电脑没有与设备不是链接的状态,点击uiautomatorviewer
工具栏中的第二个按钮,来抓取手机界面是抓取不到的。
如下图:
2)抓取当前手机的屏幕界面
就是点击uiautomatorviewer
工具栏中的第二个按钮进行抓取:
说明:点击完后,设备上的界面就会被同步到这个工具的左侧,点击左侧需要查看的控件,在这个工具的右侧就可以看到这个控件对应的详细信息。
提示:
当uiautomatorviewer
能够不能抓取手机屏幕时,可以先关闭和重启adb服务。
- adb kill-server
- adb start-server
3)定位其他页面里的元素
如果需要继续定位其他页面里的元素,先在设备中操作到要定位元素的页面后,再次点击工具左上角的拍照按钮,就可以抓取最新的页面元素信息。
例如:
定位完设置app中界面的元素,我又想定位淘宝首页的页面元素。
首先在手机中打开淘宝app,进入到淘宝app的首页。
然后点击uiautomatorviewer
工具栏中的第二个按钮,来抓取新的界面。
4)保存
点击保存按钮,可保存抓取的屏幕截屏和一个.uix文件(XML格式的页面布局,就相当于页面源码)。
我们可以看到文件夹中会有上面说过的两个文件。
我们也可以对保存的文件进行重命名,方便我们以后的使用和管理。
5)打开已保存的界面快照和布局
点击打开文件,可以将之前保存好的页面屏幕截图和.uix文件导入进来。
点击OK之后,就选显示以前保存过的界面信息了,如下图:
导入后即可进行元素定位操作。
说明:
我们先介绍uiautomatorviewer
工具的使用,关于如何定位页面中的元素,之后的文章会详细说明。
重点:配套学习资料和视频教学
那么在这里我也精心准备了上述大纲的详细资料在下方链接如下
边栏推荐
猜你喜欢
MySQL script batch queries all tables containing specified field types in the database
系统休眠文件可以删除吗 系统休眠文件怎么删除
【信号与系统】
Gazebo的安装&与ROS的连接
tansig和logsig的差异,为什么BP喜欢用tansig
454-百度面经1
Go zero micro service practical series (IX. ultimate optimization of seckill performance)
Yunna | work order management software, work order management software app
2022 Google CTF SEGFAULT LABYRINTH wp
2022 Google CTF SEGFAULT LABYRINTH wp
随机推荐
C language instance_ two
Implementation principle of waitgroup in golang
1123. 最深叶节点的最近公共祖先
AcWing 345. 牛站 题解(floyd的性质、倍增)
Byte P7 professional level explanation: common tools and test methods for interface testing, Freeman
LeetCode:1175. Prime permutation
hdu 4661 Message Passing(木DP&组合数学)
7.6 simulation summary
LeetCode:1175. 质数排列
Realize incremental data synchronization between MySQL and ES
Sword finger offer II 035 Minimum time difference - quick sort plus data conversion
增加 pdf 标题浮窗
Transformation transformation operator
How to prevent overfitting in cross validation
Using the entry level of DVA in taro3.*
Add the applet "lazycodeloading": "requiredcomponents" in taro,
【C语言进阶篇】指针的8道笔试题
AcWing 1148. 秘密的牛奶运输 题解(最小生成树)
微信公众号发送模板消息
[case sharing] basic function configuration of network loop detection