IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> app自动化测试:元素辅助定位三种方式 -> 正文阅读

[系统运维]app自动化测试:元素辅助定位三种方式

app元素定位两种方式

(1)使用Appium Desktop中Appium-Inspector辅助进行元素定位

早期版本集成在Appium Desktop中,最新版本已分开。

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

双击Appium Inspector.exe

打开配置页面,输入对应信息即可启动start session。本文以雪球app为例。

【注意】启动前需要首先启动Appium Desktop,否则会报以下错误。

启动Appium Desktop

通过Appium Desktop中select elements进行元素识别定位。

更详细可参考:Appium入门:借助Appium Desktop工具辅助元素定位,录制测试用例 - Jayo - 博客园

(2)使用uiautomatorviewer辅助进行元素定位

安装安卓SDK后,默认tools目录下就有该工具。

双击运行uiautomatorviewer.bat,打开UI Automator Viewer,点“Device Screenshot(uiaotomator dump)”

【注意】点“Device Screenshot(uiaotomator dump)”报错。

解决方法:cmd命令下运行adb root,并停止运行Appium Inspector

再次点“Device Screenshot(uiaotomator dump)”又报以下错误

通过网络搜索查找原因,说UI Automator Viewer仅支持Android 6.0及以下。重新创建Android 6.0模拟器,再次执行,可正常使用。

参考:Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncExceptio解决办法 - uniquefu - 博客园

? 附: UI Automator Viewer 无法在Android 8.0以上模拟器直接使用的问题解决方法

????? android8.0以后sdk tools自带的uiautomator直接打开,截取不到模拟器中机器界面信息。可以使用以下方法手动截取。

????? 【注意】真机UI Automator Viewer可以正常使用,Appium Server正在运行时不能使用。

????? 首先模拟器上操作APP,并定位到要分析的界面,使用adb命令。

1.截取uix资源文件

adb shell uiautomator dump /sdcard/screen.uix

adb pull /sdcard/screen.uix D:/ui/screen.uix

【注意】如果下载到本地照片直接写磁盘根目录(如D:/),要报下图错,新建路径即可(如D:/ui)。

adb: error: cannot create file/directory 'D:/screen.uix': No such file or directory

注明:新手机地址改成:/data/local/tmp/**.uix

2.截取截图

adb shell screencap -p /sdcard/screen.png

adb pull /sdcard/screen.png D:/ui/screen.png

3.UI Automator Viewer中打开

打开sdk tools目录下的uiautomatorviewer.bat,导入从以上步骤获取的截图和资源文件。

点OK打开。

4.元素定位

鼠标移动到对应元素,右面自动显示当前元素相关信息。如移动到搜索框。

参考:android 8.0 以后 uiautomator 无法直接使用的问题 - Gleaner - 博客园

通过在Appium中设置相关信息也可以(我当前使用的Appium Desktop V1.22.0中未找到设置,暂未尝试),详细可参考:adb SDK 中uiautomatorviewer.bat报错Unexpected error while obtaining UI hierarchy 的解决办法_WAIT Y 的博客-CSDN博客

(3)使用使用Weditor(uiautomator2)替换uiautomatorviewer抓取Android控件

使用该方法可以识别模拟器。

详细参考:浅谈自动化测试工具 python-uiautomator2 · TesterHome

通过pycharm中file-settings-Project-Python Interpreter中,安装uiautomator2

2)设备上安装atx-agent

github下载地址:GitHub - openatx/atx-agent: HTTP Server runs on android devices

首先设备连接到 PC,并能够adb devices发现该设备。

# 从github下载atx-agent文件,并推送到手机。在手机上安装包名为`com.github.uiautomator`的apk $ python -m uiautomator2 init

最后提示 Successfully init AdbDevice(serial=emulator-5554),代表 atx-agent 初始化成功。

同时在模拟器上查看已安装成功。

3)PC端安装:weditor

可以使用pip安装,我使用pycharm中界面方式安装。

安装完成后,cmd命令下运行:python -m weditor

运行后默认打开http://localhost:17310/

选择Andriod,右侧文本框输入设备id,这里输入模拟器设备名称:emulator-5554,之后点connect,如果连接正常则connect旁边出现一个绿色的树叶。如果看不到模拟器界面信息,可以点下右侧Dump Hierarchy就可以看到最新页面了。

之后鼠标移动到对应元素上面,即可识别相关元素信息。

该工具支持四种定位方式。

  1. ResourceId 定位:?d(resourceId="com.smartisanos.clock:id/text_stopwatch").click()
  2. Text 定位?d(text="秒表").click()
  3. Description 定位?d(description="..").click()
  4. ClassName 定位?d(className="android.widget.TextView").click()

以上仅主要是本人实际安装操作步骤,更详细请参考:浅谈自动化测试工具 python-uiautomator2 · TesterHome

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-21 12:49:07  更:2021-10-21 12:50:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:30:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码