Я новичок в 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
Нопохоже, это тоже не работает.
Есть предложения? Заранее спасибо!