在微博上跟百度的鲁晓宇讨论了一些关于 android 录制回放的实现方式.
他在 github 上开了一个讨论帖
https://github.com/BaiduQA/Cafe/issues/22

luxiaoyu opened this issue 2 hours ago
【讨论】录制回放改进讨论帖
No milestone No one is assigned
有同学想写一个不需要keystore的录制回放工具,http://weibo.com/1907875417/AnpfUmmTB
我想了一下,应该可以实现(没实现过)
在有uiautomator的android版本上:
1.可以通过uiautomator获得当前所有可见UI的(x,y,w,h)
2.通过adb shell getevent获得当前操作的(x,y)
3.根据1、2的信息判断操作落在哪个控件上,这样就能做到控件级的录制回放了
但是如果是ListView类的操作不太好准确记录滑动的停止位置

在没有有uiautomator的android版本上:
可以利用android的签名检查漏洞将Cafe的录制回放的代码注入到dex中而不改变签名,详见http://blog.sina.com.cn/s/blog_be6dacae0101bmq3.html

我跟 appium 的维护者也在讨论这个话题, 帖子地址在
https://github.com/appium/appium/issues/1487#issuecomment-30638047

目前基本思路都有了, 已经可以开始做这个录制工具了. 我会先制作一个 demo 版本.
下下周开始搞.


↙↙↙阅读原文可查看相关链接,并与作者交流