如何测试Android上是否禁用了预测键盘?

时间:2017-06-15 14:31:47

标签: java android xml android-softkeyboard uiautomator

我正在编写一个测试来检测Android键盘的预测部分是否被禁用。通常要检测这些类型的东西,我会take an XML screenshot in UI Automator然后使用资源ID来检测它,但由于键盘被记录为叠加层,因此它不会显示出来。

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

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

但是,由于键盘没有自己的资源字符串,因此无法正常工作。

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

2 个答案:

答案 0 :(得分:0)

不是一个完整的解决方案,而是一种解决方法。我首先获得了文本的值,然后出现了click(x,y) function click on the space where one of the suggestions,然后首先得到文本的值并检查它们是否相同。如果它们不是,则启用键盘预测器并且测试将失败。

只需注意,预测器应该提供与原始字不同的字。因此,如果您的文字== uiDevice.findObject(new UiSelector().text("text"));

,则会创建一个Ui对象

答案 1 :(得分:0)

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

"adb dumpsys input_method |grep mInputShow"

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