android app UI自动化-元素定位辅助工具

在做APP的ui自动化过程中,元素定位的获取很重要,但是app的元素获取相对于web会难一点,本文研究了几种工具辅助,看情况选择。

如果页面做了权限限制(不让截屏),以下工具均不能使用,如有些app由于安全要求不支持截屏

工具一:uiautomatorviewer(推荐)

简介

uiautomatorviewer是一个用于Android应用程序的UI自动化测试工具。它可以帮助开发人员和测试人员分析和调试Android应用程序的用户界面。通过Uiautomatorviewer,您可以查看应用程序的UI层次结构,包括布局和控件的属性信息。这对于编写自动化测试脚本和识别应用程序中的UI元素非常有用。uiautomatorviewer是Android SDK的一部分,可以在Android开发环境中找到。

通过更换依赖jar包,升级为Lazy Ui Automator Viewer

优点:

1、方便获取Hierarchy

2、方便获取属性和xpath

3、支持获取ANDROID_UIAUTOMATOR

扫描二维码关注公众号,回复: 17278993 查看本文章

不足:

1、不支持界面操作

2、不支持操作生成代码

安装

1、下载安装Android Sdk

下载地址:AndroidDevTools - Android开发工具 Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载

2、确保手机通过usb连接电脑,adb devices返回状态正常

3、双击“uiautomatorviewer.bat” 测试是否可以启动

如果出现闪退且你的java jdk版本大于jdk8,则重新安装jdk8(多版本jdk共存),找到SDK/tools/bin下面的uiautomatorviewer.bat,打开该脚本,找到set java_exe= ,在后面添加上我们上一步安装的jdk8中的java.exe路径,并且注释掉下面call lib\find_java.bat的命令(在前面加一个rem),保存即可,再次双击“uiautomatorviewer.bat” 测试是否可以启动。详见下图

4、下载lazyuiautomatorviewer.jar文件  ,

下载地址:https://github.com/lazytestteam/lazyuiautomatorviewer/blob/master/uiautomatorviewer.jar

5、打开\sdk\tools\lib,将下载好的uiautomatorviewer.jar替换掉自带的uiautomatorviewer.jar

为了防止意外,请先备份好原来的uiautomatorviewer.jar

用法

前置条件:手机已经连上电脑

1、双击“uiautomatorviewer.bat”

2、点击箭头所指图标

3、鼠标选中元素查看属性

除了显示xpath外,还显示uiaSelector(对应appium的AppiumBy的ANDROID_UIAUTOMATOR)

工具二:appium-inspector

简介

Appium Inspector就是一款强大的元素定位工具,基本上可以满足我们自动化测试对元素定位的要求

优点:

1、支持界面操作

2、执行命令

3、方便获取Hierarchy

4、方便获取属性和xpath

5、操作生成appium代码

不足:

无法获取ANDROID_UIAUTOMATOR

安装

下载地址:Releases · appium/appium-inspector · GitHub

根据你的操作系统选取相应安装包进行安装

用法

1、启动appium server

如下

appnium -a 127.0.0.1 -p 4723

2、打开appium-inspector

3、填写Remote Host

4、填写Remote Port

5、填写Remote Path

Remote Path务必改为 /wd/hub

6、填写Desirede Capabilities并保存

7、点击“Start Session”按钮

连上效果图

工具三:weditor

简介

优点:

1、支持界面操作

2、方便获取Hierarchy

3、方便获取属性和xpath

4、方便获取activity

5、操作生成uiautomator2代码

不足:

无法获取ANDROID_UIAUTOMATOR

安装

1、安装weditor

pip install weditor

自测是否安装成功

C:\Users\Administrator>weditor --help

usage: weditor [-h] [-v] [-q] [-p PORT] [-f] [--debug] [--shortcut] [--quit]

options:

  -h, --help            show this help message and exit

  -v, --version         show version (default: False)

  -q, --quiet           quite mode, no open new browser (default: False)

  -p PORT, --port PORT  local listen port for weditor (default17310)

  -f, --force-quit      force quit before start (default: False)

  --debug               open debug mode (default: False)

  --shortcut            create shortcut in desktop (default: False)

  --quit                stop weditor (default: False)

2、安装uiautomator2

pip install uiautomator2

3、手机通过usb连接到电脑

4、向手机端初始化推送安装APK插件(atx-agent)

python -m uiautomator2 init

5、启动weditor

python -m weditor

自动打开浏览器访问http://localhost:17310/

6、通过adb获取deviceName

7、连接手机,输入deviceName并点击“Connect”

用法

1、鼠标选取元素

2、查看元素信息

猜你喜欢

转载自blog.csdn.net/michelle_li08/article/details/132211520