【L2.第二章】Appium 元素定位工具

Python+Appium+Pytest 自动化测试教程

1、元素定位工具的使用场景

  • 获取元素的定位信息:通过元素定位工具对元素进行抓取,获得元素定位信息,进而确定元素定位方式和表达式。
  • 应用调试:可以使用元素定位工具调试元素定位表达式,也可对元素执行基本的操作,比如点击,拖拽,输入数据等。

2、常见的元素定位工具

2.1、Appium Inspector

Appium 提供的用于检查和定位移动应用程序元素的工具,既可以定位原生应用,也可以定位混合应用和 web 页面。
Inspector 官方地址,正常下载安装即可。传送门

  1. adb 连接设备:adb devices 命令检查是否存在设备链接。
  2. 开启 appium 服务:2.x 版本 appium 直接在终端输入 appium 启动服务。
  3. 启动 Inspector ,输入以下参数信息。
  4. 对于 appium 服务为 2.x 版本,则远程路径仅需填写 / 即可。
  5. 点击启动会话。

2.2、Weditor

weditor 是基于 python 实现的一个 app 自动化测试框架,可对 Android 和 iOS 界面进行元素定位。

使用时注意:appium 与 weditor 不兼容,运行时需要将另一服务关闭。

命令行安装:pip install -U weditor

  • 终端输入 python -m weditor ,随后浏览器中会打开网址 http://localhost:17310/
  • 选择目标设备类型Android 或 iOS
  • 输入 adb 链接设备的 UUID::Android 通过 adb devices 进行查看
  • 点击Connect 连接设备
  • 点击 dump hierarchy 同步画面
  1. 设备界面:
  • 功能:提供了同步设备的详情,用户可以直接在该界面中选择元素并查看或操作。
  • 交互:用户可以在设备界面上直观地选择和操作应用程序中的元素
  1. 元素详情:
  • 功能:展示选定元素的所有属性详情,同时提供了交互选项。页面底部展示该元素的定位代码,方便开发人员定位和操作元素。
  • 交互:用户可以在该界面中详细了解所选元素的属性,并进行相关的交互操作。
  1. 代码运行:
  • 功能:用于执行对元素的交互动作,并自动生成相应的代码记录。
  • 交互:用户可以通过左侧的代码运行期执行元素的交互动作,并利用以下选项进行代码的执行和管理:
    单行或选中运行 :选择具体需要运行的某行代码。
    运行按钮 :连接设备运行选中的代码。
    结束运行 :中断当前代码的执行。
    删除、重置代码 :清空已有的元素交互代码。
    复制代码 :方便复制代码框的内容。
    重启服务 :将代码的运行状态重置到初始值。
    Hierarchy :展示设备的界面元素结构,便于更全面地了解应用程序的层级结构。
    Console:显示控制台日志,提供开发人员调试和信息记录的途径。

通过以上三大部分的协同工作,Weditor 提供了一个综合而强大的界面,方便开发人员快速定位、查看元素属性,并生成相应的交互代码。这种结构的优化使得用户在应用程序开发和测试过程中更加高效和便捷。

3、解决报错:

bash 复制代码
UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position 829: illegal multibyte sequence

解决: Windows 环境下,在系统环境变量中添加如下变量

相关推荐
蹦蹦跳跳真可爱5893 小时前
Python----OpenCV(图像増强——高通滤波(索贝尔算子、沙尔算子、拉普拉斯算子),图像浮雕与特效处理)
人工智能·python·opencv·计算机视觉
nananaij3 小时前
【Python进阶篇 面向对象程序设计(3) 继承】
开发语言·python·神经网络·pycharm
雷羿 LexChien3 小时前
从 Prompt 管理到人格稳定:探索 Cursor AI 编辑器如何赋能 Prompt 工程与人格风格设计(上)
人工智能·python·llm·编辑器·prompt
敲键盘的小夜猫4 小时前
LLM复杂记忆存储-多会话隔离案例实战
人工智能·python·langchain
高压锅_12204 小时前
Django Channels WebSocket实时通信实战:从聊天功能到消息推送
python·websocket·django
胖达不服输5 小时前
「日拱一码」020 机器学习——数据处理
人工智能·python·机器学习·数据处理
吴佳浩6 小时前
Python入门指南-番外-LLM-Fingerprint(大语言模型指纹):从技术视角看AI开源生态的边界与挑战
python·llm·mcp
吴佳浩6 小时前
Python入门指南-AI模型相似性检测方法:技术原理与实现
人工智能·python·llm
叶 落6 小时前
计算阶梯电费
python·python 基础·python 入门
Python大数据分析@7 小时前
Origin、MATLAB、Python 用于科研作图,哪个最好?
开发语言·python·matlab