Создайте более безопасный процесс автоматического распознавания изображений Android: сопоставьте текущее состояние, коснитесь обнаруженной цели, подождите и проверьте следующий экран.

Автоматический кликер с распознаванием изображений должен сначала проверить состояние экрана.
Автоматический кликер с фиксированной координатой предполагает, что один и тот же элемент управления каждый раз будет находиться под одной и той же точкой. Это предположение нарушается, когда появляется диалоговое окно, анимация все еще работает, изменяется масштаб отображения, перемещается список или приложение открывается на другой странице. Щелчок по-прежнему может быть доставлен успешно, но не на тот элемент управления.
Распознавание изображений улучшает эту ситуацию, наблюдая за видимым экраном, прежде чем действовать. Однако одного обнаружения недостаточно. Надежный автоматический поток кликов в Android должен разделять четыре вопроса: Видна ли ожидаемая цель? Достаточно ли сильное совпадение и находится ли оно в ожидаемой зоне? Достиг ли кран обнаруженной цели? Перешел ли экран в следующее ожидаемое состояние?
В этом руководстве используется проверенный по состоянию шаблон для автоматизации Android-устройстваon с LaiCai Flow Inside. Совместимый профиль и его визуальные ресурсы подготавливаются и развертываются на компьютере, после чего LaiCai Android Agent может выполнить утвержденный поток локально на телефоне. Цель не в том, чтобы быстрее слепо постукивать. Это последовательность, которая прекращается, когда экран больше не соответствует предположениям.
Пятиэтапная схема отводов с проверкой состояния
- Определите начальное состояние и зафиксируйте стабильную визуальную цель, например характерную кнопку или значок.
- Запустите одно сопоставление изображения с текущим кадром с заранее заданным доверительным порогом и областью поиска.
- Только в случае успешного совпадения передайте обнаруженный прямоугольник или центр действию касания.
- Подождите перехода интерфейса вместо немедленной проверки того же кадра.
- Наблюдайте за ожидаемым следующим состоянием. Продолжайте добиваться успеха; в противном случае остановитесь, повторите попытку в определенных пределах или запросите проверку.
Думайте о каждом касании как о переходе состояний, а не как об изолированном жесте. Первое наблюдение является предварительным условием. Отвод – это операция. Второе наблюдение — это постусловие. Если какая-либо часть отсутствует, автоматизация не сможет отличить успешный жест от жеста, который попал не на тот экран или не оказал никакого эффекта.
Этот шаблон также легче отлаживать. Сбой перед касанием указывает на шаблон, порог, область поиска или стартовый экран. Сбой после касания указывает на время, разрешение, заблокированный жест, неожиданный диалог или другое следующее состояние. Один длинный макрос, который сообщает только об ошибке, скрывает это различие.
Выберите правильный сигнал экрана
| Сигнал | Используйте его, когда | Основной риск |
|---|---|---|
| Сопоставление изображений | Кнопка, значок, карточка или диалоговое окно имеют стабильный внешний вид. | Темы, масштаб, анимация или редизайн могут снизить оценку. |
| Селектор пользовательского интерфейса | Приложение предоставляет стабильный текст, описания контента или идентификаторы ресурсов. | Содержимое, нарисованное вручную или на холсте, может не содержать полезных элементов. |
| оптическое распознавание текста | Видимые слова имеют большее значение, чем точные пиксели | Язык, шрифт, контрастность и выбор региона влияют на распознавание |
| Обнаружение объектов | Цель принадлежит более широкому классу, а не одному конкретному шаблону. | Требуется совместимая модель и действительный класс. |
| Фиксированные координаты | Расположение контролируется, и лучшего сигнала состояния не существует. | Любое движение может перенаправить кран |
Используйте самый простой сигнал, который точно описывает состояние. Сохраненный шаблон изображения хорошо подходит для создания отличительного значка, который будет выглядеть одинаково при каждом запуске. OCR обычно лучше, если слово стабильно, но его стиль может измениться. Селекторы пользовательского интерфейса могут быть эффективнее пикселей, когда приложение предоставляет доступную структуру. Обнаружение объектов полезно для распознанных классов, а не в качестве замены отсутствующего шаблона кнопки.
Соответствующее руководствоAndroid по распознаванию символов и автоматизации распознавания изображенийсравнивает эти методы наблюдения более подробно. В этой статье основное внимание уделяется границе принятия решений на устройстве: наблюдение должно быть успешным, прежде чем жест сможет использовать свой результат.
Постройте выкройку в LaiCai Flow Inside.
1. Подготовьте стабильный шаблон и начальное состояние.
Выберите цель с четкими краями и достаточным количеством уникальных деталей, чтобы отличить ее от близлежащих элементов управления. Избегайте захвата большой области, включающей изменяющиеся счетчики, временные метки, имена пользователей или анимацию. Первый профиль и ресурсы изображений, на которые имеются ссылки, подготавливаются на компьютере. Во время развертывания совместимый шаблон включается в комплект для LaiCai Android Agent.
2. Сопоставить текущий кадр один раз
Узел `vision.match` наблюдает за текущим кадром один раз. Для этого требуется один или несколько сохраненных идентификаторов шаблонов, необходимый минимальный балл, режим соответствия и интересующая область соотношения сторон экрана. Успешное совпадение обеспечивает лучший результат и обнаруженный центр и прямоугольник. Ни одно совпадение не следует за неудачным исходом; узел не является скрытым циклом ожидания.
3. Коснитесь обнаруженного результата, а не старой координаты.
Подключите успешное совпадение к `pointer.tap` и используйте обнаруженный прямоугольник как `positionFrom`, обычно с центральной привязкой. Это сохраняет привязку действия к наблюдению, которое его санкционировало. Не копируйте координаты из одного прогона и не превращайте следующий прогон обратно в макрос с фиксированными координатами.
4. Добавьте видимое ожидание
После касания добавьте явный `flow.wait` перед следующим наблюдением, зависящим от экрана. Правильная продолжительность зависит от приложения, устройства, сети и анимации. Видимое ожидание можно просмотреть и настроить; немедленная повторная проверка может просто обнаружить старый кадр.
5. Проверьте следующее состояние или остановитесь.
Используйте второе изображение, результат распознавания или состояние пользовательского интерфейса, чтобы доказать, что интерфейс изменился должным образом. Например, обнаружение диалогового окна «Подтвердить» после нажатия «Удалить» доказывает лишь то, что появился этап подтверждения; это не доказывает, что элемент был удален. Более поздняя проверка должна подтвердить окончательное состояние списка или сообщение об успехе. Оставьте необработанный сбой наблюдения как настоящий сбой или реализуйте ограниченную повторную попытку, если повторная проверка является частью требования.
Настройте уверенность, область поиска, время и шаблоны.
- Начните с измеренного порога, затем проверьте как истинные совпадения, так и визуально похожие ложные кандидаты. Чем выше, тем строже, но произвольный максимум может отклонить законные изменения масштаба или рендеринга.
- Ограничьте область поиска, если цель принадлежит известной части экрана. Меньший регион может уменьшить количество ложных срабатываний и работу, но угаданный регион может скрыть действительно перемещенную цель.
- Выберите режим соответствия для визуального свойства, которое остается стабильным. Цвет может помочь, когда цвет имеет значение; режимы серого или краевого цвета могут допускать некоторые изменения цвета; Детали должны быть проверены на реальном экране.
- Сохраняйте альтернативные шаблоны вместе, если они представляют один и тот же элемент управления в известных состояниях, например включенных и отключенных темах. Не добавляйте несвязанные цели в одно совпадение.
- Проверьте точный масштаб устройства, ориентацию, тему и версию приложения, на котором будет запускаться Flow. Повторное тестирование после значительного обновления интерфейса.
- Запишите, где произошел сбой. Оценка совпадения, выбранный актив, обнаруженный прямоугольник, продолжительность ожидания и результат следующего состояния более полезны, чем общая ошибка макроса.
Не настраивайтесь только на удачные примеры. Начните с ожидаемого экрана, экрана, на котором цель отсутствует, экрана с похожим значком, медленным переходом и всплывающего окна, закрывающего цель. Автоматизация заслуживает доверия, когда негативные случаи благополучно прекращаются, а не только когда счастливый путь завершается один раз.
Практическое использование проверенных государством изображений
Мобильный контроль качества и дымовые тесты
Убедитесь, что появился известный экран, коснитесь одного элемента управления, подождите и запишите следующее состояние. Это полезно для повторяемого пути проверки дыма на авторизованных устройствах.Зеркалирование экрана Android на ПК или Macпомогает тестировщику проверить реальный телефон во время подготовки и отладки Flow.
Обработка диалога и восстановления
Прежде чем выбирать соответствующее действие, определите конкретную повторную попытку, разрешение или диалоговое окно подключения. Не создавайте один универсальный тап «ОК»: одно и то же слово может одобрять совершенно разные действия в разных диалогах.
Повторяющиеся внутренние операции приложения
В контролируемом бизнес-приложении Flow может проверить текущую страницу перед открытием следующего элемента или отправкой утвержденной формы. Сочетайте визуальную проверку с явными границами ввода, проверкой конечного состояния и передачей исключений человеку.
Персональные процедуры на устройстве
Совместимый Flow может продолжать работать на телефоне после развертывания без подключения рабочего стола. Сохраняйте локальные рабочие процессы локальными; если профиль вызывает конечную точку HTTP, удаленную модель, веб-перехватчик или службу сообщений, этому конкретному рабочему процессу требуется доступ к сети.
Разрешения и границы безопасности
В Android визуальная автоматизация и автоматизация жестов используют конфиденциальные возможности системы. Документы Android указывают, что службы специальных возможностей должны декларировать возможность отправки жестов, а для захвата экрана требуется собственная авторизация и жизненный цикл. В LaiCai Flow Inside сопоставление изображений использует активный сеанс экрана MediaProjection и выполнение на переднем плане на стороне телефона; при нажатии используется доступность.
Используйте автоматизацию только на устройствах, учетных записях и приложениях, которыми вам разрешено управлять. Некоторые приложения или сборки устройств могут блокировать или игнорировать жесты специальных возможностей. Успешное совпадение изображений не гарантирует, что позднее нажатие будет принято. Диагностируйте наблюдение и передачу жестов отдельно.
Оставляйте платежи, изменения учетной записи, разрушительное удаление, личные данные и необратимые действия под явным контролем или очень узкими условиями. Не используйте автокликеры для создания фальшивого взаимодействия, обхода контроля платформы или нарушения условий приложения. Самый безопасный поток — это тот, у которого разрешенное состояние, действие, условие остановки и свидетельства видны до его запуска.
Контрольный список испытаний перед использованием без присмотра
- Запустите три раза точно с ожидаемого стартового экрана.
- Начните с неправильного экрана и убедитесь, что касаний не происходит.
- Накройте или уберите мишень и подтвердите, что совпадение не удалось.
- Предоставьте аналогичный элемент управления и убедитесь, что пороговое значение и регион его отвергают.
- Замедлите работу приложения или сети и убедитесь, что ожидание и постусловие ведут себя безопасно.
- Поворачивайте устройство или меняйте масштаб отображения, только если эти режимы поддерживаются, а затем повторно протестируйте шаблоны.
- Отключите или прервите необходимые функции захвата экрана или специальные возможности и убедитесь, что ошибка видна.
- Просмотрите финальный экран, журналы, снимки экрана или выходные данные, подтверждающие результат задачи.
Начните с одного ограниченного перехода. Как только он станет надежным, извлеките повторяющиеся действия с несколькими узлами в небольшой именованный дочерний поток и оставьте основной поток доступным для чтения. Учебное пособиеLaiCai Flow Insideобъясняет границы подготовки и развертывания; На странице автоматизации AndroidAIрассказывается о создании и отладке рабочих процессов с помощью настольных компьютеров.
Часто задаваемые вопросы по автоматическому щелчку по распознаванию изображений Android
Всегда ли распознавание изображений безопаснее, чем фиксированные координаты?
Безопаснее только тогда, когда проверяются шаблон, пороговое значение, регион, время и путь отказа. Слабое или слишком широкое соответствие все равно может привести к неправильному выбору цели.
Должен ли Flow продолжать соответствовать до тех пор, пока не появится изображение?
Один узел сопоставления изображений должен наблюдаться один раз. Если требуется ожидание, используйте явную структуру повтора или до тех пор, пока не будет установлен четкий интервал, время ожидания или ограничение попыток, чтобы поведение оставалось видимым.
Можно ли использовать обнаруженное положение непосредственно для постукивания?
Да. Используйте обнаруженный прямоугольник или центр успешного визуального узла в качестве источника касания. При этом сохраняется связь между наблюдением и действием.
Может ли это работать полностью в автономном режиме на телефоне?
Это возможно, когда каждый узел и актив в развернутом профиле работает локально. Сопоставление изображений, ожидание, жесты и локальные проверки могут оставаться на устройстве. Любая удаленная модель, HTTP-запрос, веб-перехватчик, облачная синхронизация или служба сообщений добавляют зависимость от сети.
Сделайте каждое касание проверяемым переходом состояний
Ключевое улучшение носит концептуальный характер: не спрашивайте только, куда нажать. Спросите, что должно быть истинным перед касанием, какой наблюдаемый результат разрешает жест, как долго нужно менять интерфейс и что доказывает, что наступило следующее состояние.
LaiCai Screen Mirroring включает LaiCai Flow Inside для этого детерминированного шаблона на стороне телефона: наблюдать один раз, отслеживать успех или неудачу, коснуться полученного результата соотношения экрана, визуально подождать и снова наблюдать. Подготовьте и проверьте совместимый профиль на компьютере, разверните его с утвержденными ресурсами и позвольте LaiCai Android Agent запускать только те состояния и переходы, которые вы определили.
- API службы доступа Android
- Руководство по службе специальных возможностей Android
- Проект Klick’r Smart AutoClicker
- Щелчок щелчком мыши и устранение неполадок обнаружения
- Макросы распознавания изображений EmuloMobile
- Запрос пользователя на автокликер с распознаванием изображений
- Пользовательский отчет о неправильном клике в интерфейсе