Использование Claude для автоматизации тестирования мобильных приложений с помощью Capacitor WebViews

✍️ OpenClawRadar📅 Опубликовано: 23 марта 2026 г.🔗 Source
Использование Claude для автоматизации тестирования мобильных приложений с помощью Capacitor WebViews
Ad

Разработчик описал, как он научил Claude выполнять автоматизированный контроль качества для мобильного приложения, созданного с помощью Capacitor. Приложение использует React, обёрнутый в нативные оболочки (WebView на Android, WKWebView на iOS) с архитектурой серверно-управляемого интерфейса, что позволяет одному кодовому базису работать на веб-платформах, iOS и Android.

Проблема тестирования и решение

Приложения на Capacitor находятся в пробеле тестирования: Playwright не может получить доступ к нативной оболочке, а XCTest и Espresso не могут взаимодействовать с HTML внутри WebViews. Разработчик создал Python-скрипт, который использует Claude для управления обеими мобильными платформами, делает скриншоты, анализирует их на наличие проблем и автоматически создаёт отчёты об ошибках.

Детали реализации для Android

Настройка Android заняла 90 минут. Ключевые шаги:

  • Исправление подключения: adb reverse tcp:3000 tcp:3000 и adb reverse tcp:8080 tcp:8080 (требует повторного запуска после перезапуска эмулятора)
  • Доступ к DevTools WebView: Найти сокет с помощью adb shell "cat /proc/net/unix" | grep webview_devtools_remote
  • Перенаправление на локальный порт: adb forward tcp:9223 localabstract:$WV_SOCKET
  • Полный доступ к Chrome DevTools Protocol через curl http://localhost:9223/json

Скрипт проверяет все 25 экранов приложения примерно за 90 секунд, используя CDP для навигации и аутентификации (внедряя JWT в localStorage) и adb shell screencap для создания скриншотов.

Ad

Анализ и отчётность об ошибках

Скриншоты анализируются на визуальные проблемы: нарушенные макеты, сообщения об ошибках, отсутствующие изображения, пустые экраны и перекрытие строки состояния. При обнаружении проблем система:

  • Аутентифицируется как zabriskie_bot
  • Загружает скриншоты в S3
  • Создаёт отчёты об ошибках в рабочем форуме в формате: [Android QA] Shows Hub: RSVP button overlaps venue text

Система знает ожидаемые состояния: ответы "Forbidden" для не-членов на страницах команды не являются ошибками, пустые кружки аватаров не являются ошибками, а текст "Preview" в настройках профиля — это известная косметическая проблема.

Реализация для iOS

Настройка iOS заняла более шести часов, что подчёркивает различия в инструментах мобильной автоматизации. В статье отмечается этот контраст, но предоставляется меньше конкретных технических деталей о реализации iOS по сравнению с Android.

Развёртывание

Вся система контроля качества работает как запланированная задача каждое утро в 8:47.

📖 Read the full source: HN AI Agents

Ad

👀 Смотрите также

7-Файловый Уровень Управления для Предотвращения Дрейфа Сессий LLM
Инструменты

7-Файловый Уровень Управления для Предотвращения Дрейфа Сессий LLM

Разработчик создал слой управления с семью файлами, чтобы предотвратить тихую отмену архитектурных решений Клодом между сессиями. Система включает файлы active_context.md, contracts.md и decisions.md со строгим циклом выполнения.

OpenClawRadar
克劳德设计与华数设计:HTML布局与速率限制的对决
Инструменты

克劳德设计与华数设计:HTML布局与速率限制的对决

Claude Design быстро создает HTML-прототипы, но быстро упирается в лимиты. Huashu-Design, открытый навык Claude Code, работает по обычной подписке без отдельного лимита, но занимает 20 минут вместо 5.

OpenClawRadar
OpenClaw .NET: Порт NativeAOT с JSON-RPC Мостом для Существующих Плагинов
Инструменты

OpenClaw .NET: Порт NativeAOT с JSON-RPC Мостом для Существующих Плагинов

OpenClaw .NET — это порт OpenClaw на C#, который компилируется в бинарный файл NativeAOT размером около 23 МБ, исключая время разогрева JIT и накладные расходы среды выполнения Node, сохраняя при этом совместимость с существующими плагинами на TypeScript/JavaScript через встроенный мост JSON-RPC.

OpenClawRadar
NexQuant: Rust-нативный 3-битный движок KV-кэша для развертывания на периферийных устройствах
Инструменты

NexQuant: Rust-нативный 3-битный движок KV-кэша для развертывания на периферийных устройствах

NexQuant — это готовый к промышленному использованию движок на Rust, который позволяет запускать модели с большим контекстом на потребительском оборудовании с сокращением использования памяти в 3–5 раз. Поддерживает бэкенды Metal, CUDA, Vulkan и CPU.

OpenClawRadar