手机自动化操作:uiautomator

更多精彩内容在公众号。

前面介绍的adb方法都不好实现代码自动化控制,如果想要实现代码自动化控制的话就要用到uiautomator这个工具

UiAutomator是一个用于Android平台的自动化测试框架。它允许开发人员编写自动化测试脚本来模拟用户在Android设备上的操作,例如点击按钮、输入文本、滑动屏幕等。UiAutomator框架提供了一组API,可以与设备上的UI元素进行交互,并提供了丰富的功能来执行测试用例和获取测试结果。通过使用UiAutomator,开发人员可以自动化执行各种测试任务,包括功能测试、性能测试和用户界面测试等

首先安装python的依赖库。pip3 install -U uiautomator2

然后执行python -m uiautomator2 init 安装包含httprpc服务的apk到手机+atx-agent, minicap, minitouch。手机会弹出安装界面提示是否安装

图片

完成的安装结果如下

图片

安装好了后会显示atx等app

图片

Python中使用代码如下:

图片

执行结果如下,表示连接成功

图片

Uiautomator的原理是通过查找手机上的元素定位,然后点击。类似于网页点击的原理。

首先电脑上安装

pip3 install webitor

安装完成后,cmd界面执行python -m weditor  跳出手机元素界面如下。

第一步:输入设备id, 也就是adb devices查出来的ID

第二步:点击连接

第三步:点击Dump Hierarchy

然后再第4步就会出现手机的界面

图片

在右边的coding界面可以看到对应的python连接代码。这点最好的地方就是不用亲自写代码。当你在左边屏幕上点击的时候,中间Selected Element会显示设置的XPathi定位坐标点

图片

双击代表进入设置界面。同时进入后右边的coding界面就会显示点击的代码

图片

再点击wifi,代码同步更新

图片

点击关闭wifi

图片

这样,通过一步步点击操作,你就能得到各个步骤的代码。然后把这些代码集成进去。就可以形成一个完整的自动化点击代码。注意:因为点击后手机刷新是要消耗时间的,所以两次点击之间最好等待一会儿。不要连续两次点击挨着来。

如果不利用界面,可以用

d. dump_hierarchy()的方式把当前界面的元素机构图打印出来。然后找你需要的元素。比如我想开关wifi。找到text=”开启WLAN”. 代码如下,就可以把wifi开关打开了

import uiautomator2 as u2

d = u2.connect()

ret=d.dump_hierarchy()

print(ret)

d(text="开启WLAN").click()

图片

详细的使用参考官方文档。

https://github.com/openatx/uiautomator2

更多精彩内容在公众号。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿与代码

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值