Эспрессо не запускает тест активности с анимацией Gif - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь проверить намерения в Activity и некоторые нажатия кнопок в Fragment (что в том же действии) с Espresso, но проблема в том, что Fragment содержит настраиваемое представление с Gif анимацией в этом. Пользовательский вид - это, в основном, вариант класса Movie для отображения Gif. Ошибка Я получаю

Не удалось запустить намерение Intent в течение 45 секунд. Пожалуй главное поток не простаивает в течение разумного периода времени

Таким образом, это означает, что я предполагаю, что Gif вызывает загрузку основного потока и тест не может быть запущен. Что я попробовал:

  1. Отключение всех масштабов анимации дерева в настройках Dev (пробовали 2 устройства)
  2. Использование Ui automator и запуск команды shell adb для отключения анимации
  3. Попытка установить вид с отсутствием видимости Gif во время теста

Не из которых не работал . Я полагаю, что этот пользовательский вид не рассматривается платформой как анимация и не отключается. Я все еще вижу это. И я попытался findViewById и установить видимость gone. Вид все еще там, когда тест запущен. Я думаю, что создание ушедшего вида - хороший обходной путь, так что, может быть, кто-то знает путь!

Мой тестовый код:

@RunWith(AndroidJUnit4.class) public class TutorialActivityTest {

    private TutorialActivity tutorialActivity;
    private TutorialFragment tutorialFragment;

    @Rule
    public ActivityTestRule<TutorialActivity> mActivityRule = new ActivityTestRule<>(TutorialActivity.class);

    @Before
    public void setUp() {
        tutorialActivity = mActivityRule.getActivity();
        //tried to set visibility there with fragment.getView().findViewById... And also in the test directly

    @Test
    public void testOpenMainPageIntentFired() {
        Intents.init();
        tutorialActivity.openMainPage();
        intended(hasComponent(MainActivity.class.getName()));
        Intents.release();
    }
...