Python的手机测试工具uiautomator2库的实现原理

发布时间 2023-06-29 22:05:50作者: 顺其自然,道法自然

使用python通过调试模式测试安卓手机APP, 使用uiautomator2库是比较方便的, 这个库的源码网址是: https://github.com/openatx/uiautomator2
通过阅读源码, 大概搞明白了其实现原理, 它是通过调用adbutils库, 获取UI的hierarchy dump数据, 然后检索对应的UI节点, 计算此节点的UI区域范围, 然后模拟点击和滑动等操作.
adbutils库的地址是: https://github.com/openatx/adbutils
而adbutils库又参考了pure-python-adb项目: https://github.com/Swind/pure-python-adb
而这个项目介绍了ADB命令行的实现原理, 我觉得挺好的, 如下图所示:
image