3

Ich verwende Espresso, um das Autotest-Framework meiner Anwendung zu implementieren. Aber in einigen Testfällen, die ich entwickelt habe, war mein Test immer fehlgeschlagen, und die Ursache liegt nicht in meinen Testcodes für Feature-Implementierungscodes. Die Ursache liegt im android-Eingabemethoden-Modus, manchmal im chinesischen Eingabemodus und mein Eingabetext ist Englisch, dann schlägt der Eingabewert fehl. Also ich möchte wissen, wie kann ich den aktuellen typeText Eingabemethode Modus von Chinesisch nach Englisch wechseln, oder wie kann ich sicherstellen, dass die Eingabemethode ist Englisch ohne manuelle Konfiguration? Ich glaube, dies ist eine wichtige Voraussetzung, denn wenn wir mehrere Sprachen in unseren Anwendungen unterstützen, benötigen wir diese Funktion, um während des Tests automatisch auf die benötigte Sprache umzuschalten. Das folgende ist meine Codes, es hat kein Problem, wenn der Standard-Eingabemodus Englisch ist.Espresso - wie man den Text wechseltText in Englisch oder andere Sprachen Eingabemodus

onView(withId(R.id.entryWordInput)) 
     .perform(typeText(entryWord), closeSoftKeyboard()); 
    onView(withId(R.id.OkButton)) 
     .perform(click()); 

Vielen Dank im Voraus.

+0

versuchen replaceText – WenChao

Antwort

2

Die Verwendung von Espresso zur Änderung der Sprache des Eingabemodus ist nicht möglich. Sie müssen es mit einem anderen Google-UI-Testframework namens uiatomator verwenden.

Bitte nehmen Sie sich einen Blick auf meine Antwort auf ähnlichen Test Ausgabe: Espresso test for Notification to showing up

Espresso UI-Test-Framework nicht mehr als die tatsächlichen Blick sehen. Ich bezweifle, ernsthaft, dass Sie jede Benachrichtigung mit Espresso überprüfen können.

Zu diesem Zweck uiautomator, weiteren Googles Test-Framework verwenden, die so beschrieben wird:

UI Automator eine UI Test-Framework für Quer app funktionelle Tests UI über System- und installierten Anwendungen ist.

Hier würden Sie feststellen, wie es mit Espresso verwenden: http://qathread.blogspot.com/2015/05/espresso-uiautomator-perfect-tandem.html

Weitere Informationen:

Besuchen Sie auch: Android Testing: UIAutomator vs Espresso

Also, wenn Sie die Sprache des Eingabemodus ändern möchten, versuchen beide uiatomator zu verwenden Android Systemeinstellungen und Espresso für App-Tests zu ändern.

Ich hoffe es hilft