当前位置: 首页 > news >正文

一文搞懂Android应用元素查看器(Appium+Appium-inspector)——定位微信布局元素

  • Appium和Appium Inspector是怎么协作的呢?
  • Appium 与 Appium Inspector 的版本匹配
  • Appium安装
  • 启动appium服务
  • 安装Appium inspector客户端
  • 查看安卓真机指定app布局元素(这里以微信为例,需要保持与模拟器或真机一直连接)
  • 【QA】解决顶部工具栏上Refresh Source & Screenshot按钮点击后一直处于Loading状态,无法加载页面问题
  • 总结

Appium 是一个开源的自动化测试工具,它支持多种语言和平台,用于移动应用(包括原生、混合和Web应用程序)的自动化测试。Appium 通过客户端和服务器架构,接收客户端请求,并使用WebDriver协议与移动设备进行通信,执行测试脚本所需的操作。Appium 使用的WebDriver协议是基于Selenium WebDriver的,它定义了一个服务端/客户端协议(也称为JSON Wire Protocol),使得使用任何语言编写的客户端都可以向服务端发送请求。
而Appium Inspector 是 Appium 的 可视化元素检查工具,用于定位移动应用 UI 元素并生成定位符(如 XPath、ID)。Appium Inspector 主要核心功能有:

  • 元素层级查看:以树形结构展示应用 UI 控件的层级关系。
  • 属性获取:点击元素即可获取其属性(如 resource-id、text、bounds)。
  • 定位符生成:自动生成 XPath、CSS 选择器等定位表达式。
  • 操作录制:记录用户点击、滑动等操作并导出为测试脚本(部分版本支持)。

Appium和Appium Inspector是怎么协作的呢?

每个步骤都是怎么安装部署、以及配置使用的呢,在之后的篇幅将会逐一得到解决;

  1. 启动 Appium Server:确保服务运行在指定端口(默认 4723)。
  2. 通过Appium Inspector连接和配置设备/模拟器:通过 Desired Capabilities 配置设备信息。
  3. 实时检查元素:在 Inspector 中操作设备,动态查看元素属性。

Appium 与 Appium Inspector 的版本匹配

客户端与服务端版本选择也很重要,否则很有可能会导致这两者无法协同工作;

  • Appium 1.x:使用 Appium Desktop,一般都内置 Inspector无需安装客户端可以直接使用。
  • Appium 2.x:需独立安装 Appium Inspector
    • 命令行可以通过以下方式安装插件,然后在启动时加上参数设置inspector

      # 安装 Inspector 插件
      appium plugin install --source=npm @appium/inspector
      # 启动时加载插件
      appium --use-plugins=inspector
      
    • 【推荐】也可以前往官网(https://github.com/appium/appium-inspector/releases)下载对应的客户端进行安装;

其中Appium与Appium Inspector版本对应关系,一般在安装选择最新版本即可

AppiumInspector备注
1.22.xAppium Desktop 1.22.x该版本及之前版本不再维护,仅适用旧项目
2.0+Appium Inspector 2023.x该版本及之后版本需独立安装【推荐】

Appium安装

首先打开终端利用yarn安装appium服务
可以不用yarn命令,也可以先用你自己的熟悉的环境安装yarn(npm install --global yarn、brew install yarn)

yarn global add appium

后面在连接Android模拟器或真机时需要用到uiautomater2驱动,所以这里要先安装它;这里前面最好加上sudo以管理员权限运行,否则有可能会安装失败;

sudo appium driver install uiautomator2

可以通过以下命令查看哪些驱动已安装成功,哪些驱动未安装;根据自己需要访上面一步,选择安装需要的驱动即可;

appium driver list#其它驱动安装命令
sudo appium driver install xcuitest
sudo appium driver install espresso
sudo appium driver install mac2
sudo appium driver install windows
sudo appium driver install safari
sudo appium driver install gecko
sudo appium driver install chromium

在这里插入图片描述
经过以上这些步骤appium服务就算安装完成了;有了appium服务下面我们该怎么启动?通过命令行启动时如何去设置相应的参数?继续往下看了解更多appium参数设置和启动方式。

启动appium服务

一般情况下通过以下命令方式启动即可,表示允许任何来源地址(即允许cors跨域)且默认使用uiautomator2驱动启动;appium服务默认绑定0.0.0.0:4723,后面Appium-inspector客户端连接地址为127.0.0.1:4723(当然也可以通过下面给出的参数重新设置绑定地址)

http://www.lryc.cn/news/538650.html

相关文章:

  • matlab质子磁力仪传感器线圈参数绘图
  • WPF快速创建DeepSeek本地自己的客户端-基础思路版本
  • FreeRTOS第12篇:系统的“绿色通道”——中断管理与临界区
  • SpringBoot+Vue+数据可视化的动漫妆造服务平台(程序+论文+讲解+安装+调试+售后等)
  • CentOS 7超详细安装教程(含镜像)
  • 一种棋牌网游的玩法
  • 9.综合调试|输入不能存在空格|desc存在None|输出权值和ID|函数重名|修改文件名|权值和实际关键词出现次数(C++)
  • 使用SHOW PROCESSLIST和SHOW ENGINE INNODB STATUS排查mysql锁等待问题
  • ElasticSearch映射分词
  • JVM——堆的回收:引用计数发和可达性分析法、五种对象引用
  • PosgreSQL比MySQL更优秀吗?
  • 冒险岛079 V8 整合版源码搭建教程+IDEA启动
  • 基于Python的Flask微博话题舆情分析可视化系统
  • ms-swift3 序列分类训练
  • VSCode 实用快捷键
  • MVC模式和MVVM模式
  • CSS伪类选择器全解析:让你的样式更加灵活和智能
  • 【GESP】2024年12月图形化一级 -- 飞行的小猫
  • 30填学习自制操作系统第二天
  • MapReduce的工作原理及其在大数据处理中的应用
  • vue3.x 的provide 与 inject详细解读
  • c#中“事件-event”的经典示例与理解
  • 《第三代大语言模型Grok 3:闪亮登场》
  • rem、em、vw区别
  • 最新Apache Hudi 1.0.1源码编译详细教程以及常见问题处理
  • C语言简单练习题
  • C++ ——static关键字
  • Jasper AI技术浅析(二):语言模型
  • QML 部件获得焦点触发的全局槽函数 onActiveFocusItemChanged
  • 【git】工作场景下的 工作区 <-> 暂存区<-> 本地仓库 命令实战 具体案例