如何测试预测键盘是否在安卓上被禁用



我正在编写一个测试来检测 android 键盘的预测部分是否被禁用。 通常为了检测这些事情,我会在 UI 自动操作中截取 XML 屏幕截图,然后使用资源 ID 来检测它,但由于键盘被记录为叠加层,它不会显示。

我使用资源 ID 创建字符串并像这样实例化它们:

UiObject incidentClick = uiDevice.findObject(new 
UiSelector().resourceId(UIResourceStrings.This_Is_The_Resource_String));

但是,这不起作用,因为键盘没有自己的资源字符串。

我已经考虑过使用 (x,y( 坐标进行检查,但我不确定我将如何实现它。关于如何做这样的事情的任何想法?

不是一个完整的解决方案,而是一个解决方法。我首先获取了文本的值,然后有一个 click(x,y( 函数单击出现其中一个建议的空间,然后首先获取文本的值并检查它们是否相同。如果不是,则键盘预测器已启用,测试将失败。

只是一个注释,预测器应该给出与原始单词不同的单词。因此,如果您的文本 == uiDevice.findObject(new UiSelector().text("text"));

如果你使用 UiAutomator 2.0,你可以在你的情况下执行 adb shell 命令并获得键盘状态,就像这样很容易,

"adb dumpsys input_method |grep mInputShow"

当 mInputShow 的值为 true 时,键盘将打开。

相关内容

最新更新