Usando o Claude para Automatizar o QA de Aplicativos Móveis com Capacitor WebViews

Um desenvolvedor documentou como ensinou Claude a realizar testes automatizados de qualidade para um aplicativo móvel construído com Capacitor. O aplicativo usa React encapsulado em shells nativos (WebView no Android, WKWebView no iOS) com arquitetura de interface dirigida por servidor, permitindo que uma única base de código funcione na web, iOS e Android.
Desafio e Solução de Testes
Aplicativos Capacitor existem em uma lacuna de testes: Playwright não consegue acessar o shell nativo, enquanto XCTest e Espresso não conseguem interagir com HTML dentro de WebViews. O desenvolvedor criou um script Python que usa Claude para operar ambas as plataformas móveis, capturar telas, analisá-las em busca de problemas e registrar relatórios de bugs automaticamente.
Detalhes da Implementação Android
A configuração do Android levou 90 minutos. Passos principais:
- Correção de conectividade:
adb reverse tcp:3000 tcp:3000eadb reverse tcp:8080 tcp:8080(precisa ser reexecutado após reiniciar o emulador) - Acesso ao DevTools do WebView: Encontrar socket com
adb shell "cat /proc/net/unix" | grep webview_devtools_remote - Encaminhar para porta local:
adb forward tcp:9223 localabstract:$WV_SOCKET - Acesso completo ao Chrome DevTools Protocol via
curl http://localhost:9223/json
O script percorre todas as 25 telas do aplicativo em cerca de 90 segundos usando CDP para navegação e autenticação (injetando JWT no localStorage) e adb shell screencap para capturas de tela.
Análise e Relatório de Bugs
As capturas de tela são analisadas em busca de problemas visuais: layouts quebrados, mensagens de erro, imagens ausentes, telas em branco e sobreposição da barra de status. Quando problemas são encontrados, o sistema:
- Autentica como zabriskie_bot
- Faz upload das capturas de tela para o S3
- Registra relatórios de bugs no fórum de produção com o formato:
[Android QA] Shows Hub: Botão RSVP sobrepõe texto do local
O sistema conhece estados esperados: respostas "Proibido" para não-membros em páginas da equipe não são bugs, círculos de avatar vazios não são bugs, e o texto "Prévia" nas configurações de perfil é um problema cosmético conhecido.
Implementação iOS
A configuração do iOS levou mais de seis horas, destacando diferenças nas ferramentas de automação móvel. O artigo observa esse contraste, mas fornece menos detalhes técnicos específicos sobre a implementação iOS em comparação com o Android.
Implantação
Todo o sistema de QA é executado como uma tarefa agendada todas as manhãs às 8:47.
📖 Read the full source: HN AI Agents
👀 See Also

Desenvolvedor cria gerador de modelos .NET SaaS com Claude Code, compartilha insights sobre fluxo de trabalho
Um desenvolvedor disponibilizou como código aberto o NETrock, um modelo inicial de SaaS para .NET 10 com autenticação, ORM e tarefas em segundo plano, e depois construiu um gerador do lado do cliente para ele usando o Claude Code. O gerador permite que os usuários escolham recursos e baixem um projeto .zip funcional que permanece em seu navegador.

Testando MiniMax M2.7 via API em Três Fluxos de Trabalho Reais de ML e Codificação
Um desenvolvedor testa o MiniMax M2.7 contra o Claude Opus 4.7 em três tarefas reais: refatorar um projeto PyTorch, rascunhar notas no Obsidian e mais. Principais descobertas e configuração incluídas.

Claude Operações: Painel de Navegador para Status ao Vivo e Rastreamento de Subagentes do Claude Code
Um painel gratuito e local para navegador macOS que rastreia o status ao vivo de sessões do Claude Code, ferramenta atual, subagentes gerados e envia notificações push do OS quando a entrada é necessária.

civStation: Interface VLM de Código Aberto para Controle por Linguagem Natural do Civilization VI
civStation é uma pilha de uso de computador de código aberto que permite o controle por voz e linguagem natural do Civilization VI, traduzindo comandos de estratégia de alto nível em ações de interface do usuário por meio de um loop de observação e execução baseado em VLM.