Детокс тест с реагирующей навигационной модой и вкладкой - PullRequest
0 голосов
/ 07 ноября 2019

Я новичок в Detox, и мне довольно сложно создавать свои первые тестыУстановка была очень простой, и библиотека кажется действительно многообещающей, так что спасибо за это!

В моем репо установлены последние версии react-native и react-navigation (хотя я узнал, где вы делаете конкурента, ха-ха;)). И я не могу понять, как подключиться к навигации. Мой первый тест «должен превосходить вход в систему» ​​проходит хорошо, но, к сожалению, «должен быть на главном и открытом FAQ» не проходит. Мой тест выглядит следующим образом (также пробовал все без device.disableSynchronization();:

describe('Init app', () => {
  beforeEach(async () => {
    await device.disableSynchronization();
  });

  it('should surpass login', async () => {
    await expect(element(by.id('e2eButton'))).toBeVisible();
    await element(by.id('e2eButton')).tap();
  });

  it('should be on Main and open FAQ', async () => {
    await waitFor(element(by.id('faqButton'))).toBeVisible().withTimeout(5000);
    await waitFor(element(by.id('faqButton'))).toExist().withTimeout(5000);

    await element(by.id('faqButton')).tap();
    await waitFor(element(by.id('faqModal'))).toExist().withTimeout(5000);

    // await element(by.id('contactScreen')).toExists();
    // await element(by.id('contactScreen')).tap();
  });
});

* Кнопка faqButton - это кнопка, которая открывает модальный react-navigation, но тест, похоже, не работает на await waitFor(element(by.id('faqModal'))).toExist().withTimeout(5000);где faqModal - это просто случайный элемент на моем модальном экране, который является частью моего корня StackNavigator. Модальный просто никогда не открывается, но я вижу, что нажатие выполняется (хотя оно и не выполняется).

Вытакже можно увидеть мой прокомментированный идентификатор contactScreen. Это связано с моей вкладкой путем добавления tabBarTestID, как упомянуто здесь: Поиск элемента вкладки TabNavigator с детоксом в React Native

Нопохоже, это тоже не работает.

Есть предложения? Заранее спасибо!

...