So habe ich einen Assistenten mit 4 Panels, der erste hat einen DatePicker, den ich im Standard-Kalender-Modus habe.Espressotest wischt den falschen Pager
Wenn dieser Code ausgeführt wird:
@RunWith (AndroidJUnit4.class) public class OnboardActivityTest {
@Rule
public ActivityTestRule<MainActivity> mActivityTestRule = new ActivityTestRule<>(MainActivity.class);
@Test
public void onboardActivityTest() {
ViewInteraction appCompatButton = onView(
allOf(withId(R.id.button), withText("Start Setup"),
withParent(allOf(withId(R.id.activity_main),
withParent(withId(android.R.id.content)))),
isDisplayed()));
appCompatButton.perform(click());
onView(withId(R.id.onboardingPager)).perform(swipeLeft());
der Test den Kalender links klaut und ich im nächsten Monat bekommen, nicht die nächste Seite .
Ich hatte dies zuvor funktioniert, wenn ich den DatePicker im Spinner-Modus hatte, war es richtig mit dem Pager.
Das einzige, was ich denken kann ist, dass es den Pager nicht finden kann und so der Swipe läuft nur gegen die Ansicht root?
Wenn ich es zurück in Spinner-Modus ändere, wird die Seite weitergeführt.
Wie ist das Verhalten in Ihrer App, wenn Sie mit dem Finger wischen? kannst du von überall wischen und der viewpager wechselt oder musst du vom border (außerhalb des pickerlayouts) wischen oder sonst wischst du den picker? – stamanuel
Ich benutze den Emulator so natürlich bin ich Click-Ziehen, um den Swipe zu machen. Aber sieh dir den Code an! Ich bekomme den Pager nach seiner ID? – Rob
Ja, ich denke das ist nicht so wichtig. Espresso führt den Wischvorgang auf dem Bildschirm aus - wenn es eine andere Ansicht über Ihr Pager-Layout gibt, erhält diese Ansicht den Wischvorgang. Also die beste Option imho wäre, entweder die Registerkarte Header wählen, wenn es angezeigt wird oder wischen an einer Stelle, wo der Pflücker die Registerkarte nicht überlagert – stamanuel