【Python+Appium】开展自动化测试(四)使用weditor进行元素定位

news2025/8/12 13:26:38

         目录

前言

一,weditor的安装与使用

二,遇到的问题

结语


前言

上一篇我们讲到了如何通过编写一个简单的Python脚本完成了登录app的操作,如何断言,如何编写一条完整的用例。那么今天继续我们的自动化测试第四天,使用weditor进行元素定位,具体如何操作的我们往下看看吧。

一,weditor的安装与使用

首选需要在电脑上配置好Python环境

  • 下载安装命令如下,加上镜像下载速度更快:
    pip install weditor -i Simple Index

  • 启动weditor命令:
    python -m weditor

    此时会打开浏览器新建窗口如下

  • 连接手机。输入adb devices命令,获取手机的设备id

  • 在浏览器editor页面,选择Android,输入手机的设备id,点击Connect按钮。按钮出现绿叶小图标,左侧出现手机页面的截图,说明成功。

  • ps:手机第一次连接,点击Connect时间会比较久,并且手机上会提示安装ATX与另外一个app,容许安装完成即可

    app切换页面后,点击Dump Hierarchy按钮即可刷新,也可以在左侧app截图区域点击鼠标右键进行刷新。

  • 使用

    1,鼠标点击选中左侧截图需要定位的区域后,会在页面中间显示该元素的各种属性。

    2,勾选中间 "强制使用XPath" 则会将XPath展示在代码栏,不勾选则代码栏展示的是元素其他属性,如text、resourceId等。

    3,右侧下部分Hierarchy,显示app当前页面UI的层级结构。Console为控制台,可来回切换。

    4,右侧上部分可以输入代码,进行操作步骤的调试。如:从今日头条的首页-->放映厅-->电影-->喜剧页面,将中间代码栏的代码输入到右侧,点击运行,我们就可以在手机上看到app从首页进入喜剧电影页。

 

二,遇到的问题

  • 左侧黑屏

    点击Connect出现绿叶图标后,发现左侧手机截图黑屏,鼠标又可以在黑屏上是选择页面元素。我们当然不可能靠这样抓瞎来定位元素。于是就去网上查找资料,未找到解决方法,重新启动webitor也没用。于是我尝试在这个界面做各种操作尝试,一顿令人窒息的操作之后......把 “静态/实时开关” 来回切花就成功了。

结语

这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。

有什么不懂或是不理解的地方欢迎在评论区和我互动交流,也可以私❤我【Python+appium】咨询

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/33476.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java进阶篇】第五章 集合(下)--Map集合

文章目录1、概述2、Map接口中的常用方法3、Map集合的遍历4、哈希表的数据结构5、Map集合的存取6、hashCode()和equals()的重写7、一些小零散的东西8、HashMap和Hashtable的区别9、Properties类10、TreeMap11、自定义类实现Comparable接口12、二叉树13、Comparator接…

Caffeine《一》

《Caffeine(Java顶级缓存组件)一》 提示: 本材料只做个人学习参考,不作为系统的学习流程,请注意识别!!! 《Caffeine(Java顶级缓存组件)》《Caffeine(Java顶级缓存组件)一》1. Caffeine缓存概念1.1 缓存的分…

【MyBatis】一、概述

框架 框架就是对通用代码的封装,提前写好了一堆接口和类,我们可以在做项目的时候直接引入这些接口和类,基于这些现有的接口和类进行开发,提高开发效率。 框架一般以jar包形式存在 三层架构 表现层(UI)&am…

数字化助力生产管理:计件工资管理系统

目前因市场经济的发展,企业为求发展同时为防止消极怠工的情况,常把员工工资与产量结合起来。为了增加工人的劳动积极性,秉持多劳多得的科学管理理念,许多生产类型企业均实现了计件工资制。所谓的计件工资制是指按照生产的合格品的…

python之opencv人脸识别快速体验

目录 1、灰度转换 2、引用opencv官方提供的人脸训练模型 3、绘制方框(用于框住人脸) 4、效果及完整代码: 5、检测多张人脸: 学习链接: 1、灰度转换 # 灰度转换gary cv.cvtColor(img,cv.COLOR_BGR2GRAY) 2、引…

图解:Elasticsearch 8.X 如何求解环比上升比例?

1、企业级Elasticsearch 8.X 实战问题 问题描述:有个聚合的需求,问下大家,一个索引中有时间字段 要求 计算本月和上月相比的环比上升比例?——来自GPVIP群 2、问题释义 2.1 啥叫环比? 环比是统计学术语&#xff0c…

LabVIEW使用Deskto pExecution Trace工具包

LabVIEW使用Deskto pExecution Trace工具包 可以使用桌面执行跟踪工具包来调试和优化大型LabVIEW应用程序,包括具有多个循环的应用程序、客户端-服务器架构、动态加载VI等。该工具包从本地或远程计算机桌面上运行的应用程序捕获执行事件,并在表窗格中显…

PCB layout有DRC为什么还要用CAM和DFM检查?

随着电子产品的高速发展,PCB生产中大量使用BGA、QFP、PGA和CSP等高集成度封装器件,PCB的复杂程度也大大增加,这对于PCB设计也提出了更高的要求。所以在PCB设计阶段,除了基础的电气性能之外,还需要考虑可制造性&#xf…

上游模式用于实验室用冷冻机压力和真空度的高精度控制

摘要:本文针对实验室用冷冻干燥机的真空度控制,提出了干燥过程中的真空度精密控制解决方案。解决方案主要是采用双真空计(电容真空计和皮拉尼真空计)测量干燥过程中的真空度变化,双通道PID真空度控制器一方面采集电容真…

MySQL数据库:2、MySQL的下载与安装、基本使用、系统服务制作

一、MySQL简介 ​ MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 二、安装与下载 1、下载流程 1、访问官方(www.mysql.com&#xf…

数据结构学习笔记(Ⅲ):栈和队列

目录 1 栈 1.1 栈的基本概念 1.定义 2.基本操作 ​1.2 栈道顺序存储实现 1.实现 2.基本操作 3.共享栈 1.3 栈的链式存储实现 2 队列 2.1 基本概念 1.定义 2.基本操作 2.2 队列的顺序实现 1.实现 2.基本操作 2.3 队列的链式实现 1.链式存储实现队列 2.基本操…

Selenium基础 —unittest单元测试框架

目录 (一)unittest基本简介 (二)unittest基本概念 1、unittest核心的四个概念 2、如何创建一个测试类 3、test fixture常用的四个方法 4、unittest编写测试方法(用例)规范 5、执行测试脚本 6、入门示例 7、结果说明 &am…

目标检测论文解读复现之十七:融合注意力机制的YOLOv5口罩检测算法

前言 此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文&#xff0…

视频格式转换器下载哪个好?分享:3种TS到MP4的转换器

对于TS视频格式大家可能接触的比较少,我们先来认识下TS视频格式。 TS是日本高清摄像头拍摄下的视频格式,常用于记录实录片段,比如讲堂、演唱会、监控等等。TS和MP4不同的地方在于TS是一种抢先非高清版视频,其画质并不如MP4&#x…

华为十年架构师实战经验总结:大规模分布式系统架构与设计实战

前言 本篇是从程序员到首席架构师十多年职业生涯的实战经验总结,系统讲解构建大规模分布式系统的核心技术与实现方法,包含开源的Fourinone系统的设计与实现过程,手把手教你掌握分布式技术。 通过学习这个系统的实现方法与相关的理论&#x…

Investment Guide|Star Investors: X METAVERSE PRO‘s Copy Trading System

With the globalization of finance, people around the world are more keenly aware of the role of finance. When financial investment has become a social trend, “how to effectively use every penny and grasp every investment opportunity in a timely manner” h…

SpringCloud - 服务调用

文章目录1. LB负载均衡(Load Balance)2. Ribbon负载均衡服务调用2.1 Ribbon负载均衡演示2.1.1 架构2.1.2 POM2.1.3 RestTemplate操作2.2 Ribbon核心组件IRule2.3 负载均衡规则替换2.4 Ribbon负载均衡算法2.4.1 原理2.4.2 手动实现负载均衡3. OpenFeign服务调用3.1 OpenFeign使用…

[Spring Boot]09 Spring Boot集成和使用Redis

目录前言Spring Boot如何集成RedisSpring Boot如何使用Redis小结前言 Redis全称Remote Dictionary Server(远程字典服务),它是一个基于内存实现的键值型非关系(NoSQL)数据库,由意大利人 Salvatore Sanfilip…

Python 基础(二):搭建 Python 开发环境

搭建 Python 开发环境一、下载 Python 安装包二、安装 Python三、Python开始菜单介绍3.1 IDLE3.2 Python 3.113.3 Python 3.11 Manuals3.4 Python 3.11 Manuals Docs四、Hello World大家好,我是水滴~~ 本篇文章主要介绍如何搭建 Python 的开发环境,主要内…

Eolink钉钉webhook使用教程(超详细)

目录 一、操作步骤 1、空间管理 2、添加服务调用 3、填写添加Webhook信息 4、获取DingDing通知URL 1、需要创建一个至少三个人的群 2、需要添加一个群机器人。 3、选择智能群助手 4、添加机器人 5、点击设置 6、选择【自定义】通过Webhook接入自定义服务 7、确认添…