Эспрессо-тест, который зависит от ориентации устройства - PullRequest
0 голосов
/ 17 мая 2019

Первая версия моего приложения поддерживала только книжную ориентацию, и в нижнем колонтитуле было меню Button (с id = menu_button). Так что в тестах эспрессо у меня был такой метод, чтобы нажать на кнопку меню:

public static void clickOnMenuButton() {
    onView(withId(R.id.menu_button))
            .perform(click());
}

Однако во второй версии я реализую альбомную версию, и там кнопка меню находится в заголовке, и это ImageView (с id = menu_icon).

Итак, я изменил метод следующим образом:

public static void clickOnMenuButton(boolean isLandscape) {
    onView(withId(isLandscape ? R.id.menu_icon : R.id.menu_button))
            .perform(click());
}

И параметр isLandscape получается с mActivityTestRule.getActivity().getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE

Это работает, но я хотел бы знать, есть ли лучший способ справиться с этим, о котором я не знаю ...

Любые идеи о том, как следует проводить портретные / ландшафтные эспрессо-тесты?

...