2017-06-15 44 views
1

我在写一个测试来检测android键盘的预测部分是否被禁用。通常要检测这些类型的东西,我会take an XML screenshot in UI Automator,然后使用资源ID来检测它,但由于键盘被记录为覆盖,它不会显示。如何测试预测键盘是否在Android上被禁用?

我使用的资源ID创建的字符串和实例他们是这样的:

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

然而,因为键盘上没有自己的资源串不起作用。

我想过使用(x,y)坐标来检查,但我不知道我将如何实现。有关如何做这样的事情的任何想法?

回答

0

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

只要注意,预测器应该给出与原始不同的单词。因此,一个UI对象将被创建,如果你的文字== uiDevice.findObject(new UiSelector().text("text"));

0

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

"adb dumpsys input_method |grep mInputShow" 

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

相关问题