UIautomator2

1、引用模块

import uiautomator2  as u2

2、device 连接

    d = u2.connect(device)  #通过IP连接
    d = u2.connect_usb(device)  #通过adb连接

3、方法使用

d(resourceId="android:id/input").set_text("wifi")   #通过搜索框输入应用名筛选
time.sleep(2)
d(text='wifi').click()
time.sleep(1)
if d(text=u'省电策略').exists:
        d(text=u'省电策略').click()
        time.sleep(1)
        d(text=u'无限制').click()
        time.sleep(1)
        d(description=u'返回').click()

4、其中text、description,resourceId等都可以通过weditor来查询

1)安装weditor

pip install weditor ==0.6.4

2)安装后检查是否成功:

weditor -v

3)启动weditor,会打开浏览器,如下图

python -m weditor

(注:若不能打开浏览器,在python3安装路径中打开cmd,输入weditor或输入python -m weditor)

5、

1)读设备,获取的结果填入第一个红框中,connect之后显示小绿叶标志

adb devices

2)点击Dump Hierarchy,刷新之后显示手机页面,可以进行静态动态的切换(动态缓冲较慢)。

注:每次设备disconnect之后,都需要

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

①可以查看元素的resourceId属性

②自动生成xpath定位方法

③支持坐标点击,根据屏幕的比例

⑤自动生成uiautomator定位方法参考代码

⑥可以勾选强制使用xpath

 4)右上角可以支持在线测试code,需要自行摸索了,谢谢

附其他uiautomator2的其他方法

1. 查找元素

- d.app_wait(timeout) - 等待app加载指定秒数
- d.xpath(xpath) - 根据xpath查找元素
- d.id(id) - 根据资源id查找元素
- d.by_text(text) - 根据文本内容查找元素
- d.child_by_text(parent, text) - 根据父元素和文本查找子元素
- d.sibling_by_text(sibling, text) - 根据兄弟元素和文本查找元素

2. 元素交互

- el.click() - 点击元素
- el.long_click() - 长按元素
- el.send_keys(text) - 输入文本 
- el.clear_text() - 清除文本 
- el.get_text() - 获取元素文本
- el.set_text(text) - 设置元素文本
- el.swipe(direction, steps) - 滑动元素
- el.drag_to(target) - 拖拽元素到目标位置
- el.pinch() - 对元素执行捏合手势
- el.double_click() - 双击元素

3. 滑动和滚动

- d.swipe(fx, fy, tx, ty) - 滑动屏幕
- d.swipe_ext(fx, fy, tx, ty, duration=0.1) - 滑动屏幕指定时间
- d.scroll(direction, distance) - 滚动屏幕
- d.scroll_to(text) - 滚动至包含指定文本的元素

#swipe_ext只需要提供方向:right,left,down,up
d.swipe_ext("right")

4. 屏幕操作

- d.screen_on() - 唤醒屏幕
- d.screen_off() - 锁定屏幕
- d.open_notification() - 打开通知栏
- d.open_quick_settings() - 打开快速设置栏

5. 设备信息

- d.info - 获取设备信息
- d.devices() - 获取已连接设备列表
- d.device_info - 获取当前连接设备的信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值