В настоящее время вы перезагружаете устройство между каждым тестом.
beforeEach(async () => {
await device.reloadReactNative();
});
Я не думаю, что это то, что вы хотите сделать, поскольку оно сбрасывает все, что означает, что вам нужно ждать, пока все перезагрузится и переместитсячерез ваши экраны, и вы столкнетесь с той же проблемой, что и в предыдущей публикации (Обратите внимание, что вы используете waitFor
неправильно, посмотрите мой ответ на предыдущую запись или перечитайте документацию )
Подробнее о .typeText
можно прочитать в документации .
Распространенной ошибкой при использовании .typeText
не является отключение аппаратной клавиатуры
Примечание. Убедитесь, что аппаратная клавиатура отключена.В противном случае Detox может потерпеть неудачу при попытке ввода текста.
Чтобы убедиться, что аппаратная клавиатура отключена, откройте симулятор из XCode и убедитесь, что Оборудование -> Клавиатура -> Подключить аппаратную клавиатуру не выбрано (или нажмите ⇧⌘K).
Одна вещь, которую я всегда делаю при использовании .typeText
, это убедиться, что элемент существует
Поэтому я бы добавил следующее, прежде чем использовать .typeText
, чтобы убедиться, чтоэто видно.
await expect(element(by.id('name'))).toBeVisible();