java - 如何测试 Android 上的预测键盘是否被禁用?

标签 java android xml android-softkeyboard android-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) 坐标来检查,但我不确定如何实现它。知道如何做这样的事情吗?

最佳答案

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

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

,将会创建一个 Ui 对象

关于java - 如何测试 Android 上的预测键盘是否被禁用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44570208/

相关文章:

java - 在 ArrayList 中使用二分搜索查找具有给定前缀的单词

java - 根据位置给单词着色

java - : Lcom/abhi/barcode/frag/libv2/R$string 解析失败

android - 是否还需要调用 GoogleApiClient connect() 和 disconnect()?

java - 流在程序结束前关闭

Android记录屏幕并流式传输

xml - 关于后代轴和“//”的困惑

c# - 使用 LINQ to XML 解析深层嵌套属性时遇到问题

C# 三个正斜杠 : can the template be changed?

java - 理解 Spring 4 注释 bean