Ich habe den Recorder nicht in einer langen Zeit und stattdessen schrieb meine Tests von Hand, also nicht sicher, ob diese Antwort ist Sie behilflich verwendet.
Ich benutze diese Zeile das Datum in einem Datumsauswahl zu setzen:
onView(withClassName(Matchers.equalTo(DatePicker.class.getName()))).perform(PickerActions.setDate(year, monthOfYear, dayOfMonth));
Die PickerActions
ist innerhalb einer speziellen Espresso Support-Bibliothek - die espresso-contrib
- fügen Sie es wie folgt auf Ihre gradle Datei (Ich brauche mehrere umfasst nicht zu Fehler vermeiden kompilieren aufgrund Support-Bibliothek Version unpassende):
androidTestCompile('com.android.support.test.espresso:espresso-contrib:2.2.2') {
exclude group: 'com.android.support', module: 'appcompat'
exclude module: 'support-annotations'
exclude module: 'support-v4'
exclude module: 'support-v13'
exclude module: 'recyclerview-v7'
exclude module: 'appcompat-v7'
}
ich diese dann in einer Hilfsmethode verwenden, die auf die Schaltfläche klickt, die die Datepicker picker~~POS=HEADCOMP öffnet, das Datum festlegt und bestätigt sie durch Anklicken der Schaltfläche oK:
public static void setDate(int datePickerLaunchViewId, int year, int monthOfYear, int dayOfMonth) {
onView(withParent(withId(buttonContainer)), withId(datePickerLaunchViewId)).perform(click());
onView(withClassName(Matchers.equalTo(DatePicker.class.getName()))).perform(PickerActions.setDate(year, monthOfYear, dayOfMonth));
onView(withId(android.R.id.button1)).perform(click());
}
und es dann in meinen Tests wie diesen:
TestHelper.setDate(R.id.date_button, 2017, 1, 1);
//TestHelper is my helper class that contains the helper method above
Warten Sie, was ist PickerActions? Sollte das TestHelper sein? – Rob
sry meine schlechte, das ist eine extra Bibliothek kümmert sich um den Pflücker. Ich aktualisierte meine Antwort – stamanuel
ok danke, wow der Recorder ist so nutzlos .. schmerzhaft .. werde versuchen, aber Gott so viel Mühe, etwas zu tun, das sollte einfach sein ... :( – Rob