2017-06-15 2 views
1

Ich schreibe einen Test, um festzustellen, ob der Vorhersageabschnitt der Android-Tastatur deaktiviert ist oder nicht. Normalerweise würde ich diese Art von Dingen erkennen, würde ich take an XML screenshot in UI Automator und dann verwenden Sie die Ressource-ID, um es zu erkennen, aber da die Tastatur als Overlay aufgezeichnet wird, wird es nicht angezeigt.Wie testen, ob die Vorhersage Tastatur auf Android deaktiviert ist?

Ich habe die Ressourcen-ID verwendet Strings zu erstellen und sie wie folgt instanziiert:

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

jedoch nicht, da die Tastatur eine eigene Ressourcenzeichenfolge hat nicht funktioniert.

ich über die Verwendung von (x, y) gedacht habe Koordinaten zu überprüfen, aber ich bin mir nicht sicher, wie ich das umsetzen würde. Irgendeine Idee, wie man so etwas macht?

Antwort

0

Keine vollständige Lösung, sondern ein Workaround. Ich habe den Wert für den Text zuerst, dann hatte eine click(x,y) function click on the space where one of the suggestions erschien, dann habe ich den Wert für den Text zuerst und überprüfte sie, um zu sehen, ob sie gleich waren. Wenn dies nicht der Fall ist, wurde der Tastaturprädiktor aktiviert und der Test würde fehlschlagen.

Nur ein Hinweis, sollte der Prädiktor ein anderes Wort als das Original geben. So wird ein Ui-Objekt erstellt werden, wenn Ihr Text == uiDevice.findObject(new UiSelector().text("text"));

0

Wenn Sie UiAutomator 2.0 verwenden, können Sie einen adb Shell-Befehl in Ihrem Fall ausführen und den Tastatur-Status erhalten, ist es einfach, wie diese,

"adb dumpsys input_method |grep mInputShow" 

Wenn der Wert von mInputShow wahr ist, wird die Tastatur geöffnet.

Verwandte Themen