#react-native #jestjs #detox
#react-native #jestjs #детоксикация
Вопрос:
Я запускаю detox в приложении, которое запустилось из собственного приложения и теперь работает как комбинация приложения react native и собственного кода.
Я использую симулятор iOS для проверки теста.
Мое приложение запускается на родной стороне iOS, и на нем выполняются тесты detox и получают элементы (все работает нормально), но по мере продвижения приложения, когда мы сначала загружаем пакет (index.js — для запуска собственной стороны react), мы не можем получить доступэлементы (на родной стороне) с detox и тесты завершились неудачей.
На родной стороне (iOS) я ввел кнопки с помощью — accessibilityIdentifier
describe('Previews', () => {
beforeAll(async () => {
await device.launchApp({ permissions: {notifications: 'YES',location:'always'}});
});
it('should tap on acceptButton', async () => {
await element(by.id('acceptButton')).tap();
});
it('should tap on enable Notifications button', async () => {
await element(by.id('enableNotificationsButton')).tap();
});
// Here the bundle of the react-native loading, and the detox can't find 'editButton'
// 'editButton' it's still in the native side
it('should click on editButton', async() => {
await element(by.id('editButton')).toBeVisible();
});
});
Получение этого предупреждения:
detox[73960] WARN: [Client.js/PENDING_REQUESTS] App has not responded to the network requests below:
(id = 6) invoke: {"type":"action","action":"tap","predicate":{"type":"id","value":"continueFaceIdButton"}}
Unresponded network requests might result in timeout errors in Detox tests.