Мой ТГ канал: https://t.me/maestro_autotests Тема: Создание тестового сценария в Maestro Studio

Хочу зафиксировать процесс создания простого сценария с операторами ввода, действия и проверки.

Стек для первого теста: * Среда разработки: Maestro Studio (удобная встроенная среда для создания и отладки тестов от создателей фреймворка). * Цель теста: Протестировать создание новой аптечки в приложении. * Устройство: iOS симулятор (запуск на реальных устройствах, как указано в доке, пока в разработке). * Тестируемое приложение: “Аптечка”

План vs. Реальность План был прост: Запустить приложение → Тапнуть “Добавить” → Ввести название → Проверить создание.

Реальность оказалась интереснее. Я столкнулся с тем, что на iOS-симуляторе фреймворк не всегда корректно определял момент полной загрузки приложения. Встроенного “ожидания из коробки” не хватило — тест пытался тапнуть по элементам, которые ещё не отрисовались.

Решение пришлось усложнить: Добавил JS-скрипт с паузой на 5 секунд после запуска. Так что мой “простой” тест обзавёлся первым скриптом.

Код итогового теста (test_1.yaml) # Создание аптечки appId: ru.zyfunphoto.MedicinesV2 — - launchApp # Команда запуска приложения

# Добавляем паузу на 5 секунд - runScript: file: “scripts/pause.js” # путь к файлу js c паузой 5 сек

- tapOn: id: plus # Тапаем по кнопке “Добавить” по её ID - tapOn: “Введите название аптечки” # Тапаем на поле ввода по тексту

- inputText: “Прием витаминов” # Вводим название аптечки

- tapOn: Добавить # Подтверждаем создание

- assertVisible: Прием витаминов # Проверяем, что аптечка создалась

Скрипт паузы (scripts/pause.js): const pauseDuration = 5000; // 5000 = 5сек const start = Date.now(); while (Date.now() - start < pauseDuration) { }

Примечание: Вместо цикла while можно использовать setTimeout, но этот вариант тоже работает.

Что я вынес из этого опыта:

1. Maestro Studio — это мощно. Генерация команд по клику ускоряет написание тестов в разы и помогает изучить синтаксис. 2. «Из коробки» работает хорошо, но не всегда идеально. На разных платформах и приложениях могут потребоваться дополнительные ожидания. 3. Гибкость за счёт JS — это ключевая фишка. Проблема, которая могла бы остановить написание теста, решается буквально тремя строчками JavaScript. 4. Документация — ваш лучший друг. Для всех операторов (tapOn, inputText, assertVisible и десятков других) есть наглядные примеры.

Официальная документация Maestro с примерами: https://docs.maestro.dev

Итог:

Тест успешно прошёл! В следующий раз попробую убрать костыль с фиксированной паузой и использовать более правильные ожидания, например, assertVisible для сплеш-скрина.

#maestro #maestrostudio #первыйтест #ios #автотесты #mobiletesting #qa

Мой ТГ канал: https://t.me/maestro\autotests
Тема: Создание тестового сценария в Maestro Studio
Хочу зафиксировать процесс создания простого сценария с операторами ввода, действия и проверки | Сетка — социальная сеть от hh.ru