(一)元素定位工具----Appium

1.安装appium-desktop-V1.9.1(也可以安装最新的),安装好后,运行Appium

Android 获取部局高度 android获取界面元素_Android 获取部局高度

2.出现以下界面后,点击Start Server V1.9.1,启动服务

Android 获取部局高度 android获取界面元素_元素定位_02

3.正式进入appium操作界面,点击Start Inspector Session,进入下图界面:

Android 获取部局高度 android获取界面元素_元素定位_03

进入Appium Inspector(一个定位器)如下图,这里配置需要的Desired Capabilities信息(需要将必要的信息添加至代码中):

Android 获取部局高度 android获取界面元素_元素定位_04

这里以Android为例:

platformName:  Android

platformVersion:  Android版本

deviceName:  Android机器名称

appPackage:  app包名

appActivity:  Activity名称

前面没有讲过deviceName的获取方式,其实在android设备打开调试模式,连接电脑,打开CMD输入:adb devices

Android 获取部局高度 android获取界面元素_元素定位_05

4.点击Save As……….进行保存,设置信息被保存在“Saved Capability Sets”里方便以后使用,点击Start Session就可以启动相应的app了,用这个来获取元素会有点慢,

Android 获取部局高度 android获取界面元素_Android_06

 

如下图,启动邮件

 

Android 获取部局高度 android获取界面元素_元素定位_07

如下图,点击右上角的闹钟图标就出现了下图红圈内的信息,这些信息都是可以用来定位到闹钟·这个界面元素的

Android 获取部局高度 android获取界面元素_android_08

 

上述方法用来获取元素比较慢,下面介绍第二种;

(二)元素定位工具----uiautomatorviewer

Uiautomatorviewer是Android SDK自带的元素定位工具,但是如果APP页面元素多的情况,工具会出现崩溃,获取不到元素,其实新版本的appium自带定位的功能,如果能直接使用,就不需要再使用uiautomatorviewer

1.打开android SDK目录E:\Android\android-sdk\tools,双击运行uiautomatorviewer.bat

Android 获取部局高度 android获取界面元素_Android 获取部局高度_09

注意:这个很多时候打不开,不是很推荐

(三)用截图的方式来获取元素

可以用截图的方式,这个方式比较快,但是比较繁琐,下面来介绍一下操作步骤:
1.新建一个.txt文件夹,在文件夹内写入一下几行命令:

@echo
adb shell uiautomator dump /sdcard/app.uix
adb pull /sdcard/app.uix F:\uix\app.uix
adb shell screencap -p /sdcard/app.png
adb pull /sdcard/app.png F:\uix\app.png

pause

Android 获取部局高度 android获取界面元素_Android_10

2.命令写好后,将文件保存,然后将刚刚那个.txt文件后缀改为.bat,如下图,我将uni.txt改成了uni.bat文件

Android 获取部局高度 android获取界面元素_android_11

3.将android设备打开调试模式,连接到电脑,将要定位元素所在界面打开,然后运行刚刚那个.bat文件;例如:我要定位到时钟应用,就将时钟所在界面截图下来

点击.bat的文件后,界面是这样的

Android 获取部局高度 android获取界面元素_Android_12

 

出现上图,就说明运行成功了,j截图已经保存到F:\uix  文件夹了

4.打开android SDK目录E:\Android\android-sdk\tools,双击运行uiautomatorviewer.bat

Android 获取部局高度 android获取界面元素_android_13

Android 获取部局高度 android获取界面元素_元素定位_14

Android 获取部局高度 android获取界面元素_元素定位_15

Android 获取部局高度 android获取界面元素_android_16

Android 获取部局高度 android获取界面元素_android_17

Android 获取部局高度 android获取界面元素_元素定位_18

Android 获取部局高度 android获取界面元素_android_19

选好了,后就如下图所示,这样就可以获取界面元素了

Android 获取部局高度 android获取界面元素_android_20

 

(四) weditor获取元素

①  需要安装weditor库

安装命令:pip install weditor

①   连接真机或者虚拟机输入如下命令:

python –m weditor

会在自动打开浏览器并且展示元素,相当于web版本的uiautomatorviewer,使用起来比较方便

Android 获取部局高度 android获取界面元素_Android_21