병목은 테스트 실행이 아니었다: Appium E2E 자동화에서 실행과 운영을 분리하기까지
백엔드
병목은 테스트 실행이 아니었다: Appium E2E 자동화에서 실행과 운영을 분리하기까지
두줄요약
Appium E2E 자동화에서 테스트 실행과 운영을 GitHub Actions와 n8n으로 분리한 구조를 정리했습니다. 실패 원인 추적과 알림·기록 변경을 쉽게 하기 위한 경계 설정이 핵심입니다.
구조와 흐름
- Appium 기반 모바일 E2E 자동화에서 실행 계층과 운영 계층을 분리한 구조
- GitHub Actions는 디바이스·Appium·리포트 생성·결과 payload 전송만 담당
- n8n은 webhook 이후의 Slack, Notion, InfluxDB, AI 분류, 후속 워크플로 분기 담당
선택 이유
- 실패 원인이 앱, 테스트 코드, 인프라 중 어디인지 운영 단계에서 식별하기 위한 경계 설정
- 알림 문구, 기록 방식, 분류 기준 같은 운영 규칙 변경을 테스트 실행 workflow와 분리하기 위한 선택
- 단일 출구 webhook으로 책임 추적성과 변경 범위 축소 확보
주의할 점
- 모바일 E2E는 디바이스, Appium 서버, WDA, adb 상태까지 영향을 받는 불안정성 관리 필요
- concurrency 제한 없이는 runner 자원 충돌과 세션 불안정 가능성 존재
- 테스트 코드에 운영 정책을 섞으면 원인 추적과 유지보수 복잡도 증가
