возможный способ запуска реального приложения

#flutter #testing #dart #automation #flutterdriver

#flutter #тестирование #dart #автоматизация #flutterdriver

Вопрос:

Я создаю сценарии тестирования с использованием фреймворка Ogurets, который представляет собой комбинацию cucumber gherking. Тесты предназначены для приложения Flutter, написанного на языке Dart.

Недавно я выяснил, что тестовый драйвер не выполняет фактическое приложение. Например, в моем случае:

У меня есть и приложение, где есть функция входа в систему. После перехода к выходу из системы и нажатия на него приложение не возвращает экран входа в систему (хотя он выполняет серверную работу), но когда я запускаю фактическое приложение через файл main.dart и не использую конфигурацию Ogurets, все работает так, как ожидалось.

Итак, мне было интересно,

Есть ли какой-либо возможный способ выполнить реальное приложение во время сценария тестирования? Допустим, он может выполнить релизную версию приложения.

Не уверен, имеет ли это смысл.

Спасибо за возможные советы

Ответ №1:

Поэтому, когда запускается Ogurets, он выполнит команду для «flutter run» вашего приложения и, используя стандартный механизм для драйвера Flutter, создаст tcp-соединение между вашим запущенным приложением и кодом Ogurets. Но для этого у вас должен быть включен дополнительный код драйвера Flutter в вашем приложении, поэтому невозможно запустить ваше «фактическое приложение», иначе эта TCP-ссылка не будет сформирована.

По этому TCP-каналу выполняются стандартные команды драйвера Flutter, и вы также можете выполнять дополнительные команды. Таким образом, ваше фактическое приложение выполняется так, как если бы вы запускали его с помощью «flutter run» — и вы даже можете запустить его на реальном устройстве таким образом, но оно никогда не может быть вашим выпущенным приложением, поскольку у него не будет этого дополнительного кода TCP-ссылки.

Если у вас возникли проблемы с пониманием того, почему ваше приложение работает таким образом, в документации для Ogurets Flutter указано, как вы можете запускать и отлаживать две стороны приложения, чтобы вы могли запускать свое приложение Flutter в режиме отладки, а затем запускать тесты, подключать и автоматизировать приложение, а затемотладьте, почему он не возвращается на вашу страницу входа. Это то, что я бы рекомендовал вам сделать.