Python+Appium自动化测试(4)-使用weditor进行元素定位
一,weditor的安装与使用
首选需要在电脑上配置好Python环境
下载安装命令如下,加上镜像下载速度更快:
pip install weditor -i https://pypi.tuna.tsinghua.edu.cn/simple启动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自动化测试(4)-使用weditor进行元素定位的更多相关文章
- python appium笔记(二):元素定位
#这里的示例是用android来说明的,xpath应该是通用的,resource-id不太清楚,没配过IOS的环境 #环境配置和一些参数的意思不清楚可以看我上一篇python appium笔记(一) ...
- Python+Appium自动化测试(5)-appium元素定位常用方法
对于Android而言,查找appUI界面元素属性的工具有三种:appium desktop,uiautomatorviewer.bat,weditor.之前已经介绍过了weditor的使用,这里我将 ...
- Python+Appium自动化测试(9)-自动选择USB用于传输文件(不依赖appium对手机页面元素进行定位)
一,问题 app自动化测试使用Android真机连接电脑时,通常会遇到两种情况: 1.测试机连接电脑会弹窗提示USB选项,选择USB用于"传输文件",有些手机不支持设置默认USB选 ...
- Python+Appium自动化测试(6)-元素等待方法与重新封装元素定位方法
在appium自动化测试脚本运行的过程中,因为网络不稳定.测试机或模拟器卡顿等原因,有时候会出现页面元素加载超时元素定位失败的情况,但实际这又不是bug,只是元素加载较慢,这个时候我们就会使用元素等待 ...
- Python+Appium自动化测试(13)-toast定位
一,前言 在app自动化测试的过程中经常会遇到需要对toast进行定位,最常见的就是定位toast或者获取toast的文案进行断言,如下图,通过定位"登录成功"的toast就可以断 ...
- python+appium自动化测试(一)-----环境搭建
基础背景: windows7系统 +python3.4版本 环境搭建目标: 使用python编写app自动化测试脚本并成功执行. 搭建步骤: 1.安装python3,安装步骤详见:https:// ...
- Selenium+Python自动化测试实战(2)元素定位
1.Selenium2 的原理 第一篇分享简单介绍了基于Python开发的Selenium2的环境配置,这篇主要讲一下基本用法.首先讲一下Selenium2的基本原理.基本上知道了这个东西是怎么回事, ...
- RobotFrameWork+APPIUM实现对安卓APK的自动化测试----第七篇【元素定位介绍】
http://blog.csdn.net/deadgrape/article/details/50628113 我想大家在玩自动化的时候最关心的一定是如何定位元素,因为元素定位不到后面的什么方法都实现 ...
- Python+Appium自动化测试(15)-使用Android模拟器(详细)
做APP的UI自动化测试时,我们往往会使用真机跑自动化测试脚本,因为这样才是最真实的使用场景.但前期调试脚本的话,可以先使用模拟器,这样相对更加方便. 不推荐使用Android SDK里自带模拟器,太 ...
随机推荐
- SpringMVC实例及注解(二)
@RequestMapping()除了修饰方法,还可以修饰类1.类定义处:提供初步的请求映射信息.相对于WEB应用的根目录2.方法处:提供进一步的细分映射信息.相对于类定义处的URL.若类定义处未标注 ...
- vue引入 lodash
vue main.js引入 // main.js 全局引入lodash import _ from 'lodash' Vue.prototype._ = _ // 使用 this._.debounce ...
- 求支付表中按id累积和最接近100的那条记录
此例源自美团的一道SQL面试题 支付表结构: create table hy_payment( id number(4,0) primary key, pay number(3,0) not null ...
- Mybatis-解决属性名和字段名不一致的问题
解决属性名和字段名不一致的问题 目录 解决属性名和字段名不一致的问题 1. 问题 2. ResultMap 1. 问题 在数据库中,密码字段为pwd,而在实体类中为password package c ...
- Java链接db2相关
端口一般是50000或者60000 后面跟的可能是库名(个人猜测) 还有db2jcc.jar安装db2的可以从相应目录下载未安装的可以…(啥时候有空再传上来)
- java8--排序
排序的传统的写法是: Collections.sort( SortTest.users, new Comparator<User>() { @Override public int com ...
- netty之handler read
有时候会有一系列的处理in的handler,使用fireChannelRead处理传递 转载自https://blog.csdn.net/u011702633/article/details/8205 ...
- hystrix文档翻译之插件
插件 可以通过实现插件来改变Hystrix的行为.可以通过HystrixPlugins来注册自定义插件,这些插件会被应用到HystrixCommand,HystrixObservableCommand ...
- 1.Concurrent概述
- 栈帧的内部结构--动态链接 (Dynamic Linking)
每个栈帧中包含: 局部变量表(Local Variables) 操作数栈(Opreand Stack) 或表达式栈 动态链接 (Dynamic Linking) (或指向运行时常量的方法引用) 动态返 ...