UiAutomator是Google提供的用来做安卓自动化测试的一个Java库,基于Accessibility服务。
微信红包自打出世以来就极其受欢迎,抢红包插件可谓红极一时.今天,我们重新谈谈抢红包插件的哪些事儿.本质上,抢红包插件的原理不难理解,其过程就是在收到红包时,自动模拟点击.做过自动化UI测试的童鞋应该非常熟悉了.那么问题来了,我们怎么知道有没有红包,又怎么模拟点击操作呢?在PC端我们有按键精灵,那么在Android设备上呢?话说也偶然,Google为了让Android系统更实用,为用户提供了无障碍辅助服务(AccessibilityService).AccessibilityService运行在后台,并且能够收到由系统发出的一些事件(AccessibilityEvent,这些事件表示用户界面一系列的状态变化),比如焦点改变,输入内容变化,按钮被点击了等等,该种服务能够请求获取当前活动窗口并查找其中的内容.换言之,界面中产生的任何变化都会产生一个时间,并由系统通知给AccessibilityService.这就像监视器监视着界面的一举一动,一旦界面发生变化,立刻发出警报。
Uiautomator2的是因为Uiautomator是基于java的,希望能够使用Python编写代码
在手机上运行了一个http rpc服务,将uiautomator中的功能集成进来,然后再将这些http接口封装成python库。
https://github.com/openatx/uiautomator2
u2通信流程


- 安装u2包 pip install uiautomator2 -i https://pypi.douban.com/simple
- 对移动设备进行初始化 python -m uiautomator2 init 模拟器上就会多一个ATX的应用

agent相关:
adb shell /data/local/tmp/atx-agent server -d
adb shell /data/local/tmp/atx-agent server -d —stop
Activity和控件
activity是用户和应用程序交互的窗口,一个activity相当于我们的一个网页
pip install weditor
在命令行执行 weditor listening on http://192.168.0.104:17310

连接的时候要保证atx-agent是启动的
安卓控件:
https://blog.csdn.net/weixin_38423829/article/details/80566203
布局
控件属性
文本定位方式
className
resourceId



