专栏首页从零开始学自动化测试uiautomator2+python自动化测试2-抓元素利器weditor

uiautomator2+python自动化测试2-抓元素利器weditor

前言

android sdk里面自带的uiautomatorviewer.bat可以查看手机app上的元素,但是不太好用,网上找了个大牛写的weditor,试用了下还是蛮不错的 python环境:3.6

weditor环境准备

使用pip安装weditor,github地址https://github.com/openatx/weditor

pip install —pre weditor

创建桌面快捷图标

python -m weditor —shortcut

创建完成后,桌面会出现一个WEditor快捷图标,双击就能启动了

也可以不创建图标,用命令行启动

python -m weditor

看到窗口出现如下信息,就是启动成功了(窗口别关掉了)

C:\Users\dell>python -m weditor
listening on http://192.168.1.125:17310
[I 190717 23:50:55 web:2246] 304 GET / (::1) 7.98ms
[I 190717 23:50:55 web:2246] 304 GET /static/libs/css/buttons.css (::1) 196.47ms
[I 190717 23:50:55 web:2246] 304 GET /static/loading.svg (::1) 5.99ms
[I 190717 23:50:55 web:2246] 304 GET /static/ace/ace.js (::1) 12.97ms
[I 190717 23:50:55 web:2246] 304 GET /static/running.svg (::1) 13.96ms
[I 190717 23:50:55 web:2246] 304 GET /static/ace/mode-python.js (::1) 19.96ms
[I 190717 23:50:55 web:2246] 304 GET /static/libs/fontawesome/css/font-awesome.min.css (::1) 1.99ms
[I 190717 23:50:59 web:2246] 304 GET /api/v1/version (::1) 0.00ms

weditor连接手机

先使用adb连上手机,输入adb devices查看手机设备号:emulator-5554

C:\Users\dell>adb devices
List of devices attached
adb server version (31) doesn't match this client (40); killing...
* daemon started successfully
emulator-5554   device

在页面上输入手机设备号,点Connet按钮,看到出现一个小草的图标,就是连接成功了

页面元素抓取

定位元素

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

  • 1.可以查看元素的resourceId属性
  • 2.自动生成xpath定位方法
  • 3.支持坐标点击,根据屏幕的比例
  • 4.自动生成uiautomator定位方法参考代码
  • 5.可以勾选强制使用xpath

在线Coding调试

可以在页面的右边调试运行代码,这点比appium强很多,可以编写代码边调试,还是非常方便的

操作步骤:点勾选高铁动车后,点查询按钮

d(resourceId="com.yipiao:id/checkGaotie").click()
d.xpath('//*[@resource-id="com.yipiao:id/layQueryCard"]/android.widget.FrameLayout[1]').click()

Ctr+Enter运行代码,会发现手机上已经点击成功

支持wifi连接

首先保证电脑和手机wifi在一个局域网,电脑上能ping的通手机的ip,输入手机的ip也可以抓到手机上的页面元素。

本文分享自微信公众号 - 从零开始学自动化测试(yoyoketang),作者:上海悠悠

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Selenium2+python自动化67-用例失败自动截图

    前言: 装饰器其实就是一个以函数作为参数并返回一个替换函数的可执行函数 上一篇讲到用装饰器解决异常后自动截图,不过并没有与unittest结合,这篇把截图的装...

    上海-悠悠
  • Cypress web自动化16-参数化,数据驱动测试案例

    自动化测试里面参数化思想是非常重要的,同一类型的测试,只需维护不同的数据就可以了。 对每组测试数据自动生成对应的测试用例,并且每个测试用例的结果互不影响,不能因...

    上海-悠悠
  • Locust性能测试7-分布式执行

    使用Locust进行性能测试时,当一台单机不足以模拟所需的用户数量的时候,可以在多台机器上分布式的执行性能测试。 locust分布式启动场景有2种,一种是单机设...

    上海-悠悠
  • 珍藏 | Java 岗位 【数据库】 面试题及答案详解

    码神联盟
  • Qt编写的项目作品24-人脸识别综合应用(在线+离线+嵌入式)

    feiyangqingyun
  • 东北大学研究生:用强化学习玩Chrome里的恐龙小游戏

    用户1737318
  • TypeScript的类型断言,有点像ABAP的强制类型转换

    通过类型断言这种方式可以告诉编译器,“相信我,我知道自己在干什么”。 类型断言好比其它语言里的类型转换,但是不进行特殊的数据检查和解构。 它没有运行时的影响,只...

    Jerry Wang
  • 18.6.27日报

    龙泉寺扫地僧
  • 频率计数器的六种测量方法汇总

    频率计数器常用测量方法有直接测频法、多周期同步测频法、模拟内插法、差拍法、双混频法和频差倍增法等六种,各种方法的应用场景以及实现方法都不同,工程师可以根据实际情...

    时频专家
  • 教程 | 强化学习训练Chrome小恐龙Dino Run:最高超过4000分

    机器之心

扫码关注云+社区

领取腾讯云代金券