Привет!

Я хотел бы представить вам небольшой личный проект, который я в основном создал для развлечения и развития своих навыков тестирования мобильного пользовательского интерфейса. Я хотел бы поделиться им с вами, если вы заинтересованы в этом. В этом проекте показано, как проводить тестирование пользовательского интерфейса с помощью React Native (среда для создания нативных приложений для Android и iOS) и Maestro (среда тестирования пользовательского интерфейса для мобильных устройств).

Это полный проект: https://github.com/kiki-le-singe/react-native-maestro

Введение

Я начал этот проект в основном для развлечения и развития своих навыков тестирования мобильного пользовательского интерфейса. Прочитав документацию для Maestro (https://maestro.mobile.dev/ и https://maestro.mobile.dev/platform-support/react-native), я обнаружил, что это легко реализовать, просто и эффективный. Итак, начнем! :D
Я создал приложение React Native, созданное с помощью Expo, только для этой части. Целью этого проекта является Маэстро.
Наслаждайтесь! :)

Это приложение имеет три экрана:

- Интерфейс входа с двумя полями, электронной почтой и паролем. После нажатия кнопки входа, если форма действительна `(действительный адрес электронной почты и пароль)`, мы увидим следующий экран.
- Простой экран с приветствием и адресом электронной почты пользователя, ссылкой на другой экран и Кнопка выхода.
- Экран прокрутки с некоторыми текстами и изображениями. Также можно вернуться к предыдущему экрану.

Монтаж

# Приложение React Native Maestro

git clone https://github.com/kiki-le-singe/react-native-maestro.git <name>
cd <name>
npm install

# Маэстро

curl -Ls "https://get.maestro.mobile.dev" | bash
maestro -v

› Только для iOS: Подключение к вашему устройствуhttps://maestro.mobile.dev/getting-started/installing-maestro#connecting-to-your-device

brew tap facebook/fb
brew install facebook/fb/idb-companion

См. официальную документацию: Установка Maestrohttps://maestro.mobile.dev/getting-started/installing-maestro

Бегать

npm start
npm run ios or android

Маэстро тестирует

Тесты находятся в каталоге maestro. Вы можете запускать их локально в симуляторе iOS или эмуляторе Android. На данный момент Maestro не поддерживает настоящие iOS-устройства. См. Установка Maestro https://maestro.mobile.dev/getting-started/installing-maestro и Подключение к вашему устройствуhttps://maestro.mobile.dev/getting-started/installing-maestro#connecting-to-your-device

Вы можете запускать тесты в CI с помощью Maestro Cloud. См. раздел Запуск потоков в CIhttps://maestro.mobile.dev/getting-started/running-flows-on-ci

Запуск тестов

# run single test
maestro test maestro/[fileName].yaml
maestro test maestro/simple-flow.yaml

maestro test maestro/signin/signin-errors-flow.yaml

maestro test maestro/signin/signin-success-flow.yaml

maestro test maestro/home/home-flow.yaml

maestro test maestro/details/details-flow.yaml

Иногда вы могли видеть эту ошибку: Не удалось связаться с сервером XCUITesthttps://github.com/mobile-dev-inc/maestro/issues/880

Возможно, ваш компонент недоступен, поэтому вы, вероятно, проверяете свой код. Иногда CLI кажется немного капризным… Так что просто подождите несколько секунд… И он отлично работает! :D

Вуаля! Вот и все!

Не стесняйтесь, если у вас есть какие-либо вопросы

Я надеюсь, что это было бы полезно для кого-то :)

Хорошего дня!