Capacitor WebViews를 활용한 Claude를 이용한 모바일 앱 QA 자동화

한 개발자가 Capacitor로 구축된 모바일 앱에 대한 자동화된 품질 보증을 수행하도록 Claude를 가르친 방법을 문서화했습니다. 이 앱은 서버 주도 UI 아키텍처와 함께 네이티브 셸(Android의 WebView, iOS의 WKWebView)로 감싼 React를 사용하여 하나의 코드베이스로 웹, iOS, Android 플랫폼에서 실행될 수 있습니다.
테스트 과제와 해결책
Capacitor 앱은 테스트 격차에 존재합니다: Playwright는 네이티브 셸에 접근할 수 없고, XCTest와 Espresso는 WebView 내부의 HTML과 상호작용할 수 없습니다. 개발자는 Claude를 사용하여 두 모바일 플랫폼을 구동하고, 스크린샷을 찍어 문제를 분석하며, 자동으로 버그 리포트를 제출하는 Python 스크립트를 만들었습니다.
Android 구현 세부사항
Android 설정은 90분이 걸렸습니다. 주요 단계:
- 연결성 수정:
adb reverse tcp:3000 tcp:3000및adb reverse tcp:8080 tcp:8080(에뮬레이터 재시작 후 재실행 필요) - WebView DevTools 접근:
adb shell "cat /proc/net/unix" | grep webview_devtools_remote로 소켓 찾기 - 로컬 포트로 포워딩:
adb forward tcp:9223 localabstract:$WV_SOCKET curl http://localhost:9223/json을 통한 완전한 Chrome DevTools Protocol 접근
스크립트는 CDP를 사용한 탐색과 인증(JWT를 localStorage에 주입) 및 adb shell screencap을 사용한 스크린샷으로 약 90초 만에 앱의 모든 25개 화면을 훑습니다.
분석 및 버그 보고
스크린샷은 시각적 문제를 분석합니다: 깨진 레이아웃, 오류 메시지, 누락된 이미지, 빈 화면, 상태 표시줄 겹침. 문제가 발견되면 시스템은:
- zabriskie_bot으로 인증
- 스크린샷을 S3에 업로드
- 프로덕션 포럼에 버그 리포트를 다음 형식으로 제출:
[Android QA] Shows Hub: RSVP 버튼이 장소 텍스트와 겹침
시스템은 예상 상태를 알고 있습니다: 크루 페이지에서 비회원에 대한 "Forbidden" 응답은 버그가 아니며, 빈 아바타 원은 버그가 아니고, 프로필 설정의 "Preview" 텍스트는 알려진 미관상 문제입니다.
iOS 구현
iOS 설정은 6시간 이상이 걸렸으며, 모바일 자동화 도구의 차이를 부각시킵니다. 이 기사는 이러한 대비를 언급하지만 Android와 비교하여 iOS 구현에 대한 구체적인 기술적 세부사항은 적게 제공합니다.
배포
전체 QA 시스템은 매일 아침 8시 47분에 예약 작업으로 실행됩니다.
📖 Read the full source: HN AI Agents
👀 See Also

Reseed CLI: 모든 사이트에서 디자인 시스템을 추출하여 Claude Code와 Cursor로
Reseed는 모든 웹사이트에서 디자인 토큰(색상, 간격, 글자 크기 체계, 모서리 둥글기)을 추출하여 Claude Code와 Cursor가 사용할 수 있는 tailwind.config.ts, design-system.md, 참조 HTML을 생성하는 CLI 도구입니다.

벤치마크 결과, 컨텍스트 엔진이 SWE-bench에서 AI 코딩 에이전트 비용을 3배 절감하는 것으로 나타났습니다.
Claude Opus 4.5를 사용한 SWE-bench Verified에서 4가지 코딩 에이전트를 벤치마킹한 결과, 컨텍스트 엔진이 73%의 통과율을 달성하며 작업당 $0.67의 비용이 들었고, 다른 에이전트들은 유사하거나 더 낮은 성능에 작업당 최대 $1.98의 비용이 들었습니다.

Kanban CLI: 로컬 우선, 에이전트 우선 터미널 작업 관리자
Kanban CLI는 Rust 기반 터미널 도구로, Git 완전 통합과 함께 구조화된 작업 추적을 제공하며 AI 에이전트 주도 워크플로우를 위해 설계되었습니다.

클로드리틱스: 클로드 코드 토큰 사용량 및 비용 추적을 위한 셀프 호스팅 대시보드
Claudlytics는 Claude Code의 로컬 .jsonl 세션 파일을 읽어 토큰 사용량과 비용을 실시간으로 추적하는 Node.js 웹 서버입니다. 127.0.0.1에서 로컬로 실행되며, 원격 서버의 경우 SSH 터널을 통해 접근할 수 있습니다.