(三)获取元素的工具和方法
(一)元素定位工具----Appium
1.安装appium-desktop-V1.9.1(也可以安装最新的),安装好后,运行Appium
2.出现以下界面后,点击Start Server V1.9.1,启动服务
3.正式进入appium操作界面,点击Start Inspector Session,进入下图界面:
进入Appium Inspector(一个定位器)如下图,这里配置需要的Desired Capabilities信息(需要将必要的信息添加至代码中):
这里以Android为例:
platformName: Android
platformVersion: Android版本
deviceName: Android机器名称
appPackage: app包名
appActivity: Activity名称
前面没有讲过deviceName的获取方式,其实在android设备打开调试模式,连接电脑,打开CMD输入:adb devices
4.点击Save As……….进行保存,设置信息被保存在“Saved Capability Sets”里方便以后使用,点击Start Session就可以启动相应的app了,用这个来获取元素会有点慢,
如下图,启动邮件
如下图,点击右上角的闹钟图标就出现了下图红圈内的信息,这些信息都是可以用来定位到闹钟·这个界面元素的
上述方法用来获取元素比较慢,下面介绍第二种;
(二)元素定位工具----uiautomatorviewer
Uiautomatorviewer是Android SDK自带的元素定位工具,但是如果APP页面元素多的情况,工具会出现崩溃,获取不到元素,其实新版本的appium自带定位的功能,如果能直接使用,就不需要再使用uiautomatorviewer
1.打开android SDK目录E:\Android\android-sdk\tools,双击运行uiautomatorviewer.bat
注意:这个很多时候打不开,不是很推荐
(三)用截图的方式来获取元素
可以用截图的方式,这个方式比较快,但是比较繁琐,下面来介绍一下操作步骤:
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
2.命令写好后,将文件保存,然后将刚刚那个.txt文件后缀改为.bat,如下图,我将uni.txt改成了uni.bat文件
3.将android设备打开调试模式,连接到电脑,将要定位元素所在界面打开,然后运行刚刚那个.bat文件;例如:我要定位到时钟应用,就将时钟所在界面截图下来
点击.bat的文件后,界面是这样的
出现上图,就说明运行成功了,j截图已经保存到F:\uix 文件夹了
4.打开android SDK目录E:\Android\android-sdk\tools,双击运行uiautomatorviewer.bat
选好了,后就如下图所示,这样就可以获取界面元素了
(四) weditor获取元素
① 需要安装weditor库
安装命令:pip install weditor
① 连接真机或者虚拟机输入如下命令:
python –m weditor
会在自动打开浏览器并且展示元素,相当于web版本的uiautomatorviewer,使用起来比较方便