APP自动化之weditor工具

2023-11-05

由于最近事情颇多,许久未更新文章。大家在做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 -m uiautomator2 init

5.weditor连接手机

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

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

图片

(三)如何抓取页面元素

元素定位

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

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

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

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

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

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

图片

coding在线调试

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

import uiautomator2 as u2

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

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

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

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

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

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

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

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

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

3.使用uiautomator2中xpath定位方法

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

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

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

在这里插入图片描述

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

APP自动化之weditor工具 的相关文章

  • 软件测试|深入了解Python中的super()函数用法

    简介 Python中的super 函数是一种强大的工具 用于在子类中调用父类的方法 它在面向对象编程中非常有用 可以让你轻松地扩展和重用现有的类 本文将详细介绍super 函数的用法 并提供一些示例来帮助你更好地理解它的功能 什么是supe
  • 软件测试|Python中如何提取列表中索引为奇数的元素

    简介 在Python中 我们经常需要从列表中提取特定位置的元素 如果我们想要提取列表中索引为奇数的元素 可以使用一些简单的方法来实现这一目标 本文将介绍如何在Python中提取列表中索引为奇数的元素 并提供示例代码来帮助大家更好地理解这个过
  • 软件测试|SQLAlchemy环境安装与基础使用

    简介 SQLAlchemy 是一个强大的 Python 库 用于与关系型数据库进行交互 它提供了高度抽象的对象关系映射 ORM 工具 允许使用 Python 对象来操作数据库 而不必编写原生SQL查询 本文将介绍如何安装 SQLAlchem
  • 这个很少人知道的零售技巧,却是我最想安利的!

    在当今数字化浪潮的推动下 零售业正在迎来一场革命性的变革 新零售模式的崛起正引领着消费者与商品之间的互动方式发生深刻的变化 在这个变革的前沿 自动售货机作为新零售的一种关键形式 通过智能技术和自动化系统 重新定义了购物体验的边界 客户案例
  • 什么是充放电振子理论?

    CHAT回复 充放电振子模型 Charging Reversal Oscillator Model 是一种解释ENSO现象的理论模型 这个模型把ENSO现象比喻成一个 热力学振荡系统 在这个模型中 ENSO现象由三个组成部分 充电 Char
  • 软件测试|sqlalchemy relationship

    简介 SQLAlchemy是一个流行的Python ORM 对象关系映射 库 它允许我们以面向对象的方式管理数据库 在SQLAlchemy中 relationship 是一个重要的功能 用于建立表之间的关系 在本文中 我们将详细探讨 rel
  • 软件测试|Python数据可视化神器——pyecharts教程(九)

    使用pyecharts绘制K线图进阶版 简介 K线图 Kandlestick Chart 又称蜡烛图 是一种用于可视化金融市场价格走势和交易数据的图表类型 它是股票 外汇 期货等金融市场中最常用的技术分析工具之一 可以提供关于价格变动 趋势
  • 软件测试|教你使用Python下载图片

    前言 我一直觉得Windows系统默认的桌面背景不好看 但是自己又没有好的资源可以进行替换 突然我一个朋友提醒了我 网络上的图片这么多 你甚至可以每天换很多个好看的背景 但是如果让我手动去设置的话 我觉得太麻烦了 我不如使用技术手段将图片下
  • 跨平台UI自动化框架:Airtest,游戏开发和应用测试的利器

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 甜蜜而简洁 —— 深入了解Pytest插件pytest-sugar

    在日常的软件开发中 测试是确保代码质量的关键步骤之一 然而 对于测试报告的生成和测试结果的可读性 一直以来都是开发者关注的焦点 Pytest插件 pytest sugar 以其清晰而美观的输出 为我们提供了一种愉悦的测试体验 本文将深入介绍
  • 2024拒绝行业内卷!八年软件测试20K*16薪行业心得 想入行必看

    目前工作做软件测试工作8年 属于高级测试员那个级别吧 现在看到各行各业的人都在转行学习软件测试 想给大家一些学习建议和忠告 很多粉丝都跟我说今年行情很差 找不到工资 真的找不到工作了吗 我们常在网上看到的 程序员饱和 程序员过剩 其实一般是
  • 做测试不会 SQL?超详细的 SQL 查询语法教程来啦!

    前言 作为一名测试工程师 工作中在对测试结果进行数据比对的时候 或多或少要和数据库打交道的 要和数据库打交道 那么一些常用的sql查询语法必须要掌握 最近有部分做测试小伙伴表示sql查询不太会 问我有没有sql查询语法这一块的文档可以学习
  • Kubernetes (十二) 存储——Volumes配置管理

    一 卷的概念 官方地址 卷 Kubernetes https v1 24 docs kubernetes io zh cn docs concepts storage volumes 二 卷的类型及使用 emptyDir卷 1 创建编辑文件
  • ssh:connect to host github.com port 22: Connection timed out

    解决流程 1 将github的端口由22改为443 ssh T p 443 git ssh github com 2 接着输入yes进行确认 The authenticity of host ssh github com 443 192 1
  • 短信系统搭建主要因素|网页短信平台开发源码

    短信系统搭建主要因素 网页短信平台开发源码 随着移动互联网的快速发展 短信系统已成为企业和个人进行信息传递的重要工具 建立一个高效可靠的短信系统对于企业来说非常重要 下面我们将介绍一些影响短信系统搭建的主要因素 1 平台选择 在搭建短信系统
  • 一文让你了解UI自动化测试

    测试都起什么作用 是项目的保险 但不是项目的救命草 测试无实际产出 但作用远大于实际产出 测试是从项目维度保证质量 而不是测试阶段 UI自动化 下面简称自动化 基于UI进行自动功能测试 以Web端作为例子 一般的UI功能自动化都是基于HTM
  • Web自动化测试 —— cookie复用

    一 cookie简介 cookie是一些数据 存储于用户电脑的文本文件中 当web服务器想浏览器发送web页面时 在链接关闭后 服务端不会记录用户信息 二 为什么要使用Cookie自动化登录 复用浏览器仍然在每次用例开始都需要人为介入 若用
  • UI自动化测试之Jenkins配置

    背景 团队下半年的目标之一是实现自动化测试 这里要吐槽一下 之前开发的测试平台了 最初的目的是用来做接口自动化测试和性能测试 但由于各种原因 接口自动化测试那部分功能整个废弃掉了 其中和易用性有很大关系 另外 也和我们公司的接口业务也有关
  • Airtest自动化测试工具

    一开始知道Airtest大概是在年初的时候 当时 看了一下官方的文档 大概是类似Sikuli的一个工具 主要用来做游戏自动化的 通过截图的方式用来解决游戏自动化测试的难题 最近 移动端测试的同事尝试用它的poco库来做自动化 看样子还不错
  • 用Python实现高效数据记录!Web自动化技术助你告别重复劳动!

    自动化关键数据记录 简介 关键数据记录是 Web 自动化测试中的关键部分 它们提供了关于系统行为和执行过程的详细信息 有助于验证用例的正确性 排查问题和确保应用程序的质量 行为日志 行为日志是一种用于记录系统或应用程序的操作和事件的技术 它

随机推荐

  • avalon-2-基于docker的运行

    1 安装docker和docker compose 2 sudo docker compose up build ERROR Invalid interpolation format for build option in service
  • pandas read_excel()方法更新了,encoding参数没了

    如图 之前用pandas读取文件的read excel方法里面写的参数现在都报错了 df pd read excel output file encoding utf 8 error bad lines False 读取源文件 encodi
  • 南大通用GBase8s 常用SQL语句(267)

    SET PDQPRIORITY 语句 SET PDQPRIORITY 语句启用一应用来在例程之内动态地设置查询优先级别 SET PDQPRIORITY 语句是对 SQL 的 ANSI ISO 标准的扩展 语法 元素 描述 限制 语法 res
  • 打不开文件"F:\vmware -副本\Ubuntu 16.vmdk":该虚拟机的磁盘已经由虚拟机或者快照使用

    1 打不开文件 F vmware 副本 Ubuntu 16 vmdk 该虚拟机的磁盘已经由虚拟机或者快照使用 解决办法 1 删除虚拟机配置文件下面的 lck文件 2 删除类型为快照的 vmsn vmsd文件 然后重启虚拟机即可 父虚拟磁盘在
  • Latex 报错:The font cannot be found.

    Latex报错 Package fontspec Error The font KaiTi GB2312 cannot be found 解决方法 给系统安装 KaiTi GB2312 字体 step1 下载 KaiTi GB2312 字体
  • 关于虚拟机(CentOS 7 )远程连接超时(SecureCRT 软件)、网络服务启动失败的解决方法

    问题 开启虚拟机后 用CRT软件连接虚拟机发现 总是连接超时 connection time out 返回VM 尝试ping一下百度 发现ping不通 然而在windows上ping百度可以ping通 并且在虚拟机上直接ping百度的ip
  • 【R】【数据采集、抽样和预处理实验】

    文章目录 实验思维导图 实验一 1 1 启动 Rstudio 1 2 新建 R Script 文件 1 3 read csv 函数导入数据 1 4 剔除冗余变量 1 5 缺失值处理 1 6 异常值处理 实验二 2 1 启动 Rstudio
  • 解决idea识别不出来项目中某些Maven模块,显示模块为“灰色”

    解决idea识别不出来项目中某些Maven模块 显示模块为 灰色 背景 打开一个Maven多模块项目 发现有些Maven子模块显示为 灰色 解决方式 点击右侧怕 Maven gt 点击 加号 gt 选择灰色模块对应的 pom 文件 本步骤主
  • OpenSSL中文手册之ASN1库详解(未完待续)

    openssl之ASN 1系列之1 引言和ASN 1概述 引言 ASN 1全称为Abstract Syntax NotationOne 是一种描述数字对象的方法和标准 openssl的编码方法就是基于该标准的 目前 很多其他软件的编码方法也
  • vue321

    component切换 div class dashboard container div
  • [PHP面试题]跳槽面试必背-自己最近5年的整理(二)

    看完这些还怕进不了大厂 PHP面试题 跳槽面试必背 自己最近5年的整理 一 PHP面试题 跳槽面试必背 自己最近5年的整理 三 PHP经典面试题集 含答案 面试12家公司 收获9个offer 2020年PHP 面试问题 100 个常见的 P
  • 图解OAuth 2.0协议族(一):授权码 auth code

    最近学习了OAuth 2 0的协议族 获益匪浅 对认证 授权都有了新的 进一步认识 在这里做用序列图记录与总结所有的场景 以共勉 系列全文以资源拥有者授权客户端访问受保护照片访问为例 模拟了多个场景 Oauth是一个授权协议框架 包含多个协
  • NVIDIA-smi

    上图是服务器上 GeForce GTX 1080 Ti 的信息 下面一一解读参数 上面的表格中的红框中的信息与下面的四个框的信息是一一对应的 GPU GPU 编号 Name GPU 型号 Persistence M 持续模式的状态 持续模式
  • 剑指offer-10 二进制数字1的个数

    输入一个int型数字 输出它作为二进制的1的个数 如9的二进制为1001 有2个1 则输出2 法一 因为int型有4个字节 一共32位 每次将输入右移1 并和1进行 与 操作 将结果累加 则为1的个数 public class Test10
  • 二维各向同性介质弹性波数值模拟(交错网格有限差分法)

    一 一阶速度 应力弹性波方程 在二维各向同介质xoz平面内 假定体力为0 从上面方程当中 我们为了得到各点的应力和速度值 就需要得到关于对时间t和空间x z的偏导 二 时间上的2M阶差分 由Taylor公式得 三 空间2N阶近似差分 由一阶
  • 【2023】Python安装教程

    一 Python下载 1 进入Python官网 官网地址 https www python org 2 点击 Downloads 展开后点击 Windows 跳转到下载python版本页面 选择 Stable Releases 稳定版本 我
  • 尤其抖音,不如学习

    什么是我们最宝贵的资源 是钱吗 不不不 我们最宝贵的资源是时间 与其把时间耗费在刷抖音 或者其他没多少价值的事情上 不如多学习一些有用的技能 今天 小灰给大家推荐几个有用的公众号 这些公众号有些是IT相关 有些是教我们如何穿衣打扮 有些是讨
  • 超出表空间"users"的空间限额

    这是因为用户被数据库限制了在建表的表空间 执行一下下面的语句后 再执行建表语句 alter user 用户名 quota unlimited on 表空间名字
  • shell中if多重条件

    if a aa a b bb c cc a d dd then echo success fi
  • APP自动化之weditor工具

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