问题描述

今天在做 uiautomator 2.0 的自动化的时候,有一条 case 很诡异,在输入字符的时候(我输入的是英文),都走通了,但实际没有输入,经过一番 DEBUG,最后定位到 Android SDK mKeyCharacterMap.getEvents(char[] chars) ,看结果应该属于该方法的异常处理情况:null if the given char array can not be generated using the current key character map.导致直接跳过了字符输入操作,sendText() 直接返回了 true,有大神能解释下这是为什么吗?不应该是设置字符串的问题,因为在其他的页面输入相同字符是 OK 的,同样的,我也对比了输入框的属性,也都是一样的,请指教~

最新进展

在看了 Uiautomator 2.0 源码之后,发现针对 5.0 之前版本和之后版本是区分处理的,在 5.0 之后的版本都是 OK 的,应该是 5.0 之前 sdk 的一个 bug 吧或者是 Uiautomator 在处理 5.0 之前版本的输入操作上,没有考虑周全~


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