Layout Inspector平替跨平台布局分析器のAppium Inspector
引言
因为我有一个api为26的设备,因为 Layout Inspector 无法在 API 26 以下设备上使用,并且现在AS的 Hierarchy Viewer 和Android Device Monitor 均已经在SDK中剔除,故想再搜一个pc版的布局查看器,发现Appium Inspector学习成本较高,过程比较艰难,没有好的中文教程,gtp回复也不尽人意,故做下记录。
引路篇⭐⭐⭐⭐⭐
https://appium.github.io/appium-inspector/latest/quickstart/installation/
安装加启动
安装appium 并且下载驱动Android 和 UiAutomator2 这样环境就算准备好了
C:\Users\mmq>npm install -g appium
npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm warn deprecated lodash.get@4.4.2: This package is deprecated. Use the optional chaining (?.) operator instead.
npm warn deprecated rimraf@2.4.5: Rimraf versions prior to v4 are no longer supported
npm warn deprecated glob@6.0.4: Glob versions prior to v9 are no longer supportedchanged 390 packages in 8s61 packages are looking for fundingrun `npm fund` for detailsC:\Users\mmq>appium driver install uiautomator2
Error: × A driver named "uiautomator2" is already installed. Did you mean to update? Run "appium driver update". See installed drivers with "appium driver list --installed".C:\Users\mmq>appium driver list --installed
√ Listing installed drivers
- uiautomator2@4.1.5 [installed (npm)]C:\Users\mmq>appium plugin install --source=npm appium-inspector-plugin
√ Checking if 'appium-inspector-plugin' is compatible
√ Installing 'appium-inspector-plugin'
Error: × A plugin named "inspector" is already installed. Did you mean to update? Run "appium plugin update". See installed plugins with "appium plugin list --installed".C:\Users\mmq>appium --use-plugins=inspector --allow-cors
[Appium] Attempting to load plugin inspector...
[Appium] Requiring plugin at C:\Users\mmq\.appium\node_modules\appium-inspector-plugin\index.mjs
[Appium] AppiumInspectorPlugin has been successfully loaded in 0.618s
[Appium] Welcome to Appium v2.17.1
[Appium] Non-default server args:
[Appium] {allowCors: true,usePlugins: ['inspector']
}
[Appium] The autodetected Appium home path: C:\Users\mmq\.appium
[Appium] Attempting to load driver uiautomator2...
[Appium] Requiring driver at C:\Users\mmq\.appium\node_modules\appium-uiautomator2-driver\build\index.js
[Appium] AndroidUiautomator2Driver has been successfully loaded in 0.860s
[Appium] You have enabled CORS requests from any host. Be careful not to visit sites which could maliciously try to start Appium sessions on your machine
[Appium] Appium REST http interface listener started on http://0.0.0.0:4723
[Appium] You can provide the following URLs in your client code to connect to this server:http://172.16.51.46:4723/http://192.168.137.1:4723/http://192.168.145.1:4723/http://127.0.0.1:4723/ (only accessible from the same host)http://172.28.240.1:4723/
[Appium] Available drivers:
[Appium] - uiautomator2@4.1.5 (automationName 'UiAutomator2')
[Appium] Available plugins:
[Appium] - inspector@2025.3.1 (ACTIVE)
杀进程
npm install --global kill-port
kill-port --port 4723
下载客户端
https://github.com/appium/appium-inspector/releases/download/v2024.9.1/Appium-Inspector-2024.9.1-win-x64.exe
使用客户端或者http://localhost:4723/inspector访问即可
配置项

运行
PC端效果

web端效果

配置贴一下
{"platformName": "Android","appium:automationName": "UiAutomator2"
}
相关文章:
Layout Inspector平替跨平台布局分析器のAppium Inspector
引言 因为我有一个api为26的设备,因为 Layout Inspector 无法在 API 26 以下设备上使用,并且现在AS的 Hierarchy Viewer 和Android Device Monitor 均已经在SDK中剔除,故想再搜一个pc版的布局查看器,发现Appium Inspector学习成本…...
基于sklearn实现文本摘要思考
和各位小伙伴分享一下使用sklearn进行文本摘要的思考。 第一版本 原理 提取式文本摘要的基本原理是: 将文本分割成句子 计算每个句子的重要性(权重) 选择权重最高的几个句子组成摘要 常用的句子权重计算方法: TF-IDF:基于词频-逆文档频…...
常见NLP指标PPL,F1,Rouge-L,Accuracy (CLS),Accuracy (EM)总结
常见NLP指标PPL,F1,Rouge-L总结 1.PPL 2.F1 3.Rouge-L 4.Accuracy (CLS) 5.Accuracy (EM)...
Redis数据结构之ZSet
目录 1.概述2.常见操作2.1 ZADD2.2 ZRANGE2.3 ZREVRANGE2.4 ZRANGEBYSCORE2.5 ZSCORE2.6 ZCARD2.6 ZREM2.7 ZINCRBY2.8 ZCOUNT2.9 ZMPOP2.10 ZRANK2.11 ZREVRANK 3.总结 1.概述 ZSet和Set一样也是String类型元素的集合,且不允许重复的成员,不同的是ZSet…...
使用binance-connector库获取Binance全市场的币种价格,然后选择一个币种进行下单
一个完整的示例,展示如何使用 api 获取Binance全市场的币种价格,然后选择一个最便宜的币种进行下单操作 代码经过修改,亲测可用,目前只可用于现货,合约的待开发 获取市场价格:使用client.ticker_price()获取所有交易对的当前价格 账户检查:获取账户余额,确保有足够的资…...
磁盘分析工具合集:告别C盘焦虑!
今天李师傅带大家盘点五款硬盘空间分析利器,帮你精准定位那些"吃空间"的元凶,让C盘告别臃肿烦恼! 一、WizTree 这款NTFS磁盘的"透视眼"堪称效率典范。它通过直接读取硬盘主文件表(MFT)实现秒级扫描,1TB机械…...
20250405在荣品的PRO-RK3566开发板使用Rockchip原厂的buildroot系统来适配gmac1
【暂时还没有解决让PRO-RK3566的eth0/gmac1开机就启动】 PRO-RK3566作为iperf服务器: rootrk3566-buildroot:/# ifconfig rootrk3566-buildroot:/# ifconfig -a rootrk3566-buildroot:/# ifconfig eth0 up rootrk3566-buildroot:/# ifconfig rootrk3566-buildroot:/…...
Spring / Spring Boot 的@MapperScan 和 @Repository
MapperScan 和 Repository 是两个与数据访问层相关的注解,它们在功能上有一定的联系,但也有明显的区别。 一、相同点 1. 都与数据访问层相关 MapperScan:用于扫描 MyBatis 的 Mapper 接口。MyBatis 是一个流行的持久层框架,Mapp…...
SDL中SDL_AudioSpec结构体参数
文章目录 ✅ SDL_AudioSpec 结构体定义📌 每个字段详细解释 设置依据1. freq:采样频率(Sample Rate)2. format:采样格式(Sample Format)3. channels:通道数(Channels&am…...
每日一题(小白)模拟娱乐篇14
直接理解题意,一分钟扩散一次,那么2020分钟也就是需要循环2020次,然后加入扩散后的条件,每一个次扩散使方格子的总量1(只要有一个点扩散就无需看其他的点),若干次循环过后总数之和即所有黑色格子…...
使用 Python 爬取并打印双色球近期 5 场开奖数据
使用 Python 爬取并打印双色球近期 5 场开奖数据 前期准备安装所需库 完整代码代码解析 1. 导入必要的库2. 定义函数 get_recent_five_ssq 3. 设置请求的 URL 和 Headers 4. 发送请求并处理响应5. 解析 HTML 内容6. 提取并打印数据7. 错误处理 首先看下运行的效果图:…...
再见VS Code!Google IDE 正颠覆传统开发体验
云端开发的革命:Google Project IDX 如何颠覆传统开发体验 在软件开发领域,Google 最新推出的 Project IDX 绝非仅仅是另一个“基于浏览器的 VS Code”——它是一次真正的范式转变。与 VS Code、Cursor 等传统工具不同,IDX 是一个完全云原生的…...
Java Web从入门到精通:全面探索与实战(一)
目录 引言:开启 Java Web 之旅 一、Java Web 基础概念大揭秘 1.1 什么是 Java Web 1.2 Java Web 的优势剖析 1.3 Java Web 相关核心概念详解 二、搭建 Java Web 开发环境:步步为营 2.1 所需软件大盘点 2.2 软件安装与配置全流程 三…...
AI+自动化测试:如何让测试编写效率提升10倍?
文章目录 摘要传统自动化测试的痛点编写测试用例太费时间测试覆盖率难以保证UI 测试维护成本高 AI 如何优化自动化测试?AI 生成单元测试:减少重复工作,提高覆盖率传统方法 VS AI 方法 使用 AI 生成 Python 单元测试自动补全边界情况传统方法 …...
软件工程面试题(三十)
将ISO8859-1字符串转成GB2312编码,语句为? String snew String(text.getBytes(“iso8859-1”),”gb2312”). 说出你用过的J2EE标准的WEB框架和他们之间的比较? 答:用过的J2EE标准主要有:JSP&Servlet、JDBC、JNDI…...
01-STM32(介绍、工具准备、新建工程)p1-4
文章目录 工具准备和介绍硬件设备stm32简介和arm简介stm32简介STM32命名规则STM32选型STM32F103C8T6最小系统板引脚定义STM32启动配置STM32最小系统电路ARM简介 软件安装注册器件支持包安装ST-LINK驱动安装USB转串口驱动 新建工程创建stm32工程STM32工程编译和下载型号分类及缩…...
Win10定时任务计划无法显示要执行的EXE任务程序界面,问题解决办法
用C#开发的一款WINFORM程序,在电脑测试一切顺利,运行结果正确。但用电脑的定时任务执行时,程序界面不显示,重启电脑、各种试都不行,最终问题解决。 解决办法: 要选“只在用户登陆时运行”,才能执…...
STM32CubeMX-H7-12-IIC读写MPU6050模块(中)-MPU6050模块详解以及软件IIC驱动
前言 上一篇我们已经完成对IIC代码基本框架的编写,以及获取MPU6050的ID,接下来我们逐一分析这个模块的功能,并用IIC驱动 建议看完上一篇再来看这篇 MPU6050寄存器介绍 1.电源管理寄存器(PWR_MGMT_1,地址:0…...
基于Go语言实现一个网络聊天室(连接Redis版)
基于Go语言和Redis的实时聊天室项目详解 项目概述 在这个项目中,我们实现了一个基于Go语言和Redis的实时聊天室系统。该系统允许用户通过客户端连接到服务器,进行实时聊天,并且支持以下功能: 用户网名注册和验证消息广播和接收…...
深入解析 RocketMQ 中的 BrokerOuterAPI 组件
在 RocketMQ 这一高性能分布式消息队列系统中,BrokerOuterAPI 组件犹如一座桥梁,连接着 Broker 与外部世界,在系统的运行、管理以及与其他组件交互过程中发挥着极为关键的作用。本文将深入探讨 BrokerOuterAPI 组件的内部机制、核心功能以及其…...
make_01_Program_06_:: 是什么功能
在 Makefile 中,:: 是一种特殊的分隔符,用于创建多重规则(multiple rules)。当您使用 :: 定义目标时,您可以为同一个目标指定多个命令或多个依赖关系。每个命令将在构建目标时按顺序执行,不会影响其他命令的…...
springboot2.7.x整合nacos+seata
1、nacos及seata下载地址 Nacos Server 下载 | Nacos 官网 Seata Java Download | Apache Seata 这里的seata版本用2.1.0版本。 2、启动nacos D:\本地-seata-nacos\nacos-server\bin>startup.cmd -m standalone 3、修改seata的conf下的application的内容 这里的数据库…...
为 IDEA 设置管理员权限
IDEA 安装目录 兼容性选择管理员身份运行程序 之后 IDEA 中的操作(包括终端中的操作)都是管理员权限的了...
Apache Doris 2.1.9 版本正式发布
亲爱的社区小伙伴们,Apache Doris 2.1.9 版本已正式发布。2.1.9 版本对湖仓一体、倒排索引、半结构化数据类型、查询优化器、执行引擎、存储管理进行了若干改进优化。欢迎大家下载使用。 官网下载:https://doris.apache.org/download GitHub 下载&…...
单片机学习笔记8.定时器
IAP15W4K58S4定时/计数器结构工作原理 定时器工作方式控制寄存器TMOD 不能进行位寻址,只能对整个寄存器进行赋值 寄存器地址D7D6D5D4D3D2D1D0复位值TMOD89HGATEC/(T低电平有效)M1M0GATEC/(T低电平有效)M1M000000000B D0-D3为T0控制,D4-D7为T1控制 GAT…...
vue3实现markdown预览和编辑
Markdown作为一种轻量级标记语言,已经成为开发者编写文档的首选工具之一。在Vue3项目中集成Markdown编辑和预览功能可以极大地提升内容管理体验。本文将介绍如何使用Vditor这一强大的开源Markdown编辑器在Vue3项目中实现这一功能。 一、Vditor简介 Vditor是一款浏…...
高并发秒杀系统接入层如何设计
博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…...
C++异常处理 throw try catch
C 异常处理概述 C 异常处理机制提供了一种在程序运行时捕获错误或异常情况的方式。异常处理的目的是使得程序在遇到错误时能够优雅地终止或恢复,并防止程序出现崩溃。C 使用 try, throw, 和 catch 关键字来实现异常处理。 异常处理的基本结构: throw: …...
纯css实现环形进度条
需要在中实现一个定制化的环形进度条,最终效果如图: 使用代码 <divclass"circular-progress":style"{--progress: nextProgress,--color: endSliderColor,--size: isFull ? 60rpx : 90rpx,}"><div class"inner-conte…...
0基础 | 硬件 | 电源系统 一
降压电路LDO 几乎所有LDO都是基于此拓扑结构 图 拓扑结构 LDO属于线性电源,通过控制开关管的导通程度实现稳压,输出纹波小,无开关噪声 线性电源,IoutIin,发热功率P电压差△U*电流I,转换效率Vo/Vi LDO不适…...
