E2E YAML 레퍼런스
@ohah/react-native-mcp-server test 러너가 읽는 YAML 시나리오 문법 레퍼런스. 한 파일에 하나의 테스트 스위트를 정의한다.
파일 구조
config.platform:ios|android. CLI-p옵션으로 덮을 수 있음.config.bundleId: iOS는org.example.app, Android는com.example.app형태. 지정 시 러너가 서버 기동 후 앱을 자동 실행한다.config.orientation: iOS 전용. GraphicsOrientation 값(1=Portrait, 2=Portrait180, 3=LandscapeA, 4=LandscapeB)을 강제 지정. 생략 시xcrun simctl spawn으로 자동 감지.setup/teardown: 각각Step[]. 실패 시에도teardown은 실행된다.
Step 타입
러너는 8개 카테고리에 걸쳐 34가지 스텝 타입을 지원한다. 각 스텝의 상세 내용은 스텝 레퍼런스를 참고한다.
전체 예시
비디오 녹화
- startRecording:
{ path?: string }— 화면 녹화 시작 (iOS: idb, Android: adb screenrecord).path를 생략하면outputDir/e2e-recording.mp4에 저장. 경로는 현재 작업 디렉터리 하위여야 한다. - stopRecording:
{}— 현재 녹화를 중지하고 파일로 저장. 녹화를 시작하지 않았을 때도 teardown에서 호출해도 안전(무시됨).
setup에서 startRecording, teardown에서 stopRecording을 두면 전체 실행이 녹화되고, 스텝 실패 시에도 teardown이 실행되므로 녹화가 항상 중지된다.
E2E CLI (@ohah/react-native-mcp-server test)
사용법
npx @ohah/react-native-mcp-server test run <path> [options]
<path>: YAML 파일 또는 디렉터리- 디렉터리는 해당 디렉터리 바로 아래의
.yml/.yaml파일만 실행한다(하위 폴더 재귀 실행 없음).
- 디렉터리는 해당 디렉터리 바로 아래의
Commands
run <path>: YAML 테스트 파일 또는 디렉터리 실행
Options
-p, --platform <ios|android>: YAML의config.platform을 덮어쓴다.-r, --reporter <type>: 리포터 타입.console|junit|json|html|slack|github-pr(기본값:console)-o, --output <dir>: 결과 출력 디렉터리 (기본값:./results)--slack-webhook <url>: Slack 웹훅 URL (-r slack사용 시. 또는SLACK_WEBHOOK_URL)--report-url <url>: Slack 메시지용 리포트 링크 (예: CI 아티팩트 URL)-t, --timeout <ms>: 글로벌 타임아웃(연결 대기 등) 덮어쓰기-d, --device <id>: 디바이스 ID(idb/adb)--no-bail: 스위트 실패 후에도 다음 스위트를 계속 실행한다 (기본값: 실패 시 중단)--no-auto-launch:create()에서 앱을 자동 실행하지 않는다. CI에서 설치만 해두고setup에서launch(또는 워크플로 단계에서 앱 실행)를 사용하는 경우에 쓴다.-h, --help: 도움말 출력
예시
- 디렉터리 실행:
npx @ohah/react-native-mcp-server test run path/to/e2e/ -p ios - 단일 파일 실행:
npx @ohah/react-native-mcp-server test run path/to/suite.yaml -p android - 결과 경로 지정:
npx @ohah/react-native-mcp-server test run e2e/ -o e2e-artifacts/yaml-results - 실패해도 계속 실행:
npx @ohah/react-native-mcp-server test run e2e/ --no-bail - CI(빌드 산출물) 실행:
node packages/react-native-mcp-server/dist/test/cli.js run examples/demo-app/e2e/ -p ios -o e2e-artifacts/yaml-results --no-auto-launch - HTML 리포트:
npx @ohah/react-native-mcp-server test run e2e/ -r html -o results - Slack:
npx @ohah/react-native-mcp-server test run e2e/ -r slack --slack-webhook $SLACK_WEBHOOK - GitHub PR 코멘트: CI에서
-r github-pr -o results
리포터 종류
리포터 확인 방법
- HTML: 실행 후
output/report.html을 브라우저에서 열어 스위트·스텝·실패 스크린샷 확인. - Slack:
-r slack실행 후 해당 채널에 요약 메시지·실패 시 상세 내용 도착 여부 확인. - GitHub PR: PR에서
-r github-pr실행 후 PR 코멘트 또는output/pr-comment.md본문 확인.