Screen Capture
스크린샷 캡처, 컴포넌트 트리 스냅샷, 네이티브 UI 트리 조회, 시각적 회귀 테스트를 위한 도구입니다.
take_screenshot
디바이스/시뮬레이터 화면을 JPEG 이미지(720p)로 캡처합니다.
Parameters
Example
Tips
- base64 JPEG와 좌표 변환을 위한 포인트 크기 메타데이터를 반환합니다.
- 가능하면 스크린샷보다
assert_text또는assert_visible을 사용하세요 — 스크린샷은 비전 토큰을 소모합니다. - iOS는 시뮬레이터만 지원하며, 실제 디바이스는 지원하지 않습니다.
take_snapshot
React Native 컴포넌트 트리를 캡처합니다. compact 텍스트로 출력하여 토큰 사용량을 대폭 절감합니다.
Parameters
Example
Tips
- compact 출력: JSON 대비 90% 이상 토큰 절감. 들여쓰기로 계층 구조를 표현합니다.
interactive: true를 사용하면 탭/입력 가능한 요소만 표시되어 토큰을 더 줄일 수 있습니다.uid값을evaluate_script의measureView(uid)와 함께 사용하면 정확한 좌표를 얻을 수 있습니다.- 큰 컴포넌트 트리에서는
maxDepth를 줄여 출력 크기를 제한하세요.
describe_ui
네이티브 UI/접근성 트리를 조회합니다. compact 텍스트로 출력하여 토큰을 절감합니다.
Parameters
Example
Tips
- compact 출력: JSON/XML 대비 78% 이상 토큰 절감. Android는
[clickable],[scrollable],bounds=등 네이티브 속성을 표시합니다. - React Native 요소를 조회할 때는
query_selector를 사용하는 것이 좋습니다. - iOS는
idb ui describe-all/describe-point를, Android는uiautomator dump를 사용합니다. - React 트리에 포함되지 않는 네이티브 컴포넌트(예: 네이티브 알림, 시스템 UI)를 검사할 때 유용합니다.
visual_compare
시각적 회귀 테스트를 위해 현재 화면을 베이스라인 PNG와 비교합니다.
Parameters
Example
Tips
- 초기 베이스라인을 생성하려면
updateBaseline: true를 사용하세요. - 전체 화면 대신 특정 컴포넌트(예:
#header)만 비교하려면selector를 사용하세요. threshold값이 낮을수록 더 엄격합니다 (0 = 픽셀 단위 완벽 일치, 1 = 모든 차이 통과).- 내부적으로 sharp + pixelmatch를 사용합니다.
비디오 녹화
디바이스/시뮬레이터 화면 녹화를 시작·중지합니다. iOS는 idb, Android는 adb screenrecord를 사용합니다. MCP 서버당 동시에 하나의 녹화만 가능합니다.
start_video_recording
디바이스 화면 녹화를 시작합니다. stop_video_recording을 호출할 때까지 녹화가 계속됩니다.
Parameters
Example
Tips
- 이미 녹화 중이면 오류를 반환합니다. 먼저
stop_video_recording을 호출하세요. - 서버 종료(또는 세션 종료) 시 활성 녹화는 자동으로 중지됩니다.
stop_video_recording
현재 녹화를 중지하고, 시작 시 지정한 경로에 파일을 저장합니다.
Parameters
Example
Tips
- 성공 시 저장된 파일 경로를 반환합니다.
- iOS: idb 사용. Android: adb screenrecord(SIGINT로 중지 후 저장).