APP自动化之weditor工具

由于最近事情颇多,许久未更新文章。大家在做APP自动化测试过程中,可能使用的是Appium官方提供的inspect进行元素定位,但此工具调试不方便,于是今天给大家分享一款更好用的APP定位元素工具:weditor

weditor基于web网页端调试,无需下载应用包,使用起来非常方便

(一)weditor简介

weditor是基于python的查看APP元素的工具,能够提供辅助编写脚本、定位元素、调试代码等功能。相较于appium提供的inspect,使用起来更加灵活方便,便于调试

(二)如何使用

  1. 安装weditor

pip install --pre weditor

2. 启动weditor

python -m weditor

3. 连接设备

通过adb命令检测是否已连接设备:adb devices

4. 设备安装atx-agent

python 复制代码
# 安装命令
python -m uiautomator2 init

5.weditor连接手机

备注:当weditor启动后,会自动打开浏览器进入如下图页面

连接手机成功后,会自动获取连接设备的屏幕截图,查看相应的元素

(三)如何抓取页面元素

元素定位

定位元素的方法支持uiautomator的定位方法,也可以支持xpath和坐标定位:

· 1.可以查看元素的resourceId属性

· 2.自动生成xpath定位方法

· 3.支持坐标点击,根据屏幕的比例

· 4.自动生成uiautomator定位方法参考代码

· 5.可以勾选强制使用xpath

coding在线调试

1.导入uiautomator2库,并连接当前设备

python 复制代码
import uiautomator2 as u2

# 连接并启动
d = u2.connect() 

# 打印当前链接设备信息
print(d.info)

# 控制台输入结果
{'currentPackageName': 'com.addcn.android.house591', 'displayHeight': 2186

2.使用uiautomator2中的定位元素方法

python 复制代码
# 2.定位元素输入框,使用属性定位
# uiautomator2定位方式:d(定位方式=定位值)

d(description="請輸入社區/街道名稱搜尋").click()

# 3.在输入框输入内容,并点击提交
d(text="請輸入社區/街道名稱搜尋").send_keys('测试')

# 清除输入框内容
d.clear_text()

# 点击回车键
d.press('enter')

3.使用uiautomator2中xpath定位方法

python 复制代码
# 1. 定位元素点击元素,使用xpath定位
d.xpath('//*[@text="中古屋"]').click()

由于weditor定位工具是基于uiautomator2框架定位的,但里面一些元素的属性、XPath等方式同样适用于Appium框架,并且更加友好,而且能够立马进行调试的,能够大大节省调试脚本的时间

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
方渐鸿15 小时前
【2024】k8s集群 图文详细 部署安装使用(两万字)
java·运维·容器·kubernetes·k8s·运维开发·持续部署
晓衣15 小时前
2025“獬豸杯”全国电子数据取证竞赛-k8s服务器取证wp
服务器·经验分享·程序人生·网络安全·容器·kubernetes·学习方法
我爱云计算15 小时前
K8S详解(5万字详细教程)
linux·运维·云原生·容器·kubernetes
明明跟你说过15 小时前
【k8s】资源限制管理:Namespace、Deployment与Pod的实践
运维·docker·云原生·容器·kubernetes·k8s
打码人的日常分享18 小时前
运维服务方案,运维巡检方案,运维安全保障方案文件
大数据·运维·安全·word·安全架构
荣光波比18 小时前
Nginx 实战系列(一)—— Web 核心概念、HTTP/HTTPS协议 与 Nginx 安装
linux·运维·服务器·nginx·云计算
武文斌7719 小时前
单片机:DS18B20测温度、74HC595扩展芯片、8*8LED矩阵
运维·服务器·单片机·嵌入式硬件
fengfuyao98519 小时前
诊断并修复SSH连接Github时遇到的“connection closed“错误
运维·ssh·github
scugxl19 小时前
centos7 docker离线安装
运维·docker·容器
明达智控技术19 小时前
MR30分布式IO在全自动中药煎药机中的应用
分布式·物联网·自动化