feat: 전체 E2E 재테스트 결과 (204 시나리오, 202 PASS / 2 FAIL, 99.0%)

- fill_form 필드 라벨 수정 후 재테스트 (종목→업종)
- accounting-client: fill_form 5/5 정상 입력 확인
- sales-client: fill_form 5/5 정상 입력 확인
- 실패 2건: search-options-hr (부서관리 테이블 타임아웃), vendor-management (저장 후 확인 evaluate false)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-08 13:12:59 +09:00
parent 95e133b05e
commit 0df8f503bd
211 changed files with 8827 additions and 0 deletions

View File

@@ -0,0 +1,368 @@
# E2E 전체 테스트 결과 요약
**실행 시간**: 2026-03-08_13-04-25
**총 소요 시간**: 89.2분
**전체 시나리오**: 204개 | **성공**: 202개 | **실패**: 2개 📉 (이전: 204/204 성공)
## 카테고리별 요약
| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
|---------|-----------|------|------|--------|
| 접근성 검사 | 18 | 18 | 0 | 100% |
| 기능 테스트 | 147 | 145 | 2 | 99% |
| 엣지 케이스 | 17 | 17 | 0 | 100% |
| 성능 테스트 | 17 | 17 | 0 | 100% |
| 비즈니스 워크플로우 | 5 | 5 | 0 | 100% |
## 시나리오별 결과
| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
|---|---------|------|------|------|------|---------|
| 1 | 접근성 검사: 회계관리 > 거래처관리 | ✅ | 4 | 3 | 0 | 12.8 |
| 2 | 접근성 검사: 회계관리 > 입금관리 | ✅ | 4 | 3 | 0 | 12.7 |
| 3 | 접근성 검사: 회계관리 > 매입관리 | ✅ | 4 | 4 | 0 | 11.2 |
| 4 | 접근성 검사: 회계관리 > 매출관리 | ✅ | 4 | 3 | 0 | 12.6 |
| 5 | 접근성 검사: 결재관리 > 결재함 | ✅ | 4 | 4 | 0 | 11.2 |
| 6 | 접근성 검사: 결재관리 > 기안함 | ✅ | 4 | 4 | 0 | 11.2 |
| 7 | 접근성 검사: 게시판 > 자유게시판 | ✅ | 4 | 3 | 0 | 12.7 |
| 8 | 접근성 검사: 인사관리 > 근태관리 | ✅ | 4 | 3 | 0 | 12.7 |
| 9 | 접근성 검사: 인사관리 > 부서관리 | ✅ | 4 | 3 | 0 | 12.7 |
| 10 | 접근성 검사: 인사관리 > 사원관리 | ✅ | 4 | 3 | 0 | 12.7 |
| 11 | 접근성 검사: 인사관리 > 급여관리 | ✅ | 4 | 4 | 0 | 11.2 |
| 12 | 접근성 검사: 자재관리 > 입고관리 | ✅ | 4 | 3 | 0 | 12.7 |
| 13 | 접근성 검사: 자재관리 > 재고현황 | ✅ | 4 | 4 | 0 | 11.2 |
| 14 | 접근성 검사: 생산관리 > 품목관리 | ✅ | 4 | 4 | 0 | 11.2 |
| 15 | 접근성 검사: 생산관리 > 작업지시 | ✅ | 4 | 3 | 0 | 12.7 |
| 16 | 접근성 검사: 판매관리 > 거래처관리 | ✅ | 4 | 3 | 0 | 12.7 |
| 17 | 접근성 검사: 판매관리 > 견적관리 | ✅ | 4 | 4 | 0 | 11.2 |
| 18 | 접근성 검사: 판매관리 > 수주관리 | ✅ | 4 | 3 | 0 | 12.7 |
| 19 | 악성채권추심관리 테스트 | ✅ | 24 | 22 | 0 | 11.2 |
| 20 | 계좌입출금내역 테스트 | ✅ | 18 | 16 | 0 | 10.2 |
| 21 | 어음관리 테스트 | ✅ | 24 | 18 | 0 | 23.3 |
| 22 | 카드사용내역 테스트 | ✅ | 18 | 16 | 0 | 10.2 |
| 23 | 회계거래처관리 테스트 | ✅ | 23 | 20 | 0 | 17.8 |
| 24 | 일일 일보 테스트 | ✅ | 10 | 10 | 0 | 11.5 |
| 25 | 입금관리 테스트 | ✅ | 25 | 19 | 0 | 22.3 |
| 26 | 지출예상내역서 테스트 | ✅ | 16 | 14 | 0 | 9.5 |
| 27 | 상품권관리 테스트 | ✅ | 11 | 9 | 0 | 13.1 |
| 28 | 일반전표입력 테스트 | ✅ | 12 | 10 | 0 | 15.0 |
| 29 | 결제내역 테스트 | ✅ | 18 | 14 | 0 | 15.2 |
| 30 | 매입관리 테스트 | ✅ | 16 | 14 | 0 | 12.5 |
| 31 | 미수금현황 테스트 | ✅ | 19 | 16 | 0 | 13.1 |
| 32 | 매출관리 테스트 | ✅ | 16 | 14 | 0 | 12.5 |
| 33 | 세금계산서발행 테스트 | ✅ | 11 | 10 | 0 | 11.3 |
| 34 | 세금계산서관리 테스트 | ✅ | 11 | 10 | 0 | 11.3 |
| 35 | 출금관리 테스트 | ✅ | 25 | 19 | 0 | 22.3 |
| 36 | API 건강성 감사: 회계 | ✅ | 39 | 39 | 0 | 46.1 |
| 37 | API 건강성 감사: 생산/기타 | ✅ | 35 | 35 | 0 | 46.7 |
| 38 | API 건강성 감사: 판매/인사 | ✅ | 35 | 35 | 0 | 46.7 |
| 39 | 결재함 E2E 테스트 | ✅ | 25 | 23 | 0 | 26.3 |
| 40 | 근태현황 출퇴근 테스트 | ✅ | 12 | 12 | 0 | 12.8 |
| 41 | 근태관리 테스트 | ✅ | 25 | 25 | 0 | 19.1 |
| 42 | 연속 등록 테스트: 어음관리 | ✅ | 39 | 39 | 0 | 120.7 |
| 43 | 연속 등록 테스트: 입금관리 | ✅ | 39 | 39 | 0 | 89.2 |
| 44 | 연속 등록 테스트: 자유게시판 | ✅ | 39 | 39 | 0 | 94.5 |
| 45 | 계정과목 일괄변경 버그 회귀 테스트 (BUG-SALES-20260115-001): 매출관리 | ✅ | 14 | 14 | 0 | 26.5 |
| 46 | 게시판 관리 테스트 | ✅ | 22 | 22 | 0 | 11.3 |
| 47 | 게시판 테스트 페이지 테스트 | ✅ | 13 | 11 | 0 | 15.3 |
| 48 | 설정 - 회사정보 | ✅ | 31 | 29 | 0 | 23.5 |
| 49 | Create+Delete 테스트: 어음관리 | ✅ | 12 | 12 | 0 | 38.2 |
| 50 | Create+Delete 테스트: 입금관리 | ✅ | 12 | 12 | 0 | 35.7 |
| 51 | Create+Delete 테스트: 자유게시판 | ✅ | 15 | 15 | 0 | 42.0 |
| 52 | 모듈 간 데이터 일관성 검증 (판매↔회계, 판매↔생산) | ✅ | 15 | 15 | 0 | 39.0 |
| 53 | 이벤트 게시판 테스트 | ✅ | 19 | 14 | 0 | 16.2 |
| 54 | FAQ 테스트 | ✅ | 16 | 12 | 0 | 12.8 |
| 55 | 공지사항 테스트 | ✅ | 19 | 15 | 0 | 15.7 |
| 56 | 부서관리 테스트 | ✅ | 16 | 16 | 0 | 8.8 |
| 57 | 입금관리 테스트 | ✅ | 21 | 20 | 0 | 16.1 |
| 58 | 상세 조회 왕복 검증: 회계 | ✅ | 23 | 23 | 0 | 32.6 |
| 59 | 상세 조회 왕복 검증: 인사/게시판 | ✅ | 15 | 15 | 0 | 25.6 |
| 60 | 상세 조회 왕복 검증: 판매 | ✅ | 23 | 23 | 0 | 32.6 |
| 61 | 목록↔상세 필드별 대조 검증: 매출관리 | ✅ | 12 | 12 | 0 | 23.0 |
| 62 | 기안함 테스트 | ✅ | 17 | 15 | 0 | 12.6 |
| 63 | 엣지 케이스: 경계값 입력 검증 (회계 > 매출관리) | ✅ | 14 | 14 | 0 | 23.5 |
| 64 | 엣지 케이스: 경계값 입력 (회계 > 입금관리) | ✅ | 14 | 14 | 0 | 23.2 |
| 65 | 엣지 케이스: 경계값 입력 (인사 > 사원관리) | ✅ | 14 | 14 | 0 | 23.3 |
| 66 | 엣지 케이스: 경계값 입력 (판매 > 거래처관리) | ✅ | 14 | 14 | 0 | 23.3 |
| 67 | 엣지 케이스: 동시 액션 (인사 > 근태관리) | ✅ | 5 | 5 | 0 | 13.8 |
| 68 | 엣지 케이스: 빈 폼 제출 (회계 > 입금관리) | ✅ | 7 | 7 | 0 | 19.0 |
| 69 | 엣지 케이스: 빈 폼 제출 (게시판 > 자유게시판) | ✅ | 7 | 7 | 0 | 19.0 |
| 70 | 엣지 케이스: 빈 폼 제출 (인사 > 사원관리) | ✅ | 7 | 7 | 0 | 19.0 |
| 71 | 엣지 케이스: 빈 폼 제출 (판매 > 거래처관리) | ✅ | 7 | 7 | 0 | 19.0 |
| 72 | 엣지 케이스: 숫자 경계값 (회계 > 입금관리) | ✅ | 13 | 13 | 0 | 23.5 |
| 73 | 엣지 케이스: UI 내구성 연타 테스트 (회계 > 매출관리) | ✅ | 10 | 10 | 0 | 27.2 |
| 74 | 엣지 케이스: 삭제 버튼 연타 (게시판 > 자유게시판) | ✅ | 6 | 6 | 0 | 15.8 |
| 75 | 엣지 케이스: 저장 버튼 연타 (게시판 > 자유게시판) | ✅ | 7 | 7 | 0 | 19.8 |
| 76 | 엣지 케이스: 저장 버튼 연타 (판매 > 거래처관리) | ✅ | 7 | 7 | 0 | 19.8 |
| 77 | 엣지 케이스: 특수문자 검색 (게시판 > 자유게시판) | ✅ | 14 | 14 | 0 | 31.9 |
| 78 | 엣지 케이스: 특수문자 검색 (판매 > 거래처관리) | ✅ | 14 | 14 | 0 | 31.9 |
| 79 | 엣지 케이스: 유니코드 입력 (게시판 > 자유게시판) | ✅ | 10 | 10 | 0 | 20.3 |
| 80 | 폼 유효성 검증 감사: 회계 (어음/입금/출금) | ✅ | 20 | 20 | 0 | 43.1 |
| 81 | 폼 유효성 검증 감사: 생산/게시판 | ✅ | 13 | 13 | 0 | 25.1 |
| 82 | 폼 유효성 검증 감사: 판매 (거래처/수주/견적) | ✅ | 20 | 20 | 0 | 43.1 |
| 83 | 자유게시판 E2E 테스트 | ✅ | 22 | 22 | 0 | 13.4 |
| 84 | Full CRUD 테스트: 어음관리 (Enhanced) | ✅ | 32 | 32 | 0 | 66.2 |
| 85 | Full CRUD 테스트: 입금관리 (금액포맷+상세대조+API검증) | ✅ | 35 | 35 | 0 | 55.8 |
| 86 | Full CRUD 테스트: 매출관리 (계산검증+상세대조+API검증) | ✅ | 33 | 33 | 0 | 54.0 |
| 87 | Full CRUD 테스트: 자유게시판 (Enhanced) | ✅ | 33 | 33 | 0 | 63.8 |
| 88 | 근태관리 테스트 | ✅ | 14 | 14 | 0 | 10.1 |
| 89 | 근태현황 테스트 | ✅ | 17 | 14 | 0 | 11.3 |
| 90 | 부서관리 테스트 | ✅ | 14 | 14 | 0 | 9.8 |
| 91 | 사원관리 테스트 | ✅ | 22 | 22 | 0 | 13.3 |
| 92 | 급여 장기요양보험 필드 검증 테스트 | ✅ | 16 | 16 | 0 | 17.0 |
| 93 | 급여관리 테스트 | ✅ | 23 | 23 | 0 | 13.0 |
| 94 | 휴가관리 테스트 | ✅ | 25 | 19 | 0 | 23.1 |
| 95 | 입력 필드 전수 테스트: 어음/입금/출금 (1/5) | ✅ | 20 | 20 | 0 | 75.2 |
| 96 | 입력 필드 전수 테스트: 거래처(회계)/악성채권 (2/5) | ✅ | 13 | 13 | 0 | 60.3 |
| 97 | 입력 필드 전수 테스트: 입고/제품검사 (5/5) | ✅ | 13 | 13 | 0 | 30.4 |
| 98 | 입력 필드 전수 테스트: 작업지시/작업실적 (4/5) | ✅ | 13 | 13 | 0 | 20.5 |
| 99 | 입력 필드 전수 테스트: 거래처(판매)/수주/견적 (3/5) | ✅ | 20 | 20 | 0 | 41.2 |
| 100 | 품목관리 테스트 | ✅ | 16 | 12 | 0 | 15.2 |
| 101 | 품목기준관리 테스트 | ✅ | 14 | 13 | 0 | 11.0 |
| 102 | 인증 세션 테스트 | ✅ | 13 | 12 | 0 | 4.8 |
| 103 | 배차차량관리 목록/검색/상세/등록폼/필터/페이지네이션 테스트 | ✅ | 23 | 22 | 0 | 14.3 |
| 104 | 입고관리 테스트 | ✅ | 25 | 19 | 0 | 20.6 |
| 105 | 재고현황 테스트 | ✅ | 18 | 16 | 0 | 10.0 |
| 106 | 다중 품목 등록 + 자동계산 + 품목삭제 재계산: 매출관리 | ✅ | 22 | 22 | 0 | 43.3 |
| 107 | 페이지네이션 & 정렬 검증: 회계 | ✅ | 17 | 17 | 0 | 39.1 |
| 108 | 페이지네이션 & 정렬 검증: 인사/게시판 | ✅ | 11 | 11 | 0 | 27.6 |
| 109 | 페이지네이션 & 정렬 검증: 판매 | ✅ | 17 | 17 | 0 | 37.1 |
| 110 | PDF 다운로드 전체 검사 | ✅ | 5 | 5 | 0 | 1.1 |
| 111 | 성능 측정: 회계관리 > 거래처관리 | ✅ | 5 | 5 | 0 | 9.0 |
| 112 | 성능 측정: 회계관리 > 입금관리 | ✅ | 5 | 5 | 0 | 9.0 |
| 113 | 성능 측정: 회계관리 > 매입관리 | ✅ | 5 | 5 | 0 | 9.0 |
| 114 | 성능 측정: 회계관리 > 매출관리 | ✅ | 5 | 5 | 0 | 9.0 |
| 115 | 성능 측정: 인사관리 > 근태관리 | ✅ | 5 | 5 | 0 | 9.0 |
| 116 | 성능 측정: 인사관리 > 부서관리 | ✅ | 5 | 5 | 0 | 9.0 |
| 117 | 성능 측정: 인사관리 > 사원관리 | ✅ | 5 | 5 | 0 | 8.9 |
| 118 | 성능 측정: 인사관리 > 급여관리 | ✅ | 5 | 5 | 0 | 8.9 |
| 119 | 성능 측정: 자재관리 > 입고관리 | ✅ | 5 | 5 | 0 | 9.0 |
| 120 | 성능 측정: 자재관리 > 재고현황 | ✅ | 5 | 5 | 0 | 9.0 |
| 121 | 성능 측정: 생산관리 > 품목관리 | ✅ | 5 | 5 | 0 | 9.0 |
| 122 | 성능 측정: 생산관리 > 작업지시 | ✅ | 5 | 5 | 0 | 9.0 |
| 123 | 성능 측정: 생산관리 > 작업실적 | ✅ | 5 | 5 | 0 | 9.0 |
| 124 | 성능 측정: 판매관리 > 거래처관리 | ✅ | 5 | 5 | 0 | 9.0 |
| 125 | 성능 측정: 판매관리 > 견적관리 | ✅ | 5 | 5 | 0 | 8.9 |
| 126 | 성능 측정: 판매관리 > 수주관리 | ✅ | 5 | 5 | 0 | 9.0 |
| 127 | 성능 측정: 판매관리 > 단가관리 | ✅ | 5 | 5 | 0 | 9.0 |
| 128 | 생산 현황판 테스트 | ✅ | 12 | 10 | 0 | 12.8 |
| 129 | 생산품목관리 테스트 | ✅ | 14 | 13 | 0 | 11.0 |
| 130 | 작업지시 CRUD + 필드검증 + API확인: 생산관리 | ✅ | 30 | 30 | 0 | 41.4 |
| 131 | 작업실적 테스트 | ✅ | 23 | 19 | 0 | 18.5 |
| 132 | 작업자 화면 테스트 | ✅ | 14 | 13 | 0 | 11.0 |
| 133 | 발주관리 테스트 | ✅ | 12 | 10 | 0 | 14.8 |
| 134 | 구매 단가관리 테스트 | ✅ | 11 | 8 | 0 | 21.6 |
| 135 | 구매현황 테스트 | ✅ | 9 | 8 | 0 | 13.0 |
| 136 | 구매관리 거래처관리 테스트 | ✅ | 11 | 9 | 0 | 14.8 |
| 137 | 품질인정심사 시스템 테스트 | ✅ | 14 | 14 | 0 | 9.5 |
| 138 | 제품검사관리 테스트 | ✅ | 17 | 17 | 0 | 12.0 |
| 139 | 실적신고관리 테스트 | ✅ | 12 | 12 | 0 | 9.5 |
| 140 | 참조함 E2E 테스트 | ✅ | 40 | 37 | 0 | 29.7 |
| 141 | 새로고침 데이터 유지 검증: 어음관리 | ✅ | 18 | 18 | 0 | 45.2 |
| 142 | 새로고침 데이터 유지 검증: 입금관리 | ✅ | 16 | 16 | 0 | 52.0 |
| 143 | 새로고침 데이터 유지 검증: 매출관리 | ✅ | 16 | 16 | 0 | 48.3 |
| 144 | 새로고침 데이터 유지 검증: 자유게시판 | ✅ | 19 | 19 | 0 | 55.5 |
| 145 | 판매거래처관리 테스트 | ✅ | 23 | 19 | 0 | 19.4 |
| 146 | Full CRUD 테스트: 매출관리 | ✅ | 23 | 23 | 0 | 60.7 |
| 147 | 수주 일괄삭제 테스트 | ✅ | 20 | 20 | 0 | 39.5 |
| 148 | 수주관리 CRUD + 계산검증 테스트 | ✅ | 32 | 32 | 0 | 48.2 |
| 149 | 단가관리 테스트 | ✅ | 26 | 24 | 0 | 14.3 |
| 150 | 견적관리 CRUD + 계산검증 테스트 | ✅ | 32 | 31 | 0 | 45.5 |
| 151 | 현장관리 테스트 | ✅ | 11 | 9 | 0 | 14.8 |
| 152 | 기안함 검색 버그 상세 검증 | ✅ | 11 | 11 | 0 | 25.1 |
| 153 | 급여관리 검색 버그 상세 검증 | ✅ | 10 | 10 | 0 | 27.1 |
| 154 | 검색/필터/페이지네이션 테스트: 매출관리 | ✅ | 18 | 18 | 0 | 32.6 |
| 155 | 검색 기능 동작 검증: 회계 | ✅ | 20 | 20 | 0 | 52.2 |
| 156 | 검색 기능 감사: 회계관리 (1/6) | ✅ | 20 | 20 | 0 | 43.3 |
| 157 | 검색 기능 감사: 회계관리2+인사관리 (2/6) | ✅ | 20 | 20 | 0 | 36.4 |
| 158 | 검색 기능 감사: 게시판/고객센터/설정1 (5/6) | ✅ | 20 | 20 | 0 | 36.6 |
| 159 | 검색 기능 감사: 생산/품목/품질/자재 (3/6) | ✅ | 20 | 20 | 0 | 29.8 |
| 160 | 검색 기능 감사: 판매/출고/결재 (4/6) | ✅ | 16 | 16 | 0 | 37.6 |
| 161 | 검색 기능 감사: 설정2 (6/6) | ✅ | 14 | 14 | 0 | 23.5 |
| 162 | 검색 기능 동작 검증: 인사/게시판 | ✅ | 13 | 13 | 0 | 39.5 |
| 163 | 검색 기능 동작 검증: 판매 | ✅ | 20 | 20 | 0 | 40.7 |
| 164 | 검색 옵션 전수 테스트: 회계거래처/입금/출금 (1/10) | ✅ | 11 | 11 | 0 | 90.8 |
| 165 | 검색 옵션 전수 테스트: 매입/매출/카드내역 (2/10) | ✅ | 11 | 11 | 0 | 72.5 |
| 166 | 검색 옵션 전수 테스트: 어음/추심/계좌 (3/11) | ✅ | 11 | 11 | 0 | 59.9 |
| 167 | 검색 옵션 전수 테스트: 미수금/결제/지출예상 (4/11) | ✅ | 11 | 11 | 0 | 50.2 |
| 168 | 검색 옵션 전수 테스트: 결재관리 (6/10) | ✅ | 11 | 11 | 0 | 78.4 |
| 169 | 검색 옵션 전수 테스트: 게시판/고객센터 (5/10) | ✅ | 19 | 19 | 0 | 84.6 |
| 170 | 검색 옵션 전수 테스트: 인사관리 전체 (4/10) | ❌ | 27 | 26 | 1 | 128.4 |
| 171 | 검색 옵션 전수 테스트: 생산/품목관리 (8/11) | ✅ | 19 | 19 | 0 | 49.3 |
| 172 | 검색 옵션 전수 테스트: 품질/자재관리 (9/10) | ✅ | 15 | 15 | 0 | 73.6 |
| 173 | 검색 옵션 전수 테스트: 판매관리/출고 (7/11) | ✅ | 19 | 19 | 0 | 41.2 |
| 174 | 검색 옵션 전수 테스트: 설정 (10/11) | ✅ | 19 | 19 | 0 | 40.2 |
| 175 | 계정정보 테스트 | ✅ | 16 | 14 | 0 | 12.2 |
| 176 | 근태설정 테스트 | ✅ | 16 | 13 | 0 | 11.4 |
| 177 | 계좌관리 테스트 | ✅ | 23 | 21 | 0 | 13.2 |
| 178 | 바로빌연동관리 테스트 | ✅ | 8 | 6 | 0 | 12.5 |
| 179 | 달력 일정 CRUD 테스트 | ✅ | 16 | 16 | 0 | 33.8 |
| 180 | 달력관리 테스트 | ✅ | 8 | 7 | 0 | 11.0 |
| 181 | 카드관리 목록/검색/상세/등록폼/페이지네이션 테스트 | ✅ | 23 | 22 | 0 | 14.3 |
| 182 | 회사정보 테스트 | ✅ | 16 | 13 | 0 | 14.5 |
| 183 | 알림설정 테스트 | ✅ | 16 | 13 | 0 | 14.2 |
| 184 | 권한관리 테스트 | ✅ | 20 | 18 | 0 | 13.7 |
| 185 | 팝업관리 테스트 | ✅ | 23 | 21 | 0 | 14.8 |
| 186 | 직책관리 테스트 | ✅ | 13 | 13 | 0 | 11.3 |
| 187 | 직급관리 테스트 | ✅ | 13 | 12 | 0 | 11.3 |
| 188 | 구독관리 테스트 | ✅ | 16 | 12 | 0 | 14.6 |
| 189 | 휴가정책 테스트 | ✅ | 16 | 15 | 0 | 8.6 |
| 190 | 근무일정 테스트 | ✅ | 16 | 15 | 0 | 10.2 |
| 191 | 점검표 관리 테스트 | ✅ | 11 | 8 | 0 | 19.1 |
| 192 | 단가배포관리 테스트 | ✅ | 11 | 8 | 0 | 19.1 |
| 193 | 공정관리 테스트 | ✅ | 12 | 10 | 0 | 13.0 |
| 194 | 시스템 대시보드 위젯/통계/현황판/자금현황/지출예상/설정 테스트 | ✅ | 20 | 19 | 0 | 11.6 |
| 195 | Test bills 14 steps | ✅ | 14 | 14 | 0 | 99.4 |
| 196 | Test bills page minimal | ✅ | 3 | 3 | 0 | 7.0 |
| 197 | 거래처원장 테스트 | ✅ | 34 | 30 | 0 | 22.4 |
| 198 | 거래처관리 검색/필터/상세/수정/복원 + 네거티브 + 섹션검증: 회계관리 | ❌ | 36 | 35 | 1 | 47.5 |
| 199 | 출금관리 테스트 | ✅ | 21 | 20 | 0 | 16.2 |
| 200 | 비즈니스 워크플로우: 게시판→결재기안→결재함 흐름 | ✅ | 15 | 15 | 0 | 29.6 |
| 201 | 비즈니스 워크플로우: 사원등록→부서→근태→급여 흐름 | ✅ | 14 | 14 | 0 | 37.5 |
| 202 | 비즈니스 워크플로우: 품목→입고→재고→출고 흐름 | ✅ | 15 | 15 | 0 | 38.8 |
| 203 | 비즈니스 워크플로우: 구매→매입 흐름 | ✅ | 7 | 7 | 0 | 21.7 |
| 204 | 비즈니스 워크플로우: 거래처→단가→수주→매출 흐름 | ✅ | 22 | 22 | 0 | 27.0 |
## 비즈니스 워크플로우 상세
### ✅ 비즈니스 워크플로우: 게시판→결재기안→결재함 흐름
- 스텝: 15/15 성공 | 소요: 29.6초
- 단계: CAPTURE_POST(✅) → CHECK_DRAFTS(✅) → CHECK_APPROVALS(✅) → CHECK_REFERENCES(✅)
### ✅ 비즈니스 워크플로우: 사원등록→부서→근태→급여 흐름
- 스텝: 14/14 성공 | 소요: 37.5초
- 단계: CAPTURE_EMPLOYEE(✅) → CHECK_DEPARTMENTS(✅) → VERIFY_EMPLOYEE_ATTEND(✅) → VERIFY_EMPLOYEE_SALARY(✅)
### ✅ 비즈니스 워크플로우: 품목→입고→재고→출고 흐름
- 스텝: 15/15 성공 | 소요: 38.8초
- 단계: CAPTURE_ITEM(✅) → VERIFY_ITEM_RECEIVING(✅) → VERIFY_ITEM_STOCK(✅) → CHECK_WITHDRAWAL(✅)
### ✅ 비즈니스 워크플로우: 구매→매입 흐름
- 스텝: 7/7 성공 | 소요: 21.7초
- 단계: CAPTURE_VENDOR(✅) → VERIFY_VENDOR_ACC(✅)
### ✅ 비즈니스 워크플로우: 거래처→단가→수주→매출 흐름
- 스텝: 22/22 성공 | 소요: 27.0초
- 단계: INIT(✅) → CAPTURE_CLIENT(✅) → VERIFY(✅) → CAPTURE_PRICE_ITEM(✅) → VERIFY(✅) → CHECK_ORDERS(✅) → VERIFY(✅) → CHECK_SALES(✅) → VERIFY(✅) → VERIFY(✅) → SUMMARY(✅)
## 성능 테스트 요약
| 페이지 | 로드 시간 | 등급 | API 평균 | DOM 노드 |
|--------|----------|------|---------|----------|
| 성능 측정: 회계관리 > 거래처관리 | - | - | - | - |
| 성능 측정: 회계관리 > 입금관리 | - | - | - | - |
| 성능 측정: 회계관리 > 매입관리 | - | - | - | - |
| 성능 측정: 회계관리 > 매출관리 | - | - | - | - |
| 성능 측정: 인사관리 > 근태관리 | - | - | - | - |
| 성능 측정: 인사관리 > 부서관리 | - | - | - | - |
| 성능 측정: 인사관리 > 사원관리 | - | - | - | - |
| 성능 측정: 인사관리 > 급여관리 | - | - | - | - |
| 성능 측정: 자재관리 > 입고관리 | - | - | - | - |
| 성능 측정: 자재관리 > 재고현황 | - | - | - | - |
| 성능 측정: 생산관리 > 품목관리 | - | - | - | - |
| 성능 측정: 생산관리 > 작업지시 | - | - | - | - |
| 성능 측정: 생산관리 > 작업실적 | - | - | - | - |
| 성능 측정: 판매관리 > 거래처관리 | - | - | - | - |
| 성능 측정: 판매관리 > 견적관리 | - | - | - | - |
| 성능 측정: 판매관리 > 수주관리 | - | - | - | - |
| 성능 측정: 판매관리 > 단가관리 | - | - | - | - |
## 접근성 검사 요약
| 페이지 | 점수 | 등급 | Critical | Serious | Moderate |
|--------|------|------|----------|---------|----------|
| 접근성 검사: 회계관리 > 거래처관리 | - | - | - | - | - |
| 접근성 검사: 회계관리 > 입금관리 | - | - | - | - | - |
| 접근성 검사: 회계관리 > 매입관리 | - | - | - | - | - |
| 접근성 검사: 회계관리 > 매출관리 | - | - | - | - | - |
| 접근성 검사: 결재관리 > 결재함 | - | - | - | - | - |
| 접근성 검사: 결재관리 > 기안함 | - | - | - | - | - |
| 접근성 검사: 게시판 > 자유게시판 | - | - | - | - | - |
| 접근성 검사: 인사관리 > 근태관리 | - | - | - | - | - |
| 접근성 검사: 인사관리 > 부서관리 | - | - | - | - | - |
| 접근성 검사: 인사관리 > 사원관리 | - | - | - | - | - |
| 접근성 검사: 인사관리 > 급여관리 | - | - | - | - | - |
| 접근성 검사: 자재관리 > 입고관리 | - | - | - | - | - |
| 접근성 검사: 자재관리 > 재고현황 | - | - | - | - | - |
| 접근성 검사: 생산관리 > 품목관리 | - | - | - | - | - |
| 접근성 검사: 생산관리 > 작업지시 | - | - | - | - | - |
| 접근성 검사: 판매관리 > 거래처관리 | - | - | - | - | - |
| 접근성 검사: 판매관리 > 견적관리 | - | - | - | - | - |
| 접근성 검사: 판매관리 > 수주관리 | - | - | - | - | - |
## 실패 시나리오 상세
### ❌ 검색 옵션 전수 테스트: 인사관리 전체 (4/10) (search-options-hr)
- **진단**: empty_data → API 응답은 있으나 테이블 데이터 없음. 데이터 변환 또는 필터 문제
- Step 26 ([인사관리 > 부서관리] 테이블 로드 대기): Step timeout (>5s): [인사관리 > 부서관리] 테이블 로드 대기
### ❌ 거래처관리 검색/필터/상세/수정/복원 + 네거티브 + 섹션검증: 회계관리 (vendor-management)
- Step 28 ([회계관리 > 거래처관리] [EDIT] 저장 완료 확인 (목록 복귀 + 에러 없음)): evaluate returned ok:false
## ⚠️ 불안정 테스트 (Flaky Tests)
최근 3일간 성공과 실패가 모두 발생한 시나리오:
| 시나리오 | 성공 횟수 | 실패 횟수 | 안정성 |
|---------|----------|----------|--------|
| login-test | 3 | 5 | 🔴 38% |
| attendance-management | 4 | 3 | 🟠 57% |
| inspection-management | 1 | 3 | 🔴 25% |
| approval-box | 4 | 2 | 🟠 67% |
| attendance-checkin | 4 | 2 | 🟠 67% |
| attendance-settings | 1 | 2 | 🔴 33% |
| company-info | 4 | 2 | 🟠 67% |
| customer-inquiry | 1 | 2 | 🔴 33% |
| department-add | 4 | 2 | 🟠 67% |
| employee-register | 1 | 2 | 🔴 33% |
| item-management | 4 | 2 | 🟠 67% |
| vendor-management | 3 | 2 | 🟠 60% |
| bad-debt-collection | 1 | 1 | 🟠 50% |
| bank-account-management | 1 | 1 | 🟠 50% |
| bank-transactions | 1 | 1 | 🟠 50% |
| bill-management | 1 | 1 | 🟠 50% |
| board-management | 4 | 1 | 🟡 80% |
| board-test | 5 | 1 | 🟡 83% |
| card-add | 1 | 1 | 🟠 50% |
| card-transactions | 1 | 1 | 🟠 50% |
| comprehensive-analysis | 1 | 1 | 🟠 50% |
| daily-report | 1 | 1 | 🟠 50% |
| deposit-management | 4 | 1 | 🟡 80% |
| draft-box | 5 | 1 | 🟡 83% |
| event-board | 1 | 1 | 🟠 50% |
| expected-expenses | 1 | 1 | 🟠 50% |
| faq | 1 | 1 | 🟠 50% |
| free-board | 5 | 1 | 🟡 83% |
| inventory-status | 1 | 1 | 🟠 50% |
| item-standard-management | 1 | 1 | 🟠 50% |
| leave-policy | 1 | 1 | 🟠 50% |
| notification-settings | 1 | 1 | 🟠 50% |
| order-management | 1 | 1 | 🟠 50% |
| permission-management | 1 | 1 | 🟠 50% |
| popup-management | 1 | 1 | 🟠 50% |
| position-management | 1 | 1 | 🟠 50% |
| price-management | 1 | 1 | 🟠 50% |
| process-management | 1 | 1 | 🟠 50% |
| production-dashboard | 4 | 1 | 🟡 80% |
| quality-certification | 4 | 1 | 🟡 80% |
| rank-management | 1 | 1 | 🟠 50% |
| receivables-status | 1 | 1 | 🟠 50% |
| receiving-management | 1 | 1 | 🟠 50% |
| reference-box | 4 | 1 | 🟡 80% |
| salary-management | 1 | 1 | 🟠 50% |
| sales-management | 4 | 1 | 🟡 80% |
| search-options-hr | 2 | 1 | 🟠 67% |
| shipment-management | 1 | 1 | 🟠 50% |
| vacation-management | 1 | 1 | 🟠 50% |
| vendor-ledger | 4 | 1 | 🟡 80% |
| withdrawal-management | 4 | 1 | 🟡 80% |
| work-order-management | 1 | 1 | 🟠 50% |
| worker-screen | 1 | 1 | 🟠 50% |
## 📊 트렌드 분석
| 항목 | 이전 실행 | 현재 실행 | 변화 |
|------|---------|---------|------|
| 전체 | 204 | 204 | +0 |
| 성공 | 204 | 202 | 📉 -2 |
| 실패 | 0 | 2 | 📉 +2 |
이전 실행: 2026-03-08_10-41-29
### 🔴 새로 실패한 시나리오 (2개)
- 검색 옵션 전수 테스트: 인사관리 전체 (4/10)
- 거래처관리 검색/필터/상세/수정/복원 + 네거티브 + 섹션검증: 회계관리

View File

@@ -0,0 +1,83 @@
# E2E 전체 테스트 결과 요약
**실행 시간**: 2026-03-08_13-06-06
**총 소요 시간**: 0.3분
**전체 시나리오**: 1개 | **성공**: 1개 | **실패**: 0개 📉 (이전: 202/204 성공)
## 카테고리별 요약
| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
|---------|-----------|------|------|--------|
| 기능 테스트 | 1 | 1 | 0 | 100% |
## 시나리오별 결과
| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
|---|---------|------|------|------|------|---------|
| 1 | 회계거래처관리 테스트 | ✅ | 23 | 20 | 0 | 18.2 |
## ⚠️ 불안정 테스트 (Flaky Tests)
최근 3일간 성공과 실패가 모두 발생한 시나리오:
| 시나리오 | 성공 횟수 | 실패 횟수 | 안정성 |
|---------|----------|----------|--------|
| login-test | 3 | 5 | 🔴 38% |
| attendance-management | 4 | 3 | 🟠 57% |
| inspection-management | 1 | 3 | 🔴 25% |
| approval-box | 4 | 2 | 🟠 67% |
| attendance-checkin | 4 | 2 | 🟠 67% |
| attendance-settings | 1 | 2 | 🔴 33% |
| company-info | 4 | 2 | 🟠 67% |
| customer-inquiry | 1 | 2 | 🔴 33% |
| department-add | 4 | 2 | 🟠 67% |
| employee-register | 1 | 2 | 🔴 33% |
| item-management | 4 | 2 | 🟠 67% |
| vendor-management | 3 | 2 | 🟠 60% |
| bad-debt-collection | 1 | 1 | 🟠 50% |
| bank-account-management | 1 | 1 | 🟠 50% |
| bank-transactions | 1 | 1 | 🟠 50% |
| bill-management | 1 | 1 | 🟠 50% |
| board-management | 4 | 1 | 🟡 80% |
| board-test | 5 | 1 | 🟡 83% |
| card-add | 1 | 1 | 🟠 50% |
| card-transactions | 1 | 1 | 🟠 50% |
| comprehensive-analysis | 1 | 1 | 🟠 50% |
| daily-report | 1 | 1 | 🟠 50% |
| deposit-management | 4 | 1 | 🟡 80% |
| draft-box | 5 | 1 | 🟡 83% |
| event-board | 1 | 1 | 🟠 50% |
| expected-expenses | 1 | 1 | 🟠 50% |
| faq | 1 | 1 | 🟠 50% |
| free-board | 5 | 1 | 🟡 83% |
| inventory-status | 1 | 1 | 🟠 50% |
| item-standard-management | 1 | 1 | 🟠 50% |
| leave-policy | 1 | 1 | 🟠 50% |
| notification-settings | 1 | 1 | 🟠 50% |
| order-management | 1 | 1 | 🟠 50% |
| permission-management | 1 | 1 | 🟠 50% |
| popup-management | 1 | 1 | 🟠 50% |
| position-management | 1 | 1 | 🟠 50% |
| price-management | 1 | 1 | 🟠 50% |
| process-management | 1 | 1 | 🟠 50% |
| production-dashboard | 4 | 1 | 🟡 80% |
| quality-certification | 4 | 1 | 🟡 80% |
| rank-management | 1 | 1 | 🟠 50% |
| receivables-status | 1 | 1 | 🟠 50% |
| receiving-management | 1 | 1 | 🟠 50% |
| reference-box | 4 | 1 | 🟡 80% |
| salary-management | 1 | 1 | 🟠 50% |
| sales-management | 4 | 1 | 🟡 80% |
| search-options-hr | 2 | 1 | 🟠 67% |
| shipment-management | 1 | 1 | 🟠 50% |
| vacation-management | 1 | 1 | 🟠 50% |
| vendor-ledger | 4 | 1 | 🟡 80% |
| withdrawal-management | 4 | 1 | 🟡 80% |
| work-order-management | 1 | 1 | 🟠 50% |
| worker-screen | 1 | 1 | 🟠 50% |
## 📊 트렌드 분석
| 항목 | 이전 실행 | 현재 실행 | 변화 |
|------|---------|---------|------|
| 전체 | 204 | 1 | -203 |
| 성공 | 202 | 1 | 📉 -201 |
| 실패 | 2 | 0 | 📈 -2 |
이전 실행: 2026-03-08_13-04-25

View File

@@ -0,0 +1,97 @@
# E2E 전체 테스트 결과 요약
**실행 시간**: 2026-03-08_13-09-44
**총 소요 시간**: 0.7분
**전체 시나리오**: 3개 | **성공**: 3개 | **실패**: 0개 📈 (이전: 1/1 성공)
## 카테고리별 요약
| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
|---------|-----------|------|------|--------|
| 접근성 검사 | 1 | 1 | 0 | 100% |
| 성능 테스트 | 1 | 1 | 0 | 100% |
| 기능 테스트 | 1 | 1 | 0 | 100% |
## 시나리오별 결과
| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
|---|---------|------|------|------|------|---------|
| 1 | 접근성 검사: 판매관리 > 거래처관리 | ✅ | 4 | 3 | 0 | 12.8 |
| 2 | 성능 측정: 판매관리 > 거래처관리 | ✅ | 5 | 5 | 0 | 9.0 |
| 3 | 판매거래처관리 테스트 | ✅ | 23 | 19 | 0 | 19.5 |
## 성능 테스트 요약
| 페이지 | 로드 시간 | 등급 | API 평균 | DOM 노드 |
|--------|----------|------|---------|----------|
| 성능 측정: 판매관리 > 거래처관리 | - | - | - | - |
## 접근성 검사 요약
| 페이지 | 점수 | 등급 | Critical | Serious | Moderate |
|--------|------|------|----------|---------|----------|
| 접근성 검사: 판매관리 > 거래처관리 | - | - | - | - | - |
## ⚠️ 불안정 테스트 (Flaky Tests)
최근 3일간 성공과 실패가 모두 발생한 시나리오:
| 시나리오 | 성공 횟수 | 실패 횟수 | 안정성 |
|---------|----------|----------|--------|
| login-test | 3 | 5 | 🔴 38% |
| attendance-management | 4 | 3 | 🟠 57% |
| inspection-management | 1 | 3 | 🔴 25% |
| approval-box | 4 | 2 | 🟠 67% |
| attendance-checkin | 4 | 2 | 🟠 67% |
| attendance-settings | 1 | 2 | 🔴 33% |
| company-info | 4 | 2 | 🟠 67% |
| customer-inquiry | 1 | 2 | 🔴 33% |
| department-add | 4 | 2 | 🟠 67% |
| employee-register | 1 | 2 | 🔴 33% |
| item-management | 4 | 2 | 🟠 67% |
| vendor-management | 3 | 2 | 🟠 60% |
| bad-debt-collection | 1 | 1 | 🟠 50% |
| bank-account-management | 1 | 1 | 🟠 50% |
| bank-transactions | 1 | 1 | 🟠 50% |
| bill-management | 1 | 1 | 🟠 50% |
| board-management | 4 | 1 | 🟡 80% |
| board-test | 5 | 1 | 🟡 83% |
| card-add | 1 | 1 | 🟠 50% |
| card-transactions | 1 | 1 | 🟠 50% |
| comprehensive-analysis | 1 | 1 | 🟠 50% |
| daily-report | 1 | 1 | 🟠 50% |
| deposit-management | 4 | 1 | 🟡 80% |
| draft-box | 5 | 1 | 🟡 83% |
| event-board | 1 | 1 | 🟠 50% |
| expected-expenses | 1 | 1 | 🟠 50% |
| faq | 1 | 1 | 🟠 50% |
| free-board | 5 | 1 | 🟡 83% |
| inventory-status | 1 | 1 | 🟠 50% |
| item-standard-management | 1 | 1 | 🟠 50% |
| leave-policy | 1 | 1 | 🟠 50% |
| notification-settings | 1 | 1 | 🟠 50% |
| order-management | 1 | 1 | 🟠 50% |
| permission-management | 1 | 1 | 🟠 50% |
| popup-management | 1 | 1 | 🟠 50% |
| position-management | 1 | 1 | 🟠 50% |
| price-management | 1 | 1 | 🟠 50% |
| process-management | 1 | 1 | 🟠 50% |
| production-dashboard | 4 | 1 | 🟡 80% |
| quality-certification | 4 | 1 | 🟡 80% |
| rank-management | 1 | 1 | 🟠 50% |
| receivables-status | 1 | 1 | 🟠 50% |
| receiving-management | 1 | 1 | 🟠 50% |
| reference-box | 4 | 1 | 🟡 80% |
| salary-management | 1 | 1 | 🟠 50% |
| sales-management | 4 | 1 | 🟡 80% |
| search-options-hr | 2 | 1 | 🟠 67% |
| shipment-management | 1 | 1 | 🟠 50% |
| vacation-management | 1 | 1 | 🟠 50% |
| vendor-ledger | 4 | 1 | 🟡 80% |
| withdrawal-management | 4 | 1 | 🟡 80% |
| work-order-management | 1 | 1 | 🟠 50% |
| worker-screen | 1 | 1 | 🟠 50% |
## 📊 트렌드 분석
| 항목 | 이전 실행 | 현재 실행 | 변화 |
|------|---------|---------|------|
| 전체 | 1 | 3 | +2 |
| 성공 | 1 | 3 | 📈 +2 |
| 실패 | 0 | 0 | ➡️ 동일 |
이전 실행: 2026-03-08_13-06-06

View File

@@ -0,0 +1,77 @@
# ❌ E2E 테스트 실패: 검색 옵션 전수 테스트: 인사관리 전체 (4/10)
**테스트 ID**: search-options-hr | **실행**: 2026-03-08_12-50-29 | **결과**: FAIL
**소요 시간**: 128.4초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 27 | 26 | 1 | 0 | 96% |
## 실패 스텝
| # | 스텝 | Phase | 에러 |
|---|------|-------|------|
| 26 | [인사관리 > 부서관리] 테이블 로드 대기 | - | Step timeout (>5s): [인사관리 > 부서관리] 테이블 로드 대기 |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [인사관리 > 사원관리] 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
| 2 | [인사관리 > 사원관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 2 rows |
| 3 | [인사관리 > 사원관리] 검색 옵션 전수 테스트 | - | ✅ | 6680ms | evaluate ok |
| 4 | [인사관리 > 근태관리] 메뉴 이동 | - | ✅ | 512ms | Menu navigation: 인사관리 > 근태관리 |
| 5 | [인사관리 > 근태관리] 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
| 6 | [인사관리 > 근태관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 2 rows |
| 7 | [인사관리 > 근태관리] 검색 옵션 전수 테스트 | - | ✅ | 6652ms | evaluate ok |
| 8 | [인사관리 > 근태현황] 메뉴 이동 | - | ✅ | 2507ms | Menu navigation: 인사관리 > 근태현황 |
| 9 | [인사관리 > 근태현황] 페이지 로드 대기 | - | ✅ | 3020ms | Waited 3000ms |
| 10 | [인사관리 > 근태현황] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
| 11 | [인사관리 > 근태현황] 검색 옵션 전수 테스트 | - | ✅ | 0ms | evaluate ok |
| 12 | [인사관리 > 급여관리] 메뉴 이동 | - | ✅ | 2513ms | Menu navigation: 인사관리 > 급여관리 |
| 13 | [인사관리 > 급여관리] 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
| 14 | [인사관리 > 급여관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 15 | [인사관리 > 급여관리] 검색 옵션 전수 테스트 | - | ✅ | 0ms | evaluate ok |
| 16 | [인사관리 > 휴가관리] 메뉴 이동 | - | ✅ | 2512ms | Menu navigation: 인사관리 > 휴가관리 |
| 17 | [인사관리 > 휴가관리] 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
| 18 | [인사관리 > 휴가관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 19 | [인사관리 > 휴가관리] 검색 옵션 전수 테스트 | - | ✅ | 10774ms | evaluate ok |
| 20 | [인사관리 > 카드관리] 메뉴 이동 | - | ✅ | 507ms | Menu navigation: 인사관리 > 카드관리 |
| 21 | [인사관리 > 카드관리] 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
| 22 | [인사관리 > 카드관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 23 | [인사관리 > 카드관리] 검색 옵션 전수 테스트 | - | ✅ | 10764ms | evaluate ok |
| 24 | [인사관리 > 부서관리] 메뉴 이동 | - | ✅ | 2515ms | Menu navigation: 인사관리 > 부서관리 |
| 25 | [인사관리 > 부서관리] 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
| 26 | [인사관리 > 부서관리] 테이블 로드 대기 | - | ❌ | 5010ms | Step timeout (>5s): [인사관리 > 부서관리] 테이블 로드 대기 |
| 27 | [인사관리 > 부서관리] 검색 옵션 전수 테스트 | - | ✅ | 0ms | evaluate ok |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 19 | 19 | 0 | 85ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/employee-management |
## 자동 진단
| 항목 | 내용 |
|------|------|
| 근본 원인 | **empty_data** |
| 스크린샷 | diag_search-options-hr_2026-03-08_12-50-29.png |
### 권장 조치
1. API 응답은 있으나 테이블 데이터 없음. 데이터 변환 또는 필터 문제
### 콘솔 에러 (진단)
1. `Loading the stylesheet 'https://fonts.googleapis.com/css?family=Google+Sans+Text:400&text=%E2%86%90%E2%86%92%E2%86%91%E2%86%93&lang=ko' violates the following Content Security Policy directive: "style`
2. `Loading the stylesheet 'https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans:400,500,700|Google+Sans+Text:400,500,700&lang=ko' violates the following Content Security Policy dire`
### 페이지 상태
| 항목 | 값 |
|------|----|
| DOM 노드 | 548 |
| 테이블 행 | 0 |
| API 호출 수 | 19 |
| 로딩 스피너 | No |

View File

@@ -0,0 +1,79 @@
# ❌ E2E 테스트 실패: 거래처관리 검색/필터/상세/수정/복원 + 네거티브 + 섹션검증: 회계관리
**테스트 ID**: vendor-management | **실행**: 2026-03-08_13-01-34 | **결과**: FAIL
**소요 시간**: 47.5초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 36 | 35 | 1 | 0 | 97% |
## 실패 스텝
| # | 스텝 | Phase | 에러 |
|---|------|-------|------|
| 28 | [회계관리 > 거래처관리] [EDIT] 저장 완료 확인 (목록 복귀 + 에러 없음) | VERIFY | evaluate returned ok:false |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 거래처관리] 사이드바 메뉴 전체 펼치기 | - | ✅ | 2310ms | json_fail:Unexpected token 'm', "menu expanded" is not valid JSON/raw:menu expan |
| 2 | [회계관리 > 거래처관리] 2단계 메뉴 진입 | - | ✅ | 2510ms | Menu navigation: 회계관리 > 거래처관리 |
| 3 | [회계관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
| 4 | [회계관리 > 거래처관리] ts 초기화 + 콘솔 에러 모니터링 | - | ✅ | 0ms | evaluate ok |
| 5 | [회계관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 6 | [회계관리 > 거래처관리] 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 85 buttons |
| 7 | [회계관리 > 거래처관리] 통계 카드 확인 | VERIFY | ✅ | 1ms | STATS / 45 통계 카드 확인 |
| 8 | [회계관리 > 거래처관리] 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 20 rows |
| 9 | [회계관리 > 거래처관리] [SEARCH] 가우스 검색 | SEARCH | ✅ | 1511ms | SEARCH_POSITIVE |
| 10 | [회계관리 > 거래처관리] [SEARCH] 검색 결과 행 데이터 검증 | - | ✅ | 0ms | No text to verify |
| 11 | [회계관리 > 거래처관리] [SEARCH] 검색 초기화 | SEARCH | ✅ | 1507ms | SEARCH_RESET |
| 12 | [회계관리 > 거래처관리] [SEARCH-NEG] 존재하지 않는 키워드 검색 | SEARCH | ✅ | 1513ms | SEARCH_NEGATIVE / pass: 0 results confirmed / rows:1 |
| 13 | [회계관리 > 거래처관리] [SEARCH-NEG] 검색 초기화 복원 | SEARCH | ✅ | 1507ms | SEARCH_RESTORE |
| 14 | [회계관리 > 거래처관리] [FILTER] 구분 필터 매출 선택 | FILTER | ✅ | 2008ms | FILTER_SALES / 모든 행이 매출 타입 / rows:20 |
| 15 | [회계관리 > 거래처관리] [FILTER+SEARCH] 매출 필터 + 가우스 검색 복합 테스트 | FILTER | ✅ | 1509ms | FILTER_PLUS_SEARCH / rows=1, allKeyword=false, allSales=false / rows:1 |
| 16 | [회계관리 > 거래처관리] [FILTER] 구분 필터 전체로 복원 + 검색 초기화 | FILTER | ✅ | 3018ms | FILTER_RESET / rows:20 |
| 17 | [회계관리 > 거래처관리] [DETAIL] 첫 행 셀 값 캡처 | CAPTURE | ✅ | 503ms | CAPTURE / rows:20 |
| 18 | [회계관리 > 거래처관리] [DETAIL] 첫 행 클릭 → 상세 진입 | READ | ✅ | 2503ms | DETAIL_ENTER |
| 19 | [회계관리 > 거래처관리] [DETAIL] 상세 페이지 로드 대기 | - | ✅ | 2000ms | Waited 2000ms |
| 20 | [회계관리 > 거래처관리] [DETAIL] URL 확인 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/vendors/168?mode=view |
| 21 | [회계관리 > 거래처관리] [DETAIL] 전체 섹션 필드 수 검증 (6개 섹션) | VERIFY | ✅ | 1ms | SECTION_VERIFY / 6/6 섹션 확인 |
| 22 | [회계관리 > 거래처관리] [DETAIL] 상세 필드 1:1 대조 (목록 캡처 vs 상세) | VERIFY | ✅ | 0ms | DETAIL_MATCH |
| 23 | [회계관리 > 거래처관리] [DETAIL] 헤더 버튼 확인 (목록/수정/삭제) | VERIFY | ✅ | 1ms | HEADER_BTNS |
| 24 | [회계관리 > 거래처관리] [EDIT] 수정 버튼 클릭 | UPDATE | ✅ | 2002ms | EDIT_ENTER |
| 25 | [회계관리 > 거래처관리] [EDIT] 수정 모드 URL 확인 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/vendors/168?mode=edit |
| 26 | [회계관리 > 거래처관리] [EDIT] 다중 필드 원본 값 캡처 + 수정 | UPDATE | ✅ | 440ms | MULTI_EDIT |
| 27 | [회계관리 > 거래처관리] [EDIT] 저장 클릭 | UPDATE | ✅ | 3006ms | SAVE |
| 28 | [회계관리 > 거래처관리] [EDIT] 저장 완료 확인 (목록 복귀 + 에러 없음) | VERIFY | ❌ | 1503ms | evaluate returned ok:false |
| 29 | [회계관리 > 거래처관리] [EDIT] 목록에서 수정 반영 확인 | VERIFY | ✅ | 1005ms | VERIFY_EDIT / PASS: 수정된 데이터 목록에 반영 / rows:20 |
| 30 | [회계관리 > 거래처관리] [VERIFY-EDIT] 수정된 거래처 재진입하여 저장 검증 | VERIFY | ✅ | 2505ms | RE_ENTER_DETAIL |
| 31 | [회계관리 > 거래처관리] [RESTORE] 수정 모드 진입 | RESTORE | ✅ | 1502ms | RESTORE_EDIT |
| 32 | [회계관리 > 거래처관리] [RESTORE] 원래 값 복원 (다중 필드) | RESTORE | ✅ | 34ms | RESTORE_VALUES / 3 fields restored |
| 33 | [회계관리 > 거래처관리] [RESTORE] 저장 클릭 | RESTORE | ✅ | 3003ms | RESTORE_SAVE |
| 34 | [회계관리 > 거래처관리] [RESTORE] 복원 완료 확인 | VERIFY | ✅ | 1001ms | RESTORE_VERIFY / PASS: 원복 완료 |
| 35 | [회계관리 > 거래처관리] [FINAL] 목록 페이지 최종 확인 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/vendors |
| 36 | [회계관리 > 거래처관리] [FINAL] API 요약 + 콘솔 에러 확인 | VERIFY | ✅ | 1ms | FINAL_SUMMARY / API calls: 22, errors: 0 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 22 | 22 | 0 | 52ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/vendors |
## 자동 진단
| 항목 | 내용 |
|------|------|
| 근본 원인 | **unknown** |
| 스크린샷 | diag_vendor-management_2026-03-08_13-01-34.png |
### 페이지 상태
| 항목 | 값 |
|------|----|
| DOM 노드 | 1706 |
| 테이블 행 | 20 |
| API 호출 수 | 22 |
| 로딩 스피너 | No |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 거래처관리
**테스트 ID**: a11y-acc-client | **실행**: 2026-03-08_11-35-27 | **결과**: PASS
**소요 시간**: 12.8초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1518ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2202ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/vendors |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 입금관리
**테스트 ID**: a11y-acc-deposit | **실행**: 2026-03-08_11-35-40 | **결과**: PASS
**소요 시간**: 12.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1512ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2216ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/deposits |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 매입관리
**테스트 ID**: a11y-acc-purchase | **실행**: 2026-03-08_11-35-51 | **결과**: PASS
**소요 시간**: 11.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 4 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 1 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=75 PASS (C:0 S:5 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2234ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/purchase |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 매출관리
**테스트 ID**: a11y-acc-sales | **실행**: 2026-03-08_11-36-04 | **결과**: PASS
**소요 시간**: 12.6초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1513ms | A11y: score=0 FAIL (C:0 S:63 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2175ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/sales |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 결재관리 > 결재함
**테스트 ID**: a11y-approval-box | **실행**: 2026-03-08_11-36-15 | **결과**: PASS
**소요 시간**: 11.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 4 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 0ms | A11y: score=85 PASS (C:0 S:3 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2228ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/approval/inbox |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 결재관리 > 기안함
**테스트 ID**: a11y-approval-draft | **실행**: 2026-03-08_11-36-26 | **결과**: PASS
**소요 시간**: 11.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 4 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 2 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=75 PASS (C:0 S:5 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2229ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/approval/draft |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 게시판 > 자유게시판
**테스트 ID**: a11y-board-free | **실행**: 2026-03-08_11-36-39 | **결과**: PASS
**소요 시간**: 12.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1502ms | A11y: score=35 FAIL (C:0 S:13 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2187ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/boards/free |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 근태관리
**테스트 ID**: a11y-hr-attendance | **실행**: 2026-03-08_11-36-52 | **결과**: PASS
**소요 시간**: 12.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1518ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2203ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/attendance-management |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 부서관리
**테스트 ID**: a11y-hr-department | **실행**: 2026-03-08_11-37-05 | **결과**: PASS
**소요 시간**: 12.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
| 2 | 페이지 콘텐츠 로드 확인 | - | ✅ | 1ms | Found: text=부서관리 |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1517ms | A11y: score=35 FAIL (C:0 S:13 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2238ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/department-management |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 사원관리
**테스트 ID**: a11y-hr-employee | **실행**: 2026-03-08_11-37-17 | **결과**: PASS
**소요 시간**: 12.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3000ms | Waited 3000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1509ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2195ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/employee-management |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 급여관리
**테스트 ID**: a11y-hr-salary | **실행**: 2026-03-08_11-37-28 | **결과**: PASS
**소요 시간**: 11.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 4 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 2 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 0ms | A11y: score=75 PASS (C:0 S:5 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2239ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/salary-management |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 자재관리 > 입고관리
**테스트 ID**: a11y-material-receiving | **실행**: 2026-03-08_11-37-41 | **결과**: PASS
**소요 시간**: 12.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 5 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1511ms | A11y: score=60 FAIL (C:0 S:8 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2264ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/material/receiving-management |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 자재관리 > 재고현황
**테스트 ID**: a11y-material-stock | **실행**: 2026-03-08_11-37-52 | **결과**: PASS
**소요 시간**: 11.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 4 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3010ms | Waited 3000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 1 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 0ms | A11y: score=85 PASS (C:0 S:3 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2233ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/material/stock-status |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 생산관리 > 품목관리
**테스트 ID**: a11y-prod-item | **실행**: 2026-03-08_11-38-04 | **결과**: PASS
**소요 시간**: 11.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 4 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
| 2 | 페이지 콘텐츠 로드 확인 | - | ✅ | 1ms | Found: text=품목기준관리 |
| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=88 PASS (C:0 S:2 M:1) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2206ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/dashboard |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 생산관리 > 작업지시
**테스트 ID**: a11y-prod-work-order | **실행**: 2026-03-08_11-38-16 | **결과**: PASS
**소요 시간**: 12.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1519ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2208ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/production/work-orders |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 거래처관리
**테스트 ID**: a11y-sales-client | **실행**: 2026-03-08_11-38-29 | **결과**: PASS
**소요 시간**: 12.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1519ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2192ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 거래처관리
**테스트 ID**: a11y-sales-client | **실행**: 2026-03-08_13-09-15 | **결과**: PASS
**소요 시간**: 12.8초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1504ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2241ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 견적관리
**테스트 ID**: a11y-sales-estimate | **실행**: 2026-03-08_11-38-40 | **결과**: PASS
**소요 시간**: 11.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 4 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3000ms | Waited 3000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=85 PASS (C:0 S:3 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2232ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/sales/quote-management |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 판매관리 > 수주관리
**테스트 ID**: a11y-sales-order | **실행**: 2026-03-08_11-38-53 | **결과**: PASS
**소요 시간**: 12.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 12 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1523ms | A11y: score=25 FAIL (C:0 S:15 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2214ms | Keyboard: 0 focusable, 0 with indicator, allVisible=true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/sales/order-management-sales |

View File

@@ -0,0 +1,48 @@
# ✅ E2E 테스트 성공: 악성채권추심관리 테스트
**테스트 ID**: accounting-bad-debt | **실행**: 2026-03-08_11-39-04 | **결과**: PASS
**소요 시간**: 11.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 24 | 22 | 0 | 2 | 92% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 악성채권추심관리 | - | ✅ | 511ms | Menu navigation: 회계관리 > 악성채권추심관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/bad-debt-collection |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 60 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 16 "... is not valid JSON/raw:Stats: 16 |
| 5 | 악성채권 테이블 구조 확인 | - | ✅ | 0ms | Table: 10 cols, 5 rows |
| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 6" is not valid JSON/raw:Filters |
| 7 | 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
| 8 | [CREATE] 채권 등록 버튼 클릭 | CREATE | ✅ | 2ms | Element not present (ok): button:has-text('등록'), button:has-text('추가'), button:h |
| 9 | [CREATE] 거래처 선택 | CREATE | ✅ | 305ms | Clicked (existed): select[name*='vendor'], input[placeholder*='거래처'] |
| 10 | [CREATE] 채권금액 입력 | CREATE | ✅ | 2ms | Element not present (ok): input[name*='amount'], input[placeholder*='금액'] |
| 11 | [CREATE] 필수 검증 #2: 채권 저장 | CREATE | ✅ | 1ms | Element not present (ok): button:has-text('저장'), button:has-text('등록'), button:h |
| 12 | [CREATE] 저장 완료 토스트 확인 | CREATE | ✅ | 517ms | Toast visible: "" |
| 13 | [READ] 등록된 채권 검색 | READ | ✅ | 310ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
| 14 | [READ] 등록된 채권 확인 | READ | ⚠️ | 1522ms | Detail checks: 0/1 matched |
| 15 | [READ] 채권 상세 조회 | READ | ✅ | 1ms | Element not present (ok): table tbody tr:has-text('E2E_TEST_채권거래처') |
| 16 | 상세 정보 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
| 17 | [UPDATE] 상태 변경 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('상태변경'), select[name*='status'] |
| 18 | [UPDATE] 추심 메모 추가 | UPDATE | ✅ | 0ms | Element not present (ok): textarea[name*='memo'], textarea[placeholder*='메모'] |
| 19 | [UPDATE] 변경 저장 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('저장'), button:has-text('확인') |
| 20 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ✅ | 502ms | Toast visible: "" |
| 21 | [DELETE] 채권 삭제 | DELETE | ✅ | 1ms | Element not present (ok): button:has-text('삭제'), button:has-text('제거') |
| 22 | [DELETE] 삭제 확인 | DELETE | ✅ | 0ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
| 23 | [DELETE] 삭제 확인 | DELETE | ⚠️ | 1514ms | Detail checks: 0/1 matched |
| 24 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/bad-debt-collection |

View File

@@ -0,0 +1,42 @@
# ✅ E2E 테스트 성공: 계좌입출금내역 테스트
**테스트 ID**: accounting-bank-transaction | **실행**: 2026-03-08_11-39-14 | **결과**: PASS
**소요 시간**: 10.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 18 | 16 | 0 | 2 | 89% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 계좌입출금내역 | - | ✅ | 513ms | Menu navigation: 회계관리 > 계좌입출금내역 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/bank-transactions |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 51 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Stats: 21 "... is not valid JSON/raw:Stats: 21 |
| 5 | 거래내역 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 6 rows |
| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 2" is not valid JSON/raw:Filters |
| 7 | 계좌 선택 드롭다운 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 8 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 0ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
| 9 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1506ms | Detail checks: 0/1 matched |
| 11 | [READ] 거래 상세 보기 | READ | ✅ | 305ms | Clicked (existed): table tbody tr:first-child |
| 12 | 상세 정보 확인 | - | ⚠️ | 1513ms | Detail checks: 0/3 matched |
| 13 | 목록으로 돌아가기 | - | ✅ | 309ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
| 14 | 입금 합계 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
| 15 | 출금 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 16 | 엑셀 다운로드 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 17 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 18 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/bank-transactions |

View File

@@ -0,0 +1,48 @@
# ✅ E2E 테스트 성공: 어음관리 테스트
**테스트 ID**: accounting-bill | **실행**: 2026-03-08_11-39-37 | **결과**: PASS
**소요 시간**: 23.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 24 | 18 | 0 | 6 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 어음관리 | - | ✅ | 2507ms | Menu navigation: 회계관리 > 어음관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/bills |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 83 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 42 "... is not valid JSON/raw:Stats: 42 |
| 5 | 어음 테이블 구조 확인 | - | ✅ | 0ms | Table: 10 cols, 20 rows |
| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 3" is not valid JSON/raw:Filters |
| 7 | 검색 기능 테스트 | - | ✅ | 303ms | Clicked (existed): input[placeholder*='검색'] |
| 8 | [CREATE] 어음 등록 버튼 클릭 | CREATE | ✅ | 303ms | Clicked (existed): 등록 |
| 9 | [CREATE] 어음 정보 입력 | CREATE | ✅ | 554ms | fill_form: 3/3 filled |
| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 310ms | Clicked (existed): 저장 |
| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 3039ms | No toast/notification found |
| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 0ms | No modal open |
| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1506ms | Detail checks: 0/0 matched |
| 14 | [READ] 어음 상세 페이지 진입 | READ | ✅ | 306ms | Clicked (existed): table tbody tr:first-child |
| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1521ms | Detail checks: 0/4 matched |
| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 1ms | Element not present (ok): 수정 |
| 17 | [UPDATE] 메모 수정 | UPDATE | ✅ | 0ms | Element not present (ok): textarea[name*='memo'] |
| 18 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 303ms | Clicked (existed): 저장 |
| 19 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 3022ms | No toast/notification found |
| 20 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1528ms | Detail checks: 0/1 matched |
| 21 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 305ms | Clicked (existed): 삭제 |
| 22 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 305ms | Clicked (existed): 확인 |
| 23 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1515ms | Detail checks: 0/0 matched |
| 24 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 2 | 2 | 0 | 60ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/bills |

View File

@@ -0,0 +1,42 @@
# ✅ E2E 테스트 성공: 카드사용내역 테스트
**테스트 ID**: accounting-card-history | **실행**: 2026-03-08_11-39-48 | **결과**: PASS
**소요 시간**: 10.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 18 | 16 | 0 | 2 | 89% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 카드사용내역 | - | ✅ | 508ms | Menu navigation: 회계관리 > 카드사용내역 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/card-transactions |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 61 inputs, 130 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 36 "... is not valid JSON/raw:Stats: 36 |
| 5 | 카드내역 테이블 구조 확인 | - | ✅ | 0ms | Table: 17 cols, 15 rows |
| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 32" is not valid JSON/raw:Filter |
| 7 | 카드 선택 드롭다운 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 8 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
| 9 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 2ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1519ms | Detail checks: 0/1 matched |
| 11 | [READ] 카드 사용내역 상세 보기 | READ | ✅ | 314ms | Clicked (existed): table tbody tr:first-child |
| 12 | 상세 정보 확인 | - | ⚠️ | 1510ms | Detail checks: 0/4 matched |
| 13 | 목록으로 돌아가기 | - | ✅ | 313ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
| 14 | 사용금액 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 15 | 카드별 사용 현황 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
| 16 | 엑셀 다운로드 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 17 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 18 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/card-transactions |

View File

@@ -0,0 +1,47 @@
# ✅ E2E 테스트 성공: 회계거래처관리 테스트
**테스트 ID**: accounting-client | **실행**: 2026-03-08_11-40-05 | **결과**: PASS
**소요 시간**: 17.8초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 23 | 20 | 0 | 3 | 87% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 거래처관리 | - | ✅ | 2514ms | Menu navigation: 회계관리 > 거래처관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/vendors |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 84 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
| 5 | 거래처 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 20 rows |
| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
| 7 | [CREATE] 거래처 등록 버튼 클릭 | CREATE | ✅ | 307ms | Clicked (existed): button:has-text('거래처 등록'), button:has-text('등록'), button:has- |
| 8 | [CREATE] 거래처 정보 입력 | CREATE | ✅ | 621ms | fill_form: 4/5 filled |
| 9 | [CREATE] 거래처 구분 선택 | CREATE | ✅ | 306ms | Clicked (existed): #clientType-매출, label:has-text('매출') input[type='radio'], but |
| 10 | [CREATE] 필수 검증 #2: 거래처 저장 | CREATE | ✅ | 304ms | Clicked (existed): button:has-text('저장'), button:has-text('등록'), button:has-text |
| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 3031ms | No toast/notification found |
| 12 | [READ] 등록된 거래처 검색 | READ | ✅ | 305ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
| 13 | [READ] 등록된 거래처 목록 확인 | READ | ⚠️ | 1506ms | Detail checks: 0/1 matched |
| 14 | [READ] 거래처 상세 조회 | READ | ✅ | 306ms | Clicked (existed): table tbody tr:first-child, table tbody tr:nth-child(1), tabl |
| 15 | 상세 페이지 정보 확인 | - | ✅ | 1ms | Checks: 3/3 verified |
| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 305ms | Clicked (existed): button:has-text('수정'), button:has-text('편집') |
| 17 | [UPDATE] 거래처 정보 수정 | UPDATE | ✅ | 0ms | Element not present (ok): input[name*='name'], input[placeholder*='거래처명'] |
| 18 | [UPDATE] 거래처 저장 | UPDATE | ✅ | 311ms | Clicked (existed): button:has-text('저장'), button:has-text('확인') |
| 19 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ✅ | 501ms | Toast visible: "" |
| 20 | [DELETE] 거래처 삭제 | DELETE | ✅ | 1ms | Element not present (ok): button:has-text('삭제'), button:has-text('제거') |
| 21 | [DELETE] 삭제 확인 | DELETE | ✅ | 2ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
| 22 | [DELETE] 삭제 확인 | DELETE | ⚠️ | 1507ms | Detail checks: 0/1 matched |
| 23 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 18 | 18 | 0 | 44ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/vendors |

View File

@@ -0,0 +1,47 @@
# ✅ E2E 테스트 성공: 회계거래처관리 테스트
**테스트 ID**: accounting-client | **실행**: 2026-03-08_13-06-06 | **결과**: PASS
**소요 시간**: 18.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 23 | 20 | 0 | 3 | 87% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 거래처관리 | - | ✅ | 2506ms | Menu navigation: 회계관리 > 거래처관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/vendors |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 85 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 1ms | Checks: 3/3 verified |
| 5 | 거래처 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 20 rows |
| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
| 7 | [CREATE] 거래처 등록 버튼 클릭 | CREATE | ✅ | 313ms | Clicked (existed): button:has-text('거래처 등록'), button:has-text('등록'), button:has- |
| 8 | [CREATE] 거래처 정보 입력 | CREATE | ✅ | 903ms | fill_form: 5/5 filled |
| 9 | [CREATE] 거래처 구분 선택 | CREATE | ✅ | 305ms | Clicked (existed): #clientType-매출, label:has-text('매출') input[type='radio'], but |
| 10 | [CREATE] 필수 검증 #2: 거래처 저장 | CREATE | ✅ | 306ms | Clicked (existed): button:has-text('저장'), button:has-text('등록'), button:has-text |
| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 3026ms | No toast/notification found |
| 12 | [READ] 등록된 거래처 검색 | READ | ✅ | 303ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
| 13 | [READ] 등록된 거래처 목록 확인 | READ | ⚠️ | 1514ms | Detail checks: 0/1 matched |
| 14 | [READ] 거래처 상세 조회 | READ | ✅ | 305ms | Clicked (existed): table tbody tr:first-child, table tbody tr:nth-child(1), tabl |
| 15 | 상세 페이지 정보 확인 | - | ✅ | 1ms | Checks: 3/3 verified |
| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 304ms | Clicked (existed): button:has-text('수정'), button:has-text('편집') |
| 17 | [UPDATE] 거래처 정보 수정 | UPDATE | ✅ | 0ms | Element not present (ok): input[name*='name'], input[placeholder*='거래처명'] |
| 18 | [UPDATE] 거래처 저장 | UPDATE | ✅ | 307ms | Clicked (existed): button:has-text('저장'), button:has-text('확인') |
| 19 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ✅ | 502ms | Toast visible: "" |
| 20 | [DELETE] 거래처 삭제 | DELETE | ✅ | 2ms | Element not present (ok): button:has-text('삭제'), button:has-text('제거') |
| 21 | [DELETE] 삭제 확인 | DELETE | ✅ | 1ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
| 22 | [DELETE] 삭제 확인 | DELETE | ⚠️ | 1516ms | Detail checks: 0/1 matched |
| 23 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 18 | 18 | 0 | 44ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/vendors |

View File

@@ -0,0 +1,34 @@
# ✅ E2E 테스트 성공: 일일 일보 테스트
**테스트 ID**: accounting-daily-report | **실행**: 2026-03-08_11-40-17 | **결과**: PASS
**소요 시간**: 11.5초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 10 | 10 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 일일 일보 | - | ✅ | 2510ms | Menu navigation: 회계관리 > 일일 일보 |
| 2 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 30 buttons |
| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 16 rows |
| 5 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 27 cards" is not valid JSON/raw:Stats: 2 |
| 6 | 일보 테이블 구조 확인 | - | ✅ | 0ms | Table: 4 cols, 1 rows |
| 7 | [FILTER] 날짜 필터 | FILTER | ✅ | 0ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
| 8 | [FILTER] 조회 버튼 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
| 9 | 인쇄/다운로드 버튼 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'E', "Export but"... is not valid JSON/raw:Export but |
| 10 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/daily-report |

View File

@@ -0,0 +1,49 @@
# ✅ E2E 테스트 성공: 입금관리 테스트
**테스트 ID**: accounting-deposit | **실행**: 2026-03-08_11-40-39 | **결과**: PASS
**소요 시간**: 22.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 25 | 19 | 0 | 6 | 76% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 입금관리 | - | ✅ | 2504ms | Menu navigation: 회계관리 > 입금관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/deposits |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 89 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Stats: 47 "... is not valid JSON/raw:Stats: 47 |
| 5 | 입금 테이블 구조 확인 | - | ✅ | 0ms | Table: 8 cols, 20 rows |
| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 6" is not valid JSON/raw:Filters |
| 7 | 검색 기능 테스트 | - | ✅ | 301ms | Clicked (existed): input[placeholder*='검색'] |
| 8 | [CREATE] 입금 등록 버튼 클릭 | CREATE | ✅ | 304ms | Clicked (existed): button:has-text('등록'), button:has-text('입금 등록'), button:has-t |
| 9 | [CREATE] 입금 정보 입력 | CREATE | ✅ | 457ms | fill_form: 3/3 filled |
| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 309ms | Clicked (existed): button:has-text('저장'), button:has-text('등록') |
| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 3025ms | No toast/notification found |
| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 0ms | No modal open |
| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1501ms | Detail checks: 0/0 matched |
| 14 | [READ] 입금 상세 페이지 진입 | READ | ✅ | 1ms | Element not present (ok): table tbody tr:first-child, table tbody tr:nth-child(1 |
| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1519ms | Detail checks: 0/3 matched |
| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 0ms | Element not present (ok): button:has-text('수정') |
| 17 | [UPDATE] 금액 수정 | UPDATE | ✅ | 306ms | Clicked (existed): input[name*='amount'], input[placeholder*='금액'] |
| 18 | [UPDATE] 메모 수정 | UPDATE | ✅ | 0ms | Element not present (ok): textarea[name*='memo'], input[placeholder*='메모'] |
| 19 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('저장') |
| 20 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 3043ms | No toast/notification found |
| 21 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1511ms | Detail checks: 0/2 matched |
| 22 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 1ms | Element not present (ok): button:has-text('삭제') |
| 23 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 0ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
| 24 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1516ms | Detail checks: 0/0 matched |
| 25 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 3 | 3 | 0 | 56ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/deposits |

View File

@@ -0,0 +1,40 @@
# ✅ E2E 테스트 성공: 지출예상내역서 테스트
**테스트 ID**: accounting-expense-forecast | **실행**: 2026-03-08_11-40-49 | **결과**: PASS
**소요 시간**: 9.5초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 16 | 14 | 0 | 2 | 88% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 지출예상내역서 | - | ✅ | 508ms | Menu navigation: 회계관리 > 지출예상내역서 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/expected-expenses |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 79 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 51 "... is not valid JSON/raw:Stats: 51 |
| 5 | 지출예상 테이블 구조 확인 | - | ✅ | 0ms | Table: 8 cols, 30 rows |
| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
| 7 | 기간 선택 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 8 | [FILTER] 월 선택 | FILTER | ✅ | 1ms | Element not present (ok): input[type='month'], select[name*='month'], [class*='m |
| 9 | [FILTER] 조회 적용 | FILTER | ✅ | 2ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1504ms | Detail checks: 0/1 matched |
| 11 | 지출 카테고리별 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
| 12 | 합계 금액 확인 | - | ⚠️ | 1515ms | Detail checks: 0/1 matched |
| 13 | 일별 지출 예상 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 14 | 주요 지출 항목 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 15 | 이전/다음 기간 네비게이션 | - | ✅ | 0ms | Checks: 1/1 verified |
| 16 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/expected-expenses |

View File

@@ -0,0 +1,35 @@
# ✅ E2E 테스트 성공: 상품권관리 테스트
**테스트 ID**: accounting-gift-card | **실행**: 2026-03-08_11-41-02 | **결과**: PASS
**소요 시간**: 13.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 11 | 9 | 0 | 2 | 82% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 상품권관리 | - | ✅ | 509ms | Menu navigation: 회계관리 > 상품권관리 |
| 2 | 페이지 로드 대기 | - | ✅ | 3015ms | Waited 3000ms |
| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 38 buttons |
| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
| 5 | 상품권 테이블 구조 확인 | - | ✅ | 0ms | Table: 9 cols, 1 rows |
| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 214ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1517ms | Detail checks: 0/1 matched |
| 8 | 등록 버튼 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'C', "Create but"... is not valid JSON/raw:Create but |
| 9 | 상세 행 클릭 | - | ✅ | 307ms | Clicked (existed): table tbody tr:first-child |
| 10 | 상세 정보 확인 | - | ⚠️ | 1516ms | Detail checks: 0/1 matched |
| 11 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 2 | 2 | 0 | 42ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/gift-certificates |

View File

@@ -0,0 +1,36 @@
# ✅ E2E 테스트 성공: 일반전표입력 테스트
**테스트 ID**: accounting-journal-entry | **실행**: 2026-03-08_11-41-17 | **결과**: PASS
**소요 시간**: 15.0초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 12 | 10 | 0 | 2 | 83% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 일반전표입력 | - | ✅ | 2509ms | Menu navigation: 회계관리 > 일반전표입력 |
| 2 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 42 buttons |
| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 8 rows |
| 5 | 전표 테이블 구조 확인 | - | ✅ | 1ms | Table: 10 cols, 8 rows |
| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 202ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1507ms | Detail checks: 0/1 matched |
| 8 | [FILTER] 기간 필터 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
| 9 | 등록 버튼 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'C', "Create but"... is not valid JSON/raw:Create but |
| 10 | 상세 행 클릭 | - | ✅ | 307ms | Clicked (existed): table tbody tr:first-child |
| 11 | 상세 정보 확인 | - | ⚠️ | 1519ms | Detail checks: 0/1 matched |
| 12 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 2 | 2 | 0 | 70ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/general-journal-entry |

View File

@@ -0,0 +1,42 @@
# ✅ E2E 테스트 성공: 결제내역 테스트
**테스트 ID**: accounting-payment | **실행**: 2026-03-08_11-41-32 | **결과**: PASS
**소요 시간**: 15.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 18 | 14 | 0 | 4 | 78% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 결제내역 | - | ✅ | 2511ms | Menu navigation: 회계관리 > 결제내역 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/payment-history |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 0 inputs, 51 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 28 "... is not valid JSON/raw:Stats: 28 |
| 5 | 결제내역 페이지 구조 확인 | - | ⚠️ | 1514ms | Checks: 0/4 verified |
| 6 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 1ms | Element not present (ok): input[type='date']:first-of-type, input[name*='start'] |
| 7 | [FILTER] 기간 필터 - 종료일 | FILTER | ✅ | 0ms | Element not present (ok): input[type='date']:last-of-type, input[name*='end'] |
| 8 | [FILTER] 조회 버튼 클릭 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색') |
| 9 | [READ] 결제 테이블 구조 확인 | READ | ✅ | 0ms | Table: 6 cols, 13 rows |
| 10 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No filter "... is not valid JSON/raw:No filter |
| 11 | [READ] 결제 데이터 표시 확인 | READ | ⚠️ | 1519ms | Detail checks: 0/2 matched |
| 12 | [FILTER] 결제방법 필터 테스트 | FILTER | ✅ | 2ms | Element not present (ok): select[name*='method'], button:has-text('결제방법'), [clas |
| 13 | [FILTER] 상태 필터 테스트 | FILTER | ⚠️ | 1511ms | Checks: 0/1 verified |
| 14 | [READ] 결제 상세 조회 | READ | ✅ | 306ms | Clicked (existed): table tbody tr:first-child, [class*='list'] [class*='item']:f |
| 15 | 결제 상세 정보 확인 | - | ⚠️ | 1517ms | Detail checks: 0/4 matched |
| 16 | 목록으로 돌아가기 | - | ✅ | 317ms | Clicked (existed): button:has-text('목록'), button:has-text('뒤로'), [class*='back'] |
| 17 | 합계 금액 표시 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 18 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/payment-history |

View File

@@ -0,0 +1,40 @@
# ✅ E2E 테스트 성공: 매입관리 테스트
**테스트 ID**: accounting-purchase | **실행**: 2026-03-08_11-41-44 | **결과**: PASS
**소요 시간**: 12.5초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 16 | 14 | 0 | 2 | 88% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 매입관리 | - | ✅ | 2519ms | Menu navigation: 회계관리 > 매입관리 |
| 2 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 44 buttons |
| 3 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 8 cards found" is not valid JSON/raw:Sta |
| 4 | 매입 테이블 구조 확인 | - | ✅ | 0ms | Table: 9 cols, 1 rows |
| 5 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 4" is not valid JSON/raw:Filters |
| 6 | 매입 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
| 7 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 0ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
| 8 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 1ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
| 9 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1521ms | Detail checks: 0/1 matched |
| 10 | [FILTER] 거래처별 필터 | FILTER | ✅ | 306ms | Clicked (existed): select[name*='vendor'], button:has-text('거래처') |
| 11 | [READ] 매입 상세 보기 | READ | ✅ | 306ms | Clicked (existed): table tbody tr:first-child |
| 12 | 상세 정보 확인 | - | ⚠️ | 1522ms | Detail checks: 0/3 matched |
| 13 | 목록으로 돌아가기 | - | ✅ | 304ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
| 14 | 매입 합계 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
| 15 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 16 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 5 | 5 | 0 | 51ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/purchase |

View File

@@ -0,0 +1,43 @@
# ✅ E2E 테스트 성공: 미수금현황 테스트
**테스트 ID**: accounting-receivable | **실행**: 2026-03-08_11-41-58 | **결과**: PASS
**소요 시간**: 13.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 19 | 16 | 0 | 3 | 84% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 미수금현황 | - | ✅ | 524ms | Menu navigation: 회계관리 > 미수금현황 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/receivables-status |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 153 inputs, 254 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 5ms | json_fail:Unexpected token 'S', "Stats: 461"... is not valid JSON/raw:Stats: 461 |
| 5 | 미수금 테이블 구조 확인 | - | ✅ | 1ms | Table: 15 cols, 380 rows |
| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 2" is not valid JSON/raw:Filters |
| 7 | 통계 카드 확인 | - | ✅ | 1ms | Checks: 2/3 verified |
| 8 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 823ms | json_fail:Unexpected token 'F', "Filter inp"... is not valid JSON/raw:Filter inp |
| 9 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1521ms | Detail checks: 0/0 matched |
| 10 | [SEARCH] 거래처 검색 | SEARCH | ✅ | 307ms | Clicked (existed): input[placeholder*='검색'] |
| 11 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1507ms | Detail checks: 0/0 matched |
| 12 | [READ] 미수금 상세 클릭 | READ | ✅ | 310ms | Clicked (existed): table tbody tr:first-child |
| 13 | [READ] 상세 정보 확인 | READ | ⚠️ | 1510ms | Detail checks: 0/3 matched |
| 14 | [READ] 목록으로 복귀 | READ | ✅ | 8ms | Element not present (ok): 목록 |
| 15 | [EXPORT] 엑셀 다운로드 버튼 확인 | EXPORT | ✅ | 1ms | Checks: 1/1 verified |
| 16 | [EXPORT] 필수 검증 #1: 엑셀 다운로드 | EXPORT | ✅ | 319ms | Clicked (existed): 엑셀 |
| 17 | [SORT] 컬럼 정렬 테스트 | SORT | ✅ | 9ms | Element not present (ok): 미수금액 |
| 18 | 연체 현황 탭 확인 | - | ✅ | 325ms | Clicked (existed): 연체 |
| 19 | 콘솔 에러 확인 | - | ✅ | 4ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/receivables-status |

View File

@@ -0,0 +1,40 @@
# ✅ E2E 테스트 성공: 매출관리 테스트
**테스트 ID**: accounting-sales | **실행**: 2026-03-08_11-42-10 | **결과**: PASS
**소요 시간**: 12.5초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 16 | 14 | 0 | 2 | 88% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 매출관리 | - | ✅ | 2507ms | Menu navigation: 회계관리 > 매출관리 |
| 2 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 205 buttons |
| 3 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 127"... is not valid JSON/raw:Stats: 127 |
| 4 | 매출 테이블 구조 확인 | - | ✅ | 0ms | Table: 10 cols, 20 rows |
| 5 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
| 6 | 매출 통계 카드 확인 | - | ✅ | 1ms | Checks: 3/3 verified |
| 7 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 2ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
| 8 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 2ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
| 9 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1511ms | Detail checks: 0/1 matched |
| 10 | [FILTER] 거래처별 필터 | FILTER | ✅ | 305ms | Clicked (existed): select[name*='vendor'], button:has-text('거래처') |
| 11 | [READ] 매출 상세 보기 | READ | ✅ | 306ms | Clicked (existed): table tbody tr:first-child |
| 12 | 상세 정보 확인 | - | ⚠️ | 1509ms | Detail checks: 0/3 matched |
| 13 | 목록으로 돌아가기 | - | ✅ | 318ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
| 14 | 매출 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 15 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 16 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 5 | 5 | 0 | 66ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/sales |

View File

@@ -0,0 +1,35 @@
# ✅ E2E 테스트 성공: 세금계산서발행 테스트
**테스트 ID**: accounting-tax-issue | **실행**: 2026-03-08_11-42-21 | **결과**: PASS
**소요 시간**: 11.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 11 | 10 | 0 | 1 | 91% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 세금계산서발행 | - | ✅ | 503ms | Menu navigation: 회계관리 > 세금계산서발행 |
| 2 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 33 buttons |
| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
| 5 | 세금계산서 테이블 구조 확인 | - | ✅ | 0ms | Table: 10 cols, 1 rows |
| 6 | [SEARCH] 검색 필드 확인 | SEARCH | ✅ | 0ms | Element not present (ok): input[type='search'], input[placeholder*='검색'], input[ |
| 8 | [FILTER] 기간 필터 | FILTER | ✅ | 0ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
| 9 | 발행 버튼 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'I', "Issue button: 새로 발행" is not valid JSON/raw:Issu |
| 10 | 상세 행 클릭 | - | ✅ | 302ms | Clicked (existed): table tbody tr:first-child |
| 11 | 상세 정보 확인 | - | ⚠️ | 1504ms | Detail checks: 0/1 matched |
| 12 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/tax-invoice-issuance |

View File

@@ -0,0 +1,35 @@
# ✅ E2E 테스트 성공: 세금계산서관리 테스트
**테스트 ID**: accounting-tax-mgmt | **실행**: 2026-03-08_11-42-33 | **결과**: PASS
**소요 시간**: 11.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 11 | 10 | 0 | 1 | 91% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 세금계산서관리 | - | ✅ | 504ms | Menu navigation: 회계관리 > 세금계산서관리 |
| 2 | 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 39 buttons |
| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 3 rows |
| 5 | 세금계산서 테이블 구조 확인 | - | ✅ | 0ms | Table: 14 cols, 3 rows |
| 6 | [SEARCH] 검색 필드 확인 | SEARCH | ✅ | 1ms | Element not present (ok): input[type='search'], input[placeholder*='검색'], input[ |
| 8 | [FILTER] 필터 존재 확인 | FILTER | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters: 1" is not valid JSON/raw:Filters: 1 |
| 9 | 상세 행 클릭 | - | ✅ | 304ms | Clicked (existed): table tbody tr:first-child |
| 10 | 상세 정보 확인 | - | ⚠️ | 1522ms | Detail checks: 0/1 matched |
| 11 | 엑셀 다운로드 버튼 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'E', "Excel butt"... is not valid JSON/raw:Excel butt |
| 12 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/tax-invoices |

View File

@@ -0,0 +1,49 @@
# ✅ E2E 테스트 성공: 출금관리 테스트
**테스트 ID**: accounting-withdrawal | **실행**: 2026-03-08_11-42-55 | **결과**: PASS
**소요 시간**: 22.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 25 | 19 | 0 | 6 | 76% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 출금관리 | - | ✅ | 2513ms | Menu navigation: 회계관리 > 출금관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/withdrawals |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 89 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 47 "... is not valid JSON/raw:Stats: 47 |
| 5 | 출금 테이블 구조 확인 | - | ✅ | 0ms | Table: 8 cols, 20 rows |
| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 6" is not valid JSON/raw:Filters |
| 7 | 검색 기능 테스트 | - | ✅ | 314ms | Clicked (existed): input[placeholder*='검색'] |
| 8 | [CREATE] 출금 등록 버튼 클릭 | CREATE | ✅ | 317ms | Clicked (existed): button:has-text('등록'), button:has-text('출금 등록'), button:has-t |
| 9 | [CREATE] 출금 정보 입력 | CREATE | ✅ | 460ms | fill_form: 3/3 filled |
| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 308ms | Clicked (existed): button:has-text('저장'), button:has-text('등록') |
| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 3021ms | No toast/notification found |
| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 0ms | No modal open |
| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1507ms | Detail checks: 0/0 matched |
| 14 | [READ] 출금 상세 페이지 진입 | READ | ✅ | 0ms | Element not present (ok): table tbody tr:first-child, table tbody tr:nth-child(1 |
| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1515ms | Detail checks: 0/3 matched |
| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('수정') |
| 17 | [UPDATE] 금액 수정 | UPDATE | ✅ | 303ms | Clicked (existed): input[name*='amount'], input[placeholder*='금액'] |
| 18 | [UPDATE] 메모 수정 | UPDATE | ✅ | 0ms | Element not present (ok): textarea[name*='memo'], input[placeholder*='메모'] |
| 19 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 0ms | Element not present (ok): button:has-text('저장') |
| 20 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 3035ms | No toast/notification found |
| 21 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1520ms | Detail checks: 0/2 matched |
| 22 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 0ms | Element not present (ok): button:has-text('삭제') |
| 23 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 0ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
| 24 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1526ms | Detail checks: 0/0 matched |
| 25 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 3 | 3 | 0 | 52ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/withdrawals |

View File

@@ -0,0 +1,63 @@
# ✅ E2E 테스트 성공: API 건강성 감사: 회계
**테스트 ID**: api-health-acc | **실행**: 2026-03-08_11-43-41 | **결과**: PASS
**소요 시간**: 46.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 39 | 39 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 거래처관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:93 |
| 2 | [회계관리 > 거래처관리] API 호출 대기 | - | ✅ | 3002ms | Waited 3000ms |
| 3 | [회계관리 > 거래처관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 4 | [회계관리 > 어음관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:93 |
| 5 | [회계관리 > 어음관리] 메뉴 이동 | - | ✅ | 512ms | Menu navigation: 회계관리 > 어음관리 |
| 6 | [회계관리 > 어음관리] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
| 7 | [회계관리 > 어음관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 8 | [회계관리 > 입금관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:93 |
| 9 | [회계관리 > 입금관리] 메뉴 이동 | - | ✅ | 2017ms | Menu navigation: 회계관리 > 입금관리 |
| 10 | [회계관리 > 입금관리] API 호출 대기 | - | ✅ | 3006ms | Waited 3000ms |
| 11 | [회계관리 > 입금관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 12 | [회계관리 > 출금관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:93 |
| 13 | [회계관리 > 출금관리] 메뉴 이동 | - | ✅ | 2513ms | Menu navigation: 회계관리 > 출금관리 |
| 14 | [회계관리 > 출금관리] API 호출 대기 | - | ✅ | 3000ms | Waited 3000ms |
| 15 | [회계관리 > 출금관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 57ms / PASS |
| 16 | [회계관리 > 매출관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:99 |
| 17 | [회계관리 > 매출관리] 메뉴 이동 | - | ✅ | 509ms | Menu navigation: 회계관리 > 매출관리 |
| 18 | [회계관리 > 매출관리] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
| 19 | [회계관리 > 매출관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 20 | [회계관리 > 매입관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:99 |
| 21 | [회계관리 > 매입관리] 메뉴 이동 | - | ✅ | 2520ms | Menu navigation: 회계관리 > 매입관리 |
| 22 | [회계관리 > 매입관리] API 호출 대기 | - | ✅ | 3007ms | Waited 3000ms |
| 23 | [회계관리 > 매입관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 70ms / PASS |
| 24 | [회계관리 > 악성채권관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:6 perf:106 |
| 25 | [회계관리 > 악성채권관리] 메뉴 이동 | - | ✅ | 513ms | Menu navigation: 회계관리 > 악성채권관리 |
| 26 | [회계관리 > 악성채권관리] API 호출 대기 | - | ✅ | 3009ms | Waited 3000ms |
| 27 | [회계관리 > 악성채권관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 28 | [회계관리 > 예상지출관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:6 perf:106 |
| 29 | [회계관리 > 예상지출관리] 메뉴 이동 | - | ✅ | 511ms | Menu navigation: 회계관리 > 예상지출관리 |
| 30 | [회계관리 > 예상지출관리] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
| 31 | [회계관리 > 예상지출관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 32 | [회계관리 > 카드내역관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:106 |
| 33 | [회계관리 > 카드내역관리] 메뉴 이동 | - | ✅ | 509ms | Menu navigation: 회계관리 > 카드내역관리 |
| 34 | [회계관리 > 카드내역관리] API 호출 대기 | - | ✅ | 3016ms | Waited 3000ms |
| 35 | [회계관리 > 카드내역관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 36 | [회계관리 > 결제관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:106 |
| 37 | [회계관리 > 결제관리] 메뉴 이동 | - | ✅ | 506ms | Menu navigation: 회계관리 > 결제관리 |
| 38 | [회계관리 > 결제관리] API 호출 대기 | - | ✅ | 3014ms | Waited 3000ms |
| 39 | [회계관리 > 결제관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 6 | 6 | 0 | 65ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/vendors |

View File

@@ -0,0 +1,59 @@
# ✅ E2E 테스트 성공: API 건강성 감사: 생산/기타
**테스트 ID**: api-health-prod-misc | **실행**: 2026-03-08_11-44-28 | **결과**: PASS
**소요 시간**: 46.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 35 | 35 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [생산관리 > 작업지시 관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:98 |
| 2 | [생산관리 > 작업지시 관리] API 호출 대기 | - | ✅ | 3000ms | Waited 3000ms |
| 3 | [생산관리 > 작업지시 관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 4 | [생산관리 > 작업실적] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:98 |
| 5 | [생산관리 > 작업실적] 메뉴 이동 | - | ✅ | 511ms | Menu navigation: 생산관리 > 작업실적 |
| 6 | [생산관리 > 작업실적] API 호출 대기 | - | ✅ | 3008ms | Waited 3000ms |
| 7 | [생산관리 > 작업실적] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 8 | [생산관리 > 품목관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:98 |
| 9 | [생산관리 > 품목관리] 메뉴 이동 | - | ✅ | 4032ms | Menu navigation: 생산관리 > 품목관리 |
| 10 | [생산관리 > 품목관리] API 호출 대기 | - | ✅ | 3009ms | Waited 3000ms |
| 11 | [생산관리 > 품목관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 12 | [생산관리 > 작업자 화면] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:98 |
| 13 | [생산관리 > 작업자 화면] 메뉴 이동 | - | ✅ | 2511ms | Menu navigation: 생산관리 > 작업자 화면 |
| 14 | [생산관리 > 작업자 화면] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
| 15 | [생산관리 > 작업자 화면] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 70ms / PASS |
| 16 | [품질관리 > 제품검사관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:4 perf:110 |
| 17 | [품질관리 > 제품검사관리] 메뉴 이동 | - | ✅ | 511ms | Menu navigation: 품질관리 > 제품검사관리 |
| 18 | [품질관리 > 제품검사관리] API 호출 대기 | - | ✅ | 3002ms | Waited 3000ms |
| 19 | [품질관리 > 제품검사관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 20 | [자재관리 > 입고관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:4 perf:110 |
| 21 | [자재관리 > 입고관리] 메뉴 이동 | - | ✅ | 510ms | Menu navigation: 자재관리 > 입고관리 |
| 22 | [자재관리 > 입고관리] API 호출 대기 | - | ✅ | 3004ms | Waited 3000ms |
| 23 | [자재관리 > 입고관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 145ms / PASS |
| 24 | [자재관리 > 재고현황] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:112 |
| 25 | [자재관리 > 재고현황] 메뉴 이동 | - | ✅ | 2524ms | Menu navigation: 자재관리 > 재고현황 |
| 26 | [자재관리 > 재고현황] API 호출 대기 | - | ✅ | 3010ms | Waited 3000ms |
| 27 | [자재관리 > 재고현황] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:3 / 3개 API / 3OK 0err 0slow / avg 53ms / PASS |
| 28 | [게시판 > 자유게시판] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:9 perf:119 |
| 29 | [게시판 > 자유게시판] 메뉴 이동 | - | ✅ | 512ms | Menu navigation: 게시판 > 자유게시판 |
| 30 | [게시판 > 자유게시판] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
| 31 | [게시판 > 자유게시판] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 32 | [게시판 > 공지사항] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:9 perf:119 |
| 33 | [게시판 > 공지사항] 메뉴 이동 | - | ✅ | 2518ms | Menu navigation: 게시판 > 공지사항 |
| 34 | [게시판 > 공지사항] API 호출 대기 | - | ✅ | 3011ms | Waited 3000ms |
| 35 | [게시판 > 공지사항] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 52ms / PASS |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 11 | 11 | 0 | 76ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/production/work-orders |

View File

@@ -0,0 +1,59 @@
# ✅ E2E 테스트 성공: API 건강성 감사: 판매/인사
**테스트 ID**: api-health-sales-hr | **실행**: 2026-03-08_11-45-14 | **결과**: PASS
**소요 시간**: 46.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 35 | 35 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [판매관리 > 거래처관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:94 |
| 2 | [판매관리 > 거래처관리] API 호출 대기 | - | ✅ | 3002ms | Waited 3000ms |
| 3 | [판매관리 > 거래처관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 4 | [판매관리 > 수주관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:94 |
| 5 | [판매관리 > 수주관리] 메뉴 이동 | - | ✅ | 520ms | Menu navigation: 판매관리 > 수주관리 |
| 6 | [판매관리 > 수주관리] API 호출 대기 | - | ✅ | 3000ms | Waited 3000ms |
| 7 | [판매관리 > 수주관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 8 | [판매관리 > 견적관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:94 |
| 9 | [판매관리 > 견적관리] 메뉴 이동 | - | ✅ | 2020ms | Menu navigation: 판매관리 > 견적관리 |
| 10 | [판매관리 > 견적관리] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
| 11 | [판매관리 > 견적관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 12 | [판매관리 > 단가관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:94 |
| 13 | [판매관리 > 단가관리] 메뉴 이동 | - | ✅ | 2519ms | Menu navigation: 판매관리 > 단가관리 |
| 14 | [판매관리 > 단가관리] API 호출 대기 | - | ✅ | 3003ms | Waited 3000ms |
| 15 | [판매관리 > 단가관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 76ms / PASS |
| 16 | [인사관리 > 사원관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:101 |
| 17 | [인사관리 > 사원관리] 메뉴 이동 | - | ✅ | 512ms | Menu navigation: 인사관리 > 사원관리 |
| 18 | [인사관리 > 사원관리] API 호출 대기 | - | ✅ | 3001ms | Waited 3000ms |
| 19 | [인사관리 > 사원관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 20 | [인사관리 > 급여관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:101 |
| 21 | [인사관리 > 급여관리] 메뉴 이동 | - | ✅ | 2510ms | Menu navigation: 인사관리 > 급여관리 |
| 22 | [인사관리 > 급여관리] API 호출 대기 | - | ✅ | 3008ms | Waited 3000ms |
| 23 | [인사관리 > 급여관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 69ms / PASS |
| 24 | [인사관리 > 근태현황] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:109 |
| 25 | [인사관리 > 근태현황] 메뉴 이동 | - | ✅ | 514ms | Menu navigation: 인사관리 > 근태현황 |
| 26 | [인사관리 > 근태현황] API 호출 대기 | - | ✅ | 3006ms | Waited 3000ms |
| 27 | [인사관리 > 근태현황] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 28 | [인사관리 > 휴가관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:6 perf:109 |
| 29 | [인사관리 > 휴가관리] 메뉴 이동 | - | ✅ | 2513ms | Menu navigation: 인사관리 > 휴가관리 |
| 30 | [인사관리 > 휴가관리] API 호출 대기 | - | ✅ | 3003ms | Waited 3000ms |
| 31 | [인사관리 > 휴가관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 72ms / PASS |
| 32 | [인사관리 > 카드관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:10 perf:116 |
| 33 | [인사관리 > 카드관리] 메뉴 이동 | - | ✅ | 2518ms | Menu navigation: 인사관리 > 카드관리 |
| 34 | [인사관리 > 카드관리] API 호출 대기 | - | ✅ | 3005ms | Waited 3000ms |
| 35 | [인사관리 > 카드관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:3 / 3개 API / 3OK 0err 0slow / avg 79ms / PASS |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 13 | 13 | 0 | 73ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |

View File

@@ -0,0 +1,49 @@
# ✅ E2E 테스트 성공: 결재함 E2E 테스트
**테스트 ID**: approval-box | **실행**: 2026-03-08_11-45-41 | **결과**: PASS
**소요 시간**: 26.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 25 | 23 | 0 | 2 | 92% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2326ms | json_fail:Unexpected token 'M', "Menu expanded" is not valid JSON/raw:Menu expan |
| 2 | 결재관리 > 결재함 메뉴 진입 | - | ✅ | 2526ms | Menu navigation: 결재관리 > 결재함 |
| 3 | 메뉴 도착 확인 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/approval/inbox |
| 4 | 404 에러 감지 | - | ✅ | 1007ms | json_fail:Unexpected token 'P', "PASS: No 404 error" is not valid JSON/raw:PASS: |
| 5 | 페이지 정상 로드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'P', "PASS: Page"... is not valid JSON/raw:PASS: Page |
| 6 | 통계 카드 확인 | - | ✅ | 0ms | Element exists: [class*='card'], [class*='stat'] |
| 7 | 탭 구조 확인 | - | ⚠️ | 1506ms | Element not found: [role='tab'], button[role='tab'] |
| 8 | 테이블 데이터 확인 | - | ✅ | 1ms | Table: 9 cols, 1 rows |
| 9 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 4" is not valid JSON/raw:Filters |
| 10 | [APPROVAL] 탭 카운트 캡처 (승인 전 기준) | APPROVAL | ✅ | 0ms | TAB_COUNT_BEFORE |
| 11 | 필수 검증: 결재 문서 상세 보기 | - | ✅ | 1508ms | json_fail:Unexpected token 'P', "PASS: Deta"... is not valid JSON/raw:PASS: Deta |
| 12 | PDF 다운로드 전 모달 상태 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'W', "WARN: No m"... is not valid JSON/raw:WARN: No m |
| 13 | 필수 검증: PDF 다운로드 실행 | - | ⚠️ | 1504ms | evaluate error: Failed to execute 'querySelector' on 'Document': 'button:has-tex |
| 14 | PDF 파일 유효성 + content-type 검증 | VERIFY | ✅ | 0ms | WARN: PDF API call not in logs - skip validation |
| 15 | PDF 스타일 수동 확인 체크리스트 | - | ✅ | 0ms | json_fail:Unexpected token 'M', "Manual che"... is not valid JSON/raw:Manual che |
| 16 | 필수 검증: 결재 승인 실제 수행 | - | ✅ | 1ms | json_fail:Unexpected token 'W', "WARN: Appr"... is not valid JSON/raw:WARN: Appr |
| 17 | [APPROVAL] 승인 후 탭 카운트 변화 검증 | VERIFY | ✅ | 1506ms | TAB_COUNT_AFTER_APPROVE / pass: pending 0->0 / pass: completed 0->0 |
| 18 | [APPROVAL] 결재완료 탭 이동 + 승인 문서 확인 | VERIFY | ✅ | 1506ms | STATE_TRANSITION_APPROVE / pass: 결재완료 탭에 1건 존재 / rows:1 |
| 19 | [APPROVAL] 승인 후 결재 버튼 비활성 확인 | VERIFY | ✅ | 1506ms | APPROVE_BTN_DISABLED / warn: approve button still active on completed document |
| 20 | [REJECT] 미결재 탭 이동 + 문서 선택 | REJECT | ✅ | 2019ms | json_fail:Unexpected token 'P', "PASS: Docu"... is not valid JSON/raw:PASS: Docu |
| 21 | [REJECT] 반려 버튼 클릭 + 사유 입력 | REJECT | ✅ | 1318ms | REJECT_WITH_REASON / WARN: reason textarea not found |
| 22 | [REJECT] 결재반려 탭 이동 + 반려 문서 확인 | VERIFY | ✅ | 1504ms | STATE_TRANSITION_REJECT / pass: 결재반려 탭에 1건 존재 / rows:1 |
| 23 | 검색 기능 테스트 | - | ✅ | 516ms | json_fail:Unexpected token 'S', "Search tes"... is not valid JSON/raw:Search tes |
| 24 | [VERIFY] 콘솔 에러 확인 | VERIFY | ✅ | 0ms | CONSOLE_CHECK / pass: 0 JS console errors |
| 25 | [VERIFY] API 호출 요약 | VERIFY | ✅ | 0ms | API_SUMMARY / API total=5 success=5 failed=0 avg=64ms slow=0 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 5 | 5 | 0 | 64ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/approval/inbox |

View File

@@ -0,0 +1,40 @@
# ✅ E2E 테스트 성공: 근태현황 출퇴근 테스트
**테스트 ID**: attendance-checkin | **실행**: 2026-03-08_11-45-53 | **결과**: PASS
**소요 시간**: 12.8초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 12 | 12 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | GPS 위치 정보 모킹 | - | ✅ | 0ms | json_fail:Unexpected token 'G', "GPS mockin"... is not valid JSON/raw:GPS mockin |
| 2 | 메뉴 진입: 인사관리 > 근태현황 | - | ✅ | 505ms | Menu navigation: 인사관리 > 근태현황 |
| 3 | 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
| 4 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/attendance |
| 5 | 404 에러 감지 | - | ✅ | 0ms | No text to verify |
| 6 | 페이지 콘텐츠 확인 | - | ✅ | 0ms | Element exists: body |
| 7 | 출퇴근 버튼 확인 | - | ✅ | 1ms | evaluate ok |
| 8 | 출근하기 버튼 클릭 (있는 경우) | - | ✅ | 305ms | Clicked (existed): button:has-text('출근') |
| 9 | 출근 결과 대기 | - | ✅ | 3012ms | Waited 3000ms |
| 10 | 출퇴근 상태 확인 | - | ✅ | 1ms | evaluate ok |
| 11 | 퇴근하기 버튼 확인 | - | ✅ | 0ms | Element not present (ok): button:has-text('퇴근') |
| 12 | 최종 상태 확인 | - | ✅ | 1ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/attendance |
### 콘솔 에러 (Health Check)
1. `Loading the stylesheet 'https://fonts.googleapis.com/css?family=Google+Sans+Text:400&text=%E2%86%90%E2%86%92%E2%86%91%E2%86%93&lang=ko' violates the following Content Security Policy directive: "style`
2. `Loading the stylesheet 'https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans:400,500,700|Google+Sans+Text:400,500,700&lang=ko' violates the following Content Security Policy dire`

View File

@@ -0,0 +1,49 @@
# ✅ E2E 테스트 성공: 근태관리 테스트
**테스트 ID**: attendance-management | **실행**: 2026-03-08_11-46-12 | **결과**: PASS
**소요 시간**: 19.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 25 | 25 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 인사관리 > 근태관리 | - | ✅ | 2506ms | Menu navigation: 인사관리 > 근태관리 |
| 2 | 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
| 3 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/attendance-management |
| 4 | GPS 위치 정보 모킹 | - | ✅ | 0ms | json_fail:Unexpected token 'G', "GPS mocking complete" is not valid JSON/raw:GPS |
| 5 | 근태 현황 카드 확인 | - | ✅ | 0ms | Element exists: body |
| 6 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 7 | 근태 등록 버튼 클릭 | - | ✅ | 308ms | Clicked button: 근태 등록 |
| 8 | 모달 열림 대기 | - | ✅ | 1008ms | Waited 1000ms |
| 9 | 대상 사원 선택 | - | ✅ | 528ms | json_fail:Unexpected token 'S', "Selected: "... is not valid JSON/raw:Selected: |
| 10 | 기준일 기본값 확인 | - | ✅ | 1ms | Element exists: [role='dialog'] |
| 11 | 근태 등록 저장 | - | ✅ | 305ms | Clicked button: 저장 |
| 12 | 근태 등록 모달 닫기 확인 | - | ✅ | 0ms | No modal open |
| 13 | 근태 등록 결과 확인 | - | ✅ | 1ms | Element exists: table tbody tr |
| 14 | 사유 등록 버튼 클릭 | - | ✅ | 310ms | Clicked button: 사유 등록 |
| 15 | 사유 모달 열림 대기 | - | ✅ | 1007ms | Waited 1000ms |
| 16 | 사유 유형 선택 | - | ✅ | 511ms | json_fail:Unexpected token 'S', "Selected: 전체" is not valid JSON/raw:Selected: 전 |
| 17 | 사유 대상 사원 선택 | - | ✅ | 518ms | json_fail:Unexpected token 'S', "Selected: "... is not valid JSON/raw:Selected: |
| 18 | 사유 등록 저장 | - | ✅ | 305ms | Clicked button: 등록 |
| 19 | 사유 등록 모달 닫기 확인 | - | ✅ | 0ms | No modal open |
| 20 | 기간 필터 - 당월 클릭 | - | ✅ | 405ms | Clicked: 당월 |
| 21 | 필터 적용 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 22 | 검색 기능 테스트 | - | ✅ | 204ms | Filled "input[type='search'], input[placeholder*='검색']" with "홍" |
| 23 | 검색 결과 대기 | - | ✅ | 1013ms | Waited 1000ms |
| 24 | 검색 초기화 | - | ✅ | 203ms | Cleared: input[type='search'], input[placeholder*='검색'] |
| 25 | 엑셀 다운로드 버튼 확인 | - | ✅ | 1ms | Element exists: 엑셀 다운로드 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 3 | 3 | 0 | 90ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/attendance-management |

View File

@@ -0,0 +1,63 @@
# ✅ E2E 테스트 성공: 연속 등록 테스트: 어음관리
**테스트 ID**: batch-create-acc-bills | **실행**: 2026-03-08_11-48-13 | **결과**: PASS
**소요 시간**: 120.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 39 | 39 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
| 2 | [회계관리 > 어음관리] ts 초기화 | - | ✅ | 1ms | evaluate ok |
| 3 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 4 | [회계관리 > 어음관리] [CREATE #1] 데이터 생성 | CREATE | ✅ | 16198ms | CREATE_1 |
| 5 | [회계관리 > 어음관리] [CREATE #1] 생성 후 대기 | - | ✅ | 2008ms | Waited 2000ms |
| 6 | [회계관리 > 어음관리] [CREATE #1] 목록 복귀 | CREATE | ✅ | 2011ms | evaluate ok |
| 7 | [회계관리 > 어음관리] [CREATE #1] 목록 안정화 | - | ✅ | 1504ms | Waited 1500ms |
| 8 | [회계관리 > 어음관리] [CREATE #2] 데이터 생성 | CREATE | ✅ | 16133ms | CREATE_2 |
| 9 | [회계관리 > 어음관리] [CREATE #2] 생성 후 대기 | - | ✅ | 2006ms | Waited 2000ms |
| 10 | [회계관리 > 어음관리] [CREATE #2] 목록 복귀 | CREATE | ✅ | 2004ms | evaluate ok |
| 11 | [회계관리 > 어음관리] [CREATE #2] 목록 안정화 | - | ✅ | 1502ms | Waited 1500ms |
| 12 | [회계관리 > 어음관리] [CREATE #3] 데이터 생성 | CREATE | ✅ | 16175ms | CREATE_3 |
| 13 | [회계관리 > 어음관리] [CREATE #3] 생성 후 대기 | - | ✅ | 2006ms | Waited 2000ms |
| 14 | [회계관리 > 어음관리] [CREATE #3] 목록 복귀 | CREATE | ✅ | 2005ms | evaluate ok |
| 15 | [회계관리 > 어음관리] [CREATE #3] 목록 안정화 | - | ✅ | 1500ms | Waited 1500ms |
| 16 | [회계관리 > 어음관리] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
| 17 | [회계관리 > 어음관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 18 | [회계관리 > 어음관리] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1003ms | VERIFY_BATCH / rows:20 |
| 19 | [회계관리 > 어음관리] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 8008ms | DELETE_1 |
| 20 | [회계관리 > 어음관리] [DELETE #1] 삭제 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
| 21 | [회계관리 > 어음관리] [DELETE #1] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
| 22 | [회계관리 > 어음관리] [DELETE #1] 목록 안정화 | - | ✅ | 1502ms | Waited 1500ms |
| 101 | [회계관리 > 어음관리] [DELETE #2 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
| 102 | [회계관리 > 어음관리] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1008ms | Waited 1000ms |
| 103 | [회계관리 > 어음관리] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 23 | [회계관리 > 어음관리] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 8012ms | DELETE_2 |
| 24 | [회계관리 > 어음관리] [DELETE #2] 삭제 후 대기 | - | ✅ | 2005ms | Waited 2000ms |
| 25 | [회계관리 > 어음관리] [DELETE #2] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
| 26 | [회계관리 > 어음관리] [DELETE #2] 목록 안정화 | - | ✅ | 1506ms | Waited 1500ms |
| 104 | [회계관리 > 어음관리] [DELETE #3 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
| 105 | [회계관리 > 어음관리] [DELETE #3 준비] 새로고침 대기 | - | ✅ | 1005ms | Waited 1000ms |
| 106 | [회계관리 > 어음관리] [DELETE #3 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 27 | [회계관리 > 어음관리] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 8018ms | DELETE_3 |
| 28 | [회계관리 > 어음관리] [DELETE #3] 삭제 후 대기 | - | ✅ | 2008ms | Waited 2000ms |
| 29 | [회계관리 > 어음관리] [DELETE #3] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
| 30 | [회계관리 > 어음관리] [DELETE #3] 목록 안정화 | - | ✅ | 1502ms | Waited 1500ms |
| 31 | [회계관리 > 어음관리] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
| 32 | [회계관리 > 어음관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 33 | [회계관리 > 어음관리] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1006ms | VERIFY_BATCH / rows:20 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/bills |

View File

@@ -0,0 +1,63 @@
# ✅ E2E 테스트 성공: 연속 등록 테스트: 입금관리
**테스트 ID**: batch-create-acc-deposit | **실행**: 2026-03-08_11-49-42 | **결과**: PASS
**소요 시간**: 89.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 39 | 39 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
| 2 | [회계관리 > 입금관리] ts 초기화 | - | ✅ | 0ms | evaluate ok |
| 3 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 4 | [회계관리 > 입금관리] [CREATE #1] 데이터 생성 | CREATE | ✅ | 6150ms | CREATE_1 |
| 5 | [회계관리 > 입금관리] [CREATE #1] 생성 후 대기 | - | ✅ | 2007ms | Waited 2000ms |
| 6 | [회계관리 > 입금관리] [CREATE #1] 목록 복귀 | CREATE | ✅ | 2013ms | evaluate ok |
| 7 | [회계관리 > 입금관리] [CREATE #1] 목록 안정화 | - | ✅ | 1507ms | Waited 1500ms |
| 8 | [회계관리 > 입금관리] [CREATE #2] 데이터 생성 | CREATE | ✅ | 6139ms | CREATE_2 |
| 9 | [회계관리 > 입금관리] [CREATE #2] 생성 후 대기 | - | ✅ | 2016ms | Waited 2000ms |
| 10 | [회계관리 > 입금관리] [CREATE #2] 목록 복귀 | CREATE | ✅ | 2004ms | evaluate ok |
| 11 | [회계관리 > 입금관리] [CREATE #2] 목록 안정화 | - | ✅ | 1506ms | Waited 1500ms |
| 12 | [회계관리 > 입금관리] [CREATE #3] 데이터 생성 | CREATE | ✅ | 6135ms | CREATE_3 |
| 13 | [회계관리 > 입금관리] [CREATE #3] 생성 후 대기 | - | ✅ | 2007ms | Waited 2000ms |
| 14 | [회계관리 > 입금관리] [CREATE #3] 목록 복귀 | CREATE | ✅ | 2003ms | evaluate ok |
| 15 | [회계관리 > 입금관리] [CREATE #3] 목록 안정화 | - | ✅ | 1508ms | Waited 1500ms |
| 16 | [회계관리 > 입금관리] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
| 17 | [회계관리 > 입금관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 18 | [회계관리 > 입금관리] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1004ms | VERIFY_BATCH / rows:20 |
| 19 | [회계관리 > 입금관리] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 7518ms | DELETE_1 |
| 20 | [회계관리 > 입금관리] [DELETE #1] 삭제 후 대기 | - | ✅ | 2009ms | Waited 2000ms |
| 21 | [회계관리 > 입금관리] [DELETE #1] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
| 22 | [회계관리 > 입금관리] [DELETE #1] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
| 101 | [회계관리 > 입금관리] [DELETE #2 준비] 페이지 새로고침 | - | ✅ | 0ms | Page reload |
| 102 | [회계관리 > 입금관리] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 103 | [회계관리 > 입금관리] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 23 | [회계관리 > 입금관리] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 7515ms | DELETE_2 |
| 24 | [회계관리 > 입금관리] [DELETE #2] 삭제 후 대기 | - | ✅ | 2006ms | Waited 2000ms |
| 25 | [회계관리 > 입금관리] [DELETE #2] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
| 26 | [회계관리 > 입금관리] [DELETE #2] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
| 104 | [회계관리 > 입금관리] [DELETE #3 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
| 105 | [회계관리 > 입금관리] [DELETE #3 준비] 새로고침 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 106 | [회계관리 > 입금관리] [DELETE #3 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 27 | [회계관리 > 입금관리] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 7537ms | DELETE_3 |
| 28 | [회계관리 > 입금관리] [DELETE #3] 삭제 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
| 29 | [회계관리 > 입금관리] [DELETE #3] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
| 30 | [회계관리 > 입금관리] [DELETE #3] 목록 안정화 | - | ✅ | 1513ms | Waited 1500ms |
| 31 | [회계관리 > 입금관리] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
| 32 | [회계관리 > 입금관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 33 | [회계관리 > 입금관리] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1006ms | VERIFY_BATCH / rows:20 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/deposits |

View File

@@ -0,0 +1,63 @@
# ✅ E2E 테스트 성공: 연속 등록 테스트: 자유게시판
**테스트 ID**: batch-create-board | **실행**: 2026-03-08_11-51-17 | **결과**: PASS
**소요 시간**: 94.5초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 39 | 39 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
| 2 | [게시판 > 자유게시판] ts 초기화 | - | ✅ | 0ms | evaluate ok |
| 3 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 4 | [게시판 > 자유게시판] [CREATE #1] 데이터 생성 | CREATE | ✅ | 7930ms | CREATE_1 |
| 5 | [게시판 > 자유게시판] [CREATE #1] 생성 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
| 6 | [게시판 > 자유게시판] [CREATE #1] 목록 복귀 | CREATE | ✅ | 2004ms | evaluate ok |
| 7 | [게시판 > 자유게시판] [CREATE #1] 목록 안정화 | - | ✅ | 1504ms | Waited 1500ms |
| 8 | [게시판 > 자유게시판] [CREATE #2] 데이터 생성 | CREATE | ✅ | 7928ms | CREATE_2 |
| 9 | [게시판 > 자유게시판] [CREATE #2] 생성 후 대기 | - | ✅ | 2006ms | Waited 2000ms |
| 10 | [게시판 > 자유게시판] [CREATE #2] 목록 복귀 | CREATE | ✅ | 2007ms | evaluate ok |
| 11 | [게시판 > 자유게시판] [CREATE #2] 목록 안정화 | - | ✅ | 1512ms | Waited 1500ms |
| 12 | [게시판 > 자유게시판] [CREATE #3] 데이터 생성 | CREATE | ✅ | 7930ms | CREATE_3 |
| 13 | [게시판 > 자유게시판] [CREATE #3] 생성 후 대기 | - | ✅ | 2003ms | Waited 2000ms |
| 14 | [게시판 > 자유게시판] [CREATE #3] 목록 복귀 | CREATE | ✅ | 2005ms | evaluate ok |
| 15 | [게시판 > 자유게시판] [CREATE #3] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
| 16 | [게시판 > 자유게시판] [VERIFY] 목록 새로고침 | - | ✅ | 0ms | Page reload |
| 17 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
| 18 | [게시판 > 자유게시판] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1001ms | VERIFY_BATCH / rows:10 |
| 19 | [게시판 > 자유게시판] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 7530ms | DELETE_1 |
| 20 | [게시판 > 자유게시판] [DELETE #1] 삭제 후 대기 | - | ✅ | 2003ms | Waited 2000ms |
| 21 | [게시판 > 자유게시판] [DELETE #1] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
| 22 | [게시판 > 자유게시판] [DELETE #1] 목록 안정화 | - | ✅ | 1502ms | Waited 1500ms |
| 201 | [게시판 > 자유게시판] [DELETE #2 준비] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
| 202 | [게시판 > 자유게시판] [DELETE #2 준비] 새로고침 대기 | - | ✅ | 1007ms | Waited 1000ms |
| 203 | [게시판 > 자유게시판] [DELETE #2 준비] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 23 | [게시판 > 자유게시판] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 7526ms | DELETE_2 |
| 24 | [게시판 > 자유게시판] [DELETE #2] 삭제 후 대기 | - | ✅ | 2000ms | Waited 2000ms |
| 25 | [게시판 > 자유게시판] [DELETE #2] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
| 26 | [게시판 > 자유게시판] [DELETE #2] 목록 안정화 | - | ✅ | 1501ms | Waited 1500ms |
| 204 | [게시판 > 자유게시판] [DELETE #3 준비] 페이지 새로고침 | - | ✅ | 0ms | Page reload |
| 205 | [게시판 > 자유게시판] [DELETE #3 준비] 새로고침 대기 | - | ✅ | 1005ms | Waited 1000ms |
| 206 | [게시판 > 자유게시판] [DELETE #3 준비] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
| 27 | [게시판 > 자유게시판] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 7513ms | DELETE_3 |
| 28 | [게시판 > 자유게시판] [DELETE #3] 삭제 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
| 29 | [게시판 > 자유게시판] [DELETE #3] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
| 30 | [게시판 > 자유게시판] [DELETE #3] 목록 안정화 | - | ✅ | 1505ms | Waited 1500ms |
| 31 | [게시판 > 자유게시판] [VERIFY] 목록 새로고침 | - | ✅ | 0ms | Page reload |
| 32 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 33 | [게시판 > 자유게시판] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1008ms | VERIFY_BATCH / rows:10 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/boards/free |

View File

@@ -0,0 +1,38 @@
# ✅ E2E 테스트 성공: 계정과목 일괄변경 버그 회귀 테스트 (BUG-SALES-20260115-001): 매출관리
**테스트 ID**: batch-update-account-sales | **실행**: 2026-03-08_11-51-43 | **결과**: PASS
**소요 시간**: 26.5초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 14 | 14 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5002ms | Waited 5000ms |
| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [회계관리 > 매출관리] [CAPTURE] 첫 행 현재 매출유형 캡처 | CAPTURE | ✅ | 511ms | CAPTURE_BEFORE / rows:20 |
| 4 | [회계관리 > 매출관리] [SELECT] 첫 행 체크박스 선택 | SELECT | ✅ | 501ms | SELECT_ROW |
| 5 | [회계관리 > 매출관리] [SELECT] 계정과목 드롭다운에서 다른 값 선택 | SELECT | ✅ | 1007ms | CHANGE_ACCOUNT |
| 6 | [회계관리 > 매출관리] [SAVE] 저장 버튼 클릭 | SAVE | ✅ | 1502ms | SAVE |
| 7 | [회계관리 > 매출관리] [SAVE] 확인 다이얼로그 → 확인 클릭 | SAVE | ✅ | 2001ms | CONFIRM |
| 8 | [회계관리 > 매출관리] [VERIFY-1] 토스트 메시지 확인 | VERIFY | ✅ | 1001ms | VERIFY_TOAST / ⚠️ 성공 토스트 미감지 |
| 9 | [회계관리 > 매출관리] [VERIFY-2] ★핵심★ 첫 행 매출유형 실제 변경 확인 | VERIFY | ✅ | 1002ms | VERIFY_DATA_CHANGED / 🐛 BUG-SALES-20260115-001 재현: 토스트 성공 but 데이터 미변경 (beforeTy |
| 10 | [회계관리 > 매출관리] [RELOAD] 새로고침 | - | ✅ | 1ms | Page reload |
| 11 | [회계관리 > 매출관리] [RELOAD] 새로고침 후 대기 | - | ✅ | 5002ms | Waited 5000ms |
| 12 | [회계관리 > 매출관리] [RELOAD] 테이블 재로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 13 | [회계관리 > 매출관리] [VERIFY-3] ★핵심★ 새로고침 후에도 변경값 유지 확인 | VERIFY | ✅ | 1001ms | VERIFY_PERSIST / ⚠️ 새로고침 후 상태 확인 불가 |
| 14 | [회계관리 > 매출관리] [RESTORE] 원래 값 복원 (선택적) | RESTORE | ✅ | 0ms | RESTORE / 원래 값 없음 - 복원 스킵 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/sales |

View File

@@ -0,0 +1,46 @@
# ✅ E2E 테스트 성공: 게시판 관리 테스트
**테스트 ID**: board-management | **실행**: 2026-03-08_11-51-55 | **결과**: PASS
**소요 시간**: 11.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 22 | 22 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 게시판 > 게시판 관리 | - | ✅ | 504ms | Menu navigation: 게시판 > 게시판 관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/board/board-management |
| 3 | 목업 감지 | - | ✅ | 0ms | Real page: 1 inputs, 39 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 8 cards found" is not valid JSON/raw:Sta |
| 5 | 게시판 관리 페이지 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 6 | 테이블 확인 | - | ✅ | 0ms | Table: 7 cols, 3 rows |
| 7 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'N', "No filter "... is not valid JSON/raw:No filter |
| 8 | 검색 기능 | - | ✅ | 1013ms | Searched: "테스트" |
| 9 | 검색 결과 대기 | - | ✅ | 1006ms | Waited 1000ms |
| 10 | 검색 결과 데이터 검증 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Search res"... is not valid JSON/raw:Search res |
| 11 | 검색 초기화 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Search cleared" is not valid JSON/raw:Search cl |
| 12 | 검색 초기화 결과 대기 | - | ✅ | 1006ms | Waited 1000ms |
| 13 | 검색 초기화 및 복원 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'R', "Restored: 2 rows" is not valid JSON/raw:Restore |
| 14 | 검색 후 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 15 | 첫 번째 행 클릭 | - | ✅ | 511ms | Clicked first row |
| 16 | 상세 페이지 로딩 대기 | - | ✅ | 1011ms | Waited 1000ms |
| 17 | 상세 페이지 - 콘텐츠 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'D', "Detail pag"... is not valid JSON/raw:Detail pag |
| 18 | 상세 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 19 | 모달 닫기 | - | ✅ | 0ms | No modal open |
| 20 | 페이지네이션 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
| 21 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
| 22 | 목록 복귀 | - | ✅ | 309ms | Clicked (existed): button:has-text('목록'), a:has-text('목록') |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 4 | 4 | 0 | 42ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/board/board-management |

View File

@@ -0,0 +1,37 @@
# ✅ E2E 테스트 성공: 게시판 테스트 페이지 테스트
**테스트 ID**: board-test | **실행**: 2026-03-08_11-52-10 | **결과**: PASS
**소요 시간**: 15.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 13 | 11 | 0 | 2 | 85% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 게시판 > 게시판 테스트 | - | ✅ | 2514ms | Menu navigation: 게시판 > 게시판 테스트 |
| 2 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
| 3 | 필수 검증: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 69 buttons |
| 4 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 5 | 게시판 테이블 구조 확인 | - | ✅ | 0ms | Table: 7 cols, 10 rows |
| 6 | [SEARCH] 검색 기능 | SEARCH | ✅ | 208ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
| 7 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1512ms | Detail checks: 0/1 matched |
| 8 | 글쓰기 버튼 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'W', "Write button: 글쓰기" is not valid JSON/raw:Write |
| 9 | 게시글 행 클릭 | - | ✅ | 305ms | Clicked (existed): table tbody tr:first-child |
| 10 | 게시글 상세 확인 | - | ⚠️ | 1506ms | Detail checks: 0/1 matched |
| 11 | 목록으로 돌아가기 | - | ✅ | 307ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
| 12 | 페이지네이션 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'N', "No pagination (ok)" is not valid JSON/raw:No pa |
| 13 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 7 | 7 | 0 | 59ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/boards/board_mjsgri54_1fmg |

View File

@@ -0,0 +1,55 @@
# ✅ E2E 테스트 성공: 설정 - 회사정보
**테스트 ID**: company-info | **실행**: 2026-03-08_11-52-34 | **결과**: PASS
**소요 시간**: 23.5초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 31 | 29 | 0 | 2 | 94% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2312ms | json_fail:Unexpected token 'm', "menu expanded" is not valid JSON/raw:menu expan |
| 2 | 1차 메뉴 찾기: 설정 | - | ✅ | 2506ms | Menu navigation: 설정 > 회사정보 |
| 3 | 페이지 로드 대기 | - | ✅ | 2013ms | Waited 2000ms |
| 4 | 404 에러 감지 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/company-info |
| 5 | 페이지 정상 로드 확인 | - | ✅ | 0ms | Detail checks: 1/4 |
| 6 | 페이지 제목 확인 | - | ⚠️ | 1510ms | Element not found: heading |
| 7 | 회사 추가 버튼 존재 확인 | - | ✅ | 0ms | Element exists: 회사 추가 |
| 8 | 수정 버튼 존재 확인 | - | ✅ | 1ms | Element exists: 수정 |
| 9 | 회사명 필드 확인 | - | ✅ | 0ms | No text to verify |
| 10 | 대표자명 필드 확인 | - | ✅ | 0ms | No text to verify |
| 11 | 업태 필드 확인 | - | ✅ | 0ms | No text to verify |
| 12 | 업종 필드 확인 | - | ✅ | 0ms | No text to verify |
| 13 | 주소 필드 확인 | - | ✅ | 0ms | No text to verify |
| 14 | 이메일 필드 확인 | - | ✅ | 0ms | No text to verify |
| 15 | 사업자등록번호 필드 확인 | - | ✅ | 0ms | No text to verify |
| 16 | 수정 버튼 클릭 | - | ✅ | 303ms | Clicked (existed): 수정 |
| 17 | 수정 모드 - 필드 활성화 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'e', "enabled: 13 fields" is not valid JSON/raw:enabl |
| 18 | 취소 버튼 클릭 | - | ✅ | 302ms | Clicked (existed): 취소 |
| 19 | 회사 추가 버튼 클릭 | - | ✅ | 309ms | Clicked (existed): 회사 추가 |
| 20 | 회사 추가 다이얼로그 확인 | - | ✅ | 1007ms | Waited 1000ms |
| 21 | 다이얼로그 닫기 | - | ✅ | 312ms | Clicked (existed): 취소 |
| 22 | 수정 모드에서 데이터 변경 테스트 | - | ✅ | 309ms | Clicked (existed): 수정 |
| 23 | 업태 필드 수정 | - | ✅ | 213ms | Filled "업태" with "테스트업태_수정" |
| 24 | 저장 버튼 클릭 | - | ✅ | 303ms | Clicked (existed): 저장 |
| 25 | ⚠️ 필수 검증: 수정 데이터 반영 확인 | - | ⚠️ | 1516ms | Detail checks: 0/1 matched |
| 26 | 회사 추가 다이얼로그 열기 | - | ✅ | 312ms | Clicked (existed): 회사 추가 |
| 27 | 새 회사 정보 입력 | - | ✅ | 468ms | fill_form: 3/3 filled |
| 28 | 회사 등록 | - | ✅ | 310ms | Clicked (existed): 등록 |
| 29 | ⚠️ 필수 검증: 회사 등록 반영 확인 | - | ✅ | 0ms | Element exists: body |
| 30 | 원복: 업태 필드 원래 값으로 복구 | - | ✅ | 3529ms | json_fail:Unexpected token 'r', "restored" is not valid JSON/raw:restored |
| 31 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 2 | 2 | 0 | 83ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/company-info |

View File

@@ -0,0 +1,36 @@
# ✅ E2E 테스트 성공: Create+Delete 테스트: 어음관리
**테스트 ID**: create-delete-acc-bills | **실행**: 2026-03-08_11-53-12 | **결과**: PASS
**소요 시간**: 38.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 12 | 12 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
| 2 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [회계관리 > 어음관리] [CREATE] 데이터 생성 | CREATE | ✅ | 8610ms | CREATE |
| 4 | [회계관리 > 어음관리] [CREATE] 생성 후 대기 | - | ✅ | 3004ms | Waited 3000ms |
| 5 | [회계관리 > 어음관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2008ms | evaluate ok |
| 6 | [회계관리 > 어음관리] [CREATE] 목록 안정화 대기 | - | ✅ | 2010ms | Waited 2000ms |
| 7 | [회계관리 > 어음관리] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1006ms | VERIFY_CREATE / rows:20 |
| 8 | [회계관리 > 어음관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6525ms | DELETE |
| 9 | [회계관리 > 어음관리] [DELETE] 삭제 후 대기 | - | ✅ | 3002ms | Waited 3000ms |
| 10 | [회계관리 > 어음관리] [DELETE] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
| 11 | [회계관리 > 어음관리] [DELETE] 목록 안정화 대기 | - | ✅ | 2008ms | Waited 2000ms |
| 12 | [회계관리 > 어음관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1014ms | VERIFY_DELETE / rows:30 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 13 | 13 | 0 | 56ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/bills |

View File

@@ -0,0 +1,36 @@
# ✅ E2E 테스트 성공: Create+Delete 테스트: 입금관리
**테스트 ID**: create-delete-acc-deposit | **실행**: 2026-03-08_11-53-47 | **결과**: PASS
**소요 시간**: 35.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 12 | 12 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
| 2 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [회계관리 > 입금관리] [CREATE] 데이터 생성 | CREATE | ✅ | 6140ms | CREATE |
| 4 | [회계관리 > 입금관리] [CREATE] 생성 후 대기 | - | ✅ | 3012ms | Waited 3000ms |
| 5 | [회계관리 > 입금관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2014ms | evaluate ok |
| 6 | [회계관리 > 입금관리] [CREATE] 목록 안정화 대기 | - | ✅ | 2003ms | Waited 2000ms |
| 7 | [회계관리 > 입금관리] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1000ms | VERIFY_CREATE / rows:20 |
| 8 | [회계관리 > 입금관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6513ms | DELETE |
| 9 | [회계관리 > 입금관리] [DELETE] 삭제 후 대기 | - | ✅ | 3010ms | Waited 3000ms |
| 10 | [회계관리 > 입금관리] [DELETE] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
| 11 | [회계관리 > 입금관리] [DELETE] 목록 안정화 대기 | - | ✅ | 2004ms | Waited 2000ms |
| 12 | [회계관리 > 입금관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1002ms | VERIFY_DELETE / rows:30 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 15 | 15 | 0 | 87ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/deposits |

View File

@@ -0,0 +1,39 @@
# ✅ E2E 테스트 성공: Create+Delete 테스트: 자유게시판
**테스트 ID**: create-delete-board | **실행**: 2026-03-08_11-54-29 | **결과**: PASS
**소요 시간**: 42.0초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 15 | 15 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
| 2 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 3 | [게시판 > 자유게시판] [CREATE] 데이터 생성 | CREATE | ✅ | 5917ms | CREATE |
| 4 | [게시판 > 자유게시판] [CREATE] 생성 후 대기 | - | ✅ | 3014ms | Waited 3000ms |
| 5 | [게시판 > 자유게시판] [CREATE] 목록 복귀 | CREATE | ✅ | 2001ms | evaluate ok |
| 6 | [게시판 > 자유게시판] [CREATE] 목록 안정화 대기 | - | ✅ | 2002ms | Waited 2000ms |
| 7 | [게시판 > 자유게시판] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1001ms | VERIFY_CREATE / rows:10 |
| 8 | [게시판 > 자유게시판] [DELETE] 데이터 삭제 | DELETE | ✅ | 8008ms | DELETE |
| 9 | [게시판 > 자유게시판] [DELETE] 삭제 후 대기 | - | ✅ | 3003ms | Waited 3000ms |
| 10 | [게시판 > 자유게시판] [DELETE] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
| 11 | [게시판 > 자유게시판] [DELETE] 목록 안정화 대기 | - | ✅ | 2001ms | Waited 2000ms |
| 100 | [게시판 > 자유게시판] [VERIFY] 삭제 후 새로고침 | - | ✅ | 1ms | Page reload |
| 101 | [게시판 > 자유게시판] [VERIFY] 새로고침 대기 | - | ✅ | 3002ms | Waited 3000ms |
| 102 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 12 | [게시판 > 자유게시판] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1001ms | VERIFY_DELETE / rows:10 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/boards/free |

View File

@@ -0,0 +1,39 @@
# ✅ E2E 테스트 성공: 모듈 간 데이터 일관성 검증 (판매↔회계, 판매↔생산)
**테스트 ID**: cross-module-data-consistency | **실행**: 2026-03-08_11-55-08 | **결과**: PASS
**소요 시간**: 39.0초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 15 | 15 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [판매 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
| 2 | [판매 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [판매 > 거래처관리] 거래처명 캡처 | CAPTURE_VENDOR | ✅ | 1507ms | CAPTURE_VENDOR / rows:20 |
| 4 | [회계 > 거래처관리] 메뉴 이동 | - | ✅ | 2517ms | Menu navigation: 회계관리 > 거래처관리 |
| 5 | [회계 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3004ms | Waited 3000ms |
| 6 | [회계 > 거래처관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 7 | [회계 > 거래처관리] 거래처 존재 확인 | VERIFY_VENDOR_ACC | ✅ | 6233ms | VERIFY_VENDOR_ACC / ✅ 판매/회계 거래처 데이터 일치 확인: 0090550C / vendor:true / rows:1 |
| 8 | [판매 > 단가관리] 메뉴 이동 | - | ✅ | 509ms | Menu navigation: 판매관리 > 단가관리 |
| 9 | [판매 > 단가관리] 페이지 로드 대기 | - | ✅ | 3017ms | Waited 3000ms |
| 10 | [판매 > 단가관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 11 | [판매 > 단가관리] 품목명 캡처 | CAPTURE_ITEM | ✅ | 1503ms | CAPTURE_ITEM / rows:20 |
| 12 | [생산 > 품목관리] 메뉴 이동 | - | ✅ | 2518ms | Menu navigation: 생산관리 > 품목관리 |
| 13 | [생산 > 품목관리] 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
| 14 | [생산 > 품목관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 15 | [생산 > 품목관리] 품목 존재 확인 | VERIFY_ITEM_PROD | ✅ | 6235ms | VERIFY_ITEM_PROD / ✅ 판매/생산 품목 데이터 일치 확인: 0090550C / item:true / rows:1 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 3 | 3 | 0 | 123ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |

View File

@@ -0,0 +1,43 @@
# ✅ E2E 테스트 성공: 이벤트 게시판 테스트
**테스트 ID**: customer-event | **실행**: 2026-03-08_11-55-25 | **결과**: PASS
**소요 시간**: 16.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 19 | 14 | 0 | 5 | 74% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 고객센터 > 이벤트 게시판 | - | ✅ | 509ms | Menu navigation: 고객센터 > 이벤트 게시판 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/customer-center/events |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 40 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Stats: 3 cards found" is not valid JSON/raw:Sta |
| 5 | 이벤트 페이지 구조 확인 | - | ✅ | 1ms | Checks: 3/3 verified |
| 6 | [READ] 이벤트 목록 데이터 확인 | READ | ⚠️ | 1508ms | Detail checks: 0/1 matched |
| 7 | [FILTER] 상태별 필터 | FILTER | ✅ | 0ms | Checks: 1/1 verified |
| 8 | [READ] 이벤트 상세 보기 | READ | ✅ | 305ms | Clicked (existed): [class*='event']:first-child, table tbody tr:first-child, [cl |
| 9 | 이벤트 상세 정보 확인 | - | ⚠️ | 1514ms | Detail checks: 0/4 matched |
| 10 | 이벤트 참여 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 11 | 공유 기능 확인 | - | ⚠️ | 1510ms | Checks: 0/1 verified |
| 12 | 목록으로 돌아가기 | - | ✅ | 313ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
| 13 | 페이지네이션 확인 | - | ⚠️ | 1514ms | Checks: 0/1 verified |
| 14 | 테이블 행 클릭 - 상세 페이지 이동 | - | ✅ | 501ms | Clicked first row |
| 15 | 상세 페이지 로딩 대기 | - | ✅ | 1006ms | Waited 1000ms |
| 16 | 상세 페이지 - 콘텐츠 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'D', "Detail pag"... is not valid JSON/raw:Detail pag |
| 17 | 모달/상세 닫기 | - | ✅ | 0ms | No modal open |
| 18 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
| 19 | 이벤트 기간 정보 확인 | - | ⚠️ | 1534ms | Detail checks: 0/2 matched |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/customer-center/events |

View File

@@ -0,0 +1,40 @@
# ✅ E2E 테스트 성공: FAQ 테스트
**테스트 ID**: customer-faq | **실행**: 2026-03-08_11-55-37 | **결과**: PASS
**소요 시간**: 12.8초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 16 | 12 | 0 | 4 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 고객센터 > FAQ | - | ✅ | 503ms | Menu navigation: 고객센터 > FAQ |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/customer-center/faq |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 29 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Stats: 7 cards found" is not valid JSON/raw:Sta |
| 5 | FAQ 페이지 구조 확인 | - | ✅ | 0ms | Checks: 2/3 verified |
| 6 | [READ] FAQ 목록 데이터 확인 | READ | ⚠️ | 1517ms | Detail checks: 0/1 matched |
| 7 | [READ] FAQ 항목 펼치기 | READ | ✅ | 0ms | Element not present (ok): [class*='accordion']:first-child, [class*='faq']:first |
| 8 | FAQ 답변 내용 확인 | - | ⚠️ | 1524ms | Detail checks: 0/1 matched |
| 9 | [FILTER] 카테고리 필터 | FILTER | ✅ | 0ms | Element exists: [class*='category'], [class*='tab'] |
| 10 | [FILTER] 카테고리 선택 후 결과 | FILTER | ⚠️ | 1518ms | Detail checks: 0/1 matched |
| 11 | [SEARCH] FAQ 검색 | SEARCH | ✅ | 303ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
| 12 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1507ms | Detail checks: 0/1 matched |
| 13 | FAQ 접기/펼치기 토글 | - | ✅ | 0ms | Checks: 1/1 verified |
| 14 | 페이지네이션 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
| 15 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
| 16 | 전체 보기/접기 | - | ✅ | 0ms | Checks: 1/1 verified |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/customer-center/faq |

View File

@@ -0,0 +1,43 @@
# ✅ E2E 테스트 성공: 공지사항 테스트
**테스트 ID**: customer-notice | **실행**: 2026-03-08_11-55-53 | **결과**: PASS
**소요 시간**: 15.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 19 | 15 | 0 | 4 | 79% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 고객센터 > 공지사항 | - | ✅ | 2504ms | Menu navigation: 고객센터 > 공지사항 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/customer-center/notices |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 39 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Stats: 4 cards found" is not valid JSON/raw:Sta |
| 5 | 공지사항 목록 구조 확인 | - | ✅ | 1ms | Table: 6 cols, 1 rows |
| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 1" is not valid JSON/raw:Filters |
| 7 | [READ] 공지사항 목록 데이터 확인 | READ | ⚠️ | 1522ms | Detail checks: 0/1 matched |
| 8 | [SEARCH] 공지사항 검색 | SEARCH | ✅ | 204ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
| 9 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1516ms | Detail checks: 0/1 matched |
| 10 | [SEARCH] 검색 초기화 | SEARCH | ✅ | 304ms | Clicked (existed): button:has-text('초기화'), button:has-text('전체'), button[class*= |
| 11 | [READ] 공지사항 상세 보기 | READ | ✅ | 307ms | Clicked (existed): table tbody tr:first-child, [class*='list'] [class*='item']:f |
| 12 | 상세 페이지 구조 확인 | - | ✅ | 0ms | Checks: 1/4 verified |
| 13 | 첨부파일 확인 | - | ⚠️ | 1512ms | Checks: 0/1 verified |
| 14 | 이전/다음 글 네비게이션 | - | ⚠️ | 1515ms | Checks: 0/2 verified |
| 15 | 목록으로 돌아가기 | - | ✅ | 310ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
| 16 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 2/2 verified |
| 17 | 정렬 기능 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 18 | 중요 공지 표시 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 19 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 4 | 4 | 0 | 45ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/customer-center/notices |

View File

@@ -0,0 +1,40 @@
# ✅ E2E 테스트 성공: 부서관리 테스트
**테스트 ID**: department-add | **실행**: 2026-03-08_11-56-02 | **결과**: PASS
**소요 시간**: 8.8초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 16 | 16 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 인사관리 > 부서관리 | - | ✅ | 2511ms | Menu navigation: 인사관리 > 부서관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/department-management |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 45 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Stats: 2 cards found" is not valid JSON/raw:Sta |
| 5 | 부서 트리/목록 구조 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'T', "Tables: 0,"... is not valid JSON/raw:Tables: 0, |
| 6 | [READ] 부서 목록 데이터 확인 | READ | ✅ | 0ms | json_fail:Unexpected token 'D', "Dept data "... is not valid JSON/raw:Dept data |
| 7 | [READ] 첫 번째 부서 노드 클릭 | READ | ✅ | 0ms | json_fail:Unexpected token 'N', "No dept it"... is not valid JSON/raw:No dept it |
| 8 | [READ] 부서 상세 정보 확인 | READ | ✅ | 0ms | json_fail:Unexpected token 'D', "Detail vie"... is not valid JSON/raw:Detail vie |
| 9 | 부서 추가 버튼 확인 | - | ✅ | 303ms | Clicked (existed): 추가 |
| 10 | 추가 폼/모달 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'M', "Modal open"... is not valid JSON/raw:Modal open |
| 11 | 추가 모달 닫기 | - | ✅ | 0ms | No modal open |
| 12 | 부서 트리 구조 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'T', "Tree eleme"... is not valid JSON/raw:Tree eleme |
| 13 | 삭제 버튼 존재 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'D', "Delete buttons: 0" is not valid JSON/raw:Delete |
| 14 | 페이지네이션 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
| 15 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
| 16 | 부서관리 페이지 최종 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/department-management |

View File

@@ -0,0 +1,45 @@
# ✅ E2E 테스트 성공: 입금관리 테스트
**테스트 ID**: deposit-management | **실행**: 2026-03-08_11-56-18 | **결과**: PASS
**소요 시간**: 16.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 21 | 20 | 0 | 1 | 95% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2309ms | json_fail:Unexpected token 's', "sidebar expanded" is not valid JSON/raw:sidebar |
| 2 | 2단계 메뉴 진입: 회계관리 > 입금관리 | - | ✅ | 2519ms | Menu navigation: 회계관리 > 입금관리 |
| 3 | 목록 페이지 구조 확인 | - | ✅ | 0ms | Element exists: body |
| 4 | 계정과목명 드롭다운 옵션 확인 | - | ✅ | 304ms | Clicked (existed): 계정과목명 |
| 5 | 체크박스 선택 후 계정과목명 일괄변경 | - | ✅ | 1001ms | json_fail:Unexpected token 'b', "batch upda"... is not valid JSON/raw:batch upda |
| 6 | 필수 검증: 계정과목명 변경 데이터 반영 확인 | - | ✅ | 0ms | Element exists: body |
| 7 | 입금 상세 페이지 이동 | - | ✅ | 505ms | Clicked first row |
| 8 | 상세 페이지 읽기 모드 필드 확인 | - | ✅ | 0ms | Element exists: body |
| 9 | 수정 모드 전환 | - | ✅ | 307ms | Clicked (existed): 수정 |
| 10 | 수정 모드 필드 활성화 검증 | - | ✅ | 0ms | Element exists: body |
| 11 | 거래처 드롭다운 옵션 확인 | - | ✅ | 305ms | Clicked (existed): 거래처 |
| 12 | 입금 유형 드롭다운 옵션 확인 | - | ✅ | 2ms | Element not present (ok): 입금 유형 |
| 13 | 수정 데이터 입력 | - | ✅ | 503ms | json_fail:Unexpected token 'o', "form filled" is not valid JSON/raw:form filled |
| 14 | 저장 및 결과 확인 | - | ✅ | 307ms | Clicked (existed): 저장 |
| 15 | 필수 검증: 수정 데이터 반영 확인 | - | ⚠️ | 1506ms | Detail checks: 0/3 matched |
| 16 | 취소 버튼 동작 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'c', "cancel tested" is not valid JSON/raw:cancel tes |
| 17 | 목록 버튼 동작 확인 | - | ✅ | 1ms | Element not present (ok): 목록 |
| 18 | 필터 드롭다운 검증 | - | ✅ | 0ms | Element exists: body |
| 19 | 날짜 필터 검증 | - | ✅ | 303ms | Clicked (existed): 당해년도 |
| 20 | 페이지네이션 동작 확인 | - | ✅ | 307ms | Clicked (existed): 다음 |
| 21 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 10 | 10 | 0 | 43ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/deposits |

View File

@@ -0,0 +1,47 @@
# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 회계
**테스트 ID**: detail-roundtrip-acc | **실행**: 2026-03-08_11-56-51 | **결과**: PASS
**소요 시간**: 32.6초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 23 | 23 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
| 2 | [회계관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [회계관리 > 거래처관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
| 4 | [회계관리 > 거래처관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 501ms | CLICK_ROW / urlChg:true |
| 5 | [회계관리 > 거래처관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1504ms | VERIFY_DETAIL / idInUrl:true / match:true |
| 6 | [회계관리 > 거래처관리] 목록으로 복귀 | GO_BACK | ✅ | 2003ms | GO_BACK |
| 7 | [회계관리 > 거래처관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1501ms | LIST_INTACT / intact:true |
| 8 | [회계관리 > 어음관리] 메뉴 이동 | - | ✅ | 515ms | Menu navigation: 회계관리 > 어음관리 |
| 9 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3000ms | Waited 3000ms |
| 10 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 11 | [회계관리 > 어음관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
| 12 | [회계관리 > 어음관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 504ms | CLICK_ROW / urlChg:true |
| 13 | [회계관리 > 어음관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1515ms | VERIFY_DETAIL / idInUrl:true / match:true |
| 14 | [회계관리 > 어음관리] 목록으로 복귀 | GO_BACK | ✅ | 2018ms | GO_BACK |
| 15 | [회계관리 > 어음관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1502ms | LIST_INTACT / intact:true |
| 16 | [회계관리 > 입금관리] 메뉴 이동 | - | ✅ | 510ms | Menu navigation: 회계관리 > 입금관리 |
| 17 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
| 18 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 19 | [회계관리 > 입금관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
| 20 | [회계관리 > 입금관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 507ms | CLICK_ROW / urlChg:true |
| 21 | [회계관리 > 입금관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1502ms | VERIFY_DETAIL / idInUrl:true / match:true |
| 22 | [회계관리 > 입금관리] 목록으로 복귀 | GO_BACK | ✅ | 2011ms | GO_BACK |
| 23 | [회계관리 > 입금관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1500ms | LIST_INTACT / intact:true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 14 | 14 | 0 | 56ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/vendors |

View File

@@ -0,0 +1,39 @@
# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 인사/게시판
**테스트 ID**: detail-roundtrip-hr-board | **실행**: 2026-03-08_11-57-16 | **결과**: PASS
**소요 시간**: 25.6초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 15 | 15 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [인사관리 > 사원관리] 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
| 2 | [인사관리 > 사원관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [인사관리 > 사원관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
| 4 | [인사관리 > 사원관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 506ms | CLICK_ROW / urlChg:true |
| 5 | [인사관리 > 사원관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1504ms | VERIFY_DETAIL / idInUrl:true / match:true |
| 6 | [인사관리 > 사원관리] 목록으로 복귀 | GO_BACK | ✅ | 2003ms | GO_BACK |
| 7 | [인사관리 > 사원관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1503ms | LIST_INTACT / intact:true |
| 8 | [게시판 > 자유게시판] 메뉴 이동 | - | ✅ | 2514ms | Menu navigation: 게시판 > 자유게시판 |
| 9 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
| 10 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 11 | [게시판 > 자유게시판] 테이블 상태 캡처 | CAPTURE | ✅ | 0ms | CAPTURE / rows:10 |
| 12 | [게시판 > 자유게시판] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 501ms | CLICK_ROW / urlChg:true |
| 13 | [게시판 > 자유게시판] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1505ms | VERIFY_DETAIL / idInUrl:true / match:true |
| 14 | [게시판 > 자유게시판] 목록으로 복귀 | GO_BACK | ✅ | 2005ms | GO_BACK |
| 15 | [게시판 > 자유게시판] 목록 무결성 확인 | LIST_INTACT | ✅ | 1501ms | LIST_INTACT / intact:true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 17 | 17 | 0 | 54ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/employee-management |

View File

@@ -0,0 +1,47 @@
# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 판매
**테스트 ID**: detail-roundtrip-sales | **실행**: 2026-03-08_11-57-49 | **결과**: PASS
**소요 시간**: 32.6초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 23 | 23 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [판매관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
| 2 | [판매관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [판매관리 > 거래처관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
| 4 | [판매관리 > 거래처관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 506ms | CLICK_ROW / urlChg:true |
| 5 | [판매관리 > 거래처관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1505ms | VERIFY_DETAIL / idInUrl:true / match:true |
| 6 | [판매관리 > 거래처관리] 목록으로 복귀 | GO_BACK | ✅ | 2009ms | GO_BACK |
| 7 | [판매관리 > 거래처관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1501ms | LIST_INTACT / intact:true |
| 8 | [판매관리 > 수주관리] 메뉴 이동 | - | ✅ | 511ms | Menu navigation: 판매관리 > 수주관리 |
| 9 | [판매관리 > 수주관리] 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
| 10 | [판매관리 > 수주관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 11 | [판매관리 > 수주관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
| 12 | [판매관리 > 수주관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 501ms | CLICK_ROW / urlChg:true |
| 13 | [판매관리 > 수주관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1503ms | VERIFY_DETAIL / idInUrl:true / match:true |
| 14 | [판매관리 > 수주관리] 목록으로 복귀 | GO_BACK | ✅ | 2001ms | GO_BACK |
| 15 | [판매관리 > 수주관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1508ms | LIST_INTACT / intact:true |
| 16 | [판매관리 > 견적관리] 메뉴 이동 | - | ✅ | 506ms | Menu navigation: 판매관리 > 견적관리 |
| 17 | [판매관리 > 견적관리] 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
| 18 | [판매관리 > 견적관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 19 | [판매관리 > 견적관리] 테이블 상태 캡처 | CAPTURE | ✅ | 0ms | CAPTURE / rows:20 |
| 20 | [판매관리 > 견적관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 506ms | CLICK_ROW / urlChg:true |
| 21 | [판매관리 > 견적관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1503ms | VERIFY_DETAIL / idInUrl:true / match:true |
| 22 | [판매관리 > 견적관리] 목록으로 복귀 | GO_BACK | ✅ | 2012ms | GO_BACK |
| 23 | [판매관리 > 견적관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1510ms | LIST_INTACT / intact:true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 23 | 23 | 0 | 64ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |

View File

@@ -0,0 +1,36 @@
# ✅ E2E 테스트 성공: 목록↔상세 필드별 대조 검증: 매출관리
**테스트 ID**: detail-verify-acc-sales | **실행**: 2026-03-08_11-58-12 | **결과**: PASS
**소요 시간**: 23.0초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 12 | 12 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5008ms | Waited 5000ms |
| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [회계관리 > 매출관리] [CAPTURE] 첫 행 모든 셀 값 캡처 | CAPTURE | ✅ | 517ms | CAPTURE / rows:20 |
| 4 | [회계관리 > 매출관리] [READ] 첫 행 클릭 → 상세 진입 | READ | ✅ | 2504ms | READ |
| 5 | [회계관리 > 매출관리] [READ] 상세 페이지 로드 대기 | - | ✅ | 2001ms | Waited 2000ms |
| 6 | [회계관리 > 매출관리] [VERIFY] 상세 페이지 필드 1:1 대조 | VERIFY | ✅ | 0ms | DETAIL_VERIFY |
| 7 | [회계관리 > 매출관리] [VERIFY] 세금계산서/거래명세서 Switch 상태 확인 | VERIFY | ✅ | 1ms | SWITCH_VERIFY |
| 8 | [회계관리 > 매출관리] [VERIFY] 수정 모드 진입 가능 확인 | VERIFY | ✅ | 2012ms | EDIT_ACCESS |
| 9 | [회계관리 > 매출관리] [CANCEL] 취소 클릭 | CANCEL | ✅ | 2013ms | CANCEL |
| 10 | [회계관리 > 매출관리] [CANCEL] 목록 복귀 대기 | - | ✅ | 2006ms | Waited 2000ms |
| 11 | [회계관리 > 매출관리] [VERIFY] 목록 복귀 후 테이블 확인 | VERIFY | ✅ | 512ms | BACK_VERIFY / rows:2 |
| 12 | [회계관리 > 매출관리] [VERIFY] 취소 후 데이터 무변경 확인 | VERIFY | ✅ | 503ms | NO_CHANGE_VERIFY |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 9 | 9 | 0 | 59ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/sales |

View File

@@ -0,0 +1,41 @@
# ✅ E2E 테스트 성공: 기안함 테스트
**테스트 ID**: draft-box | **실행**: 2026-03-08_11-58-24 | **결과**: PASS
**소요 시간**: 12.6초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 17 | 15 | 0 | 2 | 88% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 결재관리 > 기안함 | - | ✅ | 2505ms | Menu navigation: 결재관리 > 기안함 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/approval/draft |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 39 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 0ms | Checks: 4/4 verified |
| 5 | 기안함 테이블 구조 확인 | - | ✅ | 1ms | Table: 8 cols, 2 rows |
| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 4" is not valid JSON/raw:Filters |
| 7 | 데이터 로드 확인 | - | ⚠️ | 1505ms | Detail checks: 0/1 matched |
| 8 | [SEARCH] 검색 기능 테스트 | SEARCH | ✅ | 205ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
| 9 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1522ms | Detail checks: 0/1 matched |
| 10 | [SEARCH] 검색 초기화 | SEARCH | ✅ | 315ms | Clicked (existed): button:has-text('초기화'), button:has-text('전체'), button[class*= |
| 11 | 필터 기능 테스트 | - | ✅ | 305ms | Clicked (existed): select, [role='combobox'], button:has-text('임시저장') |
| 12 | [READ] 문서 상세 보기 | READ | ✅ | 304ms | Clicked (existed): table tbody tr:first-child td:nth-child(2), table tbody tr:fi |
| 13 | 상세 페이지/모달 확인 | - | ✅ | 0ms | Checks: 2/2 verified |
| 14 | 모달/상세 닫기 | - | ✅ | 0ms | No modal open |
| 15 | 페이지네이션 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
| 16 | 문서 작성 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 17 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 1 | 1 | 0 | 68ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/approval/draft |

View File

@@ -0,0 +1,38 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 검증 (회계 > 매출관리)
**테스트 ID**: edge-boundary-acc-sales | **실행**: 2026-03-08_11-58-48 | **결과**: PASS
**소요 시간**: 23.5초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 14 | 14 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5002ms | Waited 5000ms |
| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [회계관리 > 매출관리] [EDGE] 등록 폼 열기 | OPEN_FORM | ✅ | 2504ms | OPEN_FORM |
| 4 | [회계관리 > 매출관리] [EDGE] 폼 렌더링 대기 | - | ✅ | 2005ms | Waited 2000ms |
| 5 | [회계관리 > 매출관리] [EDGE] 수량=0 입력 → 자동계산 반응 확인 | BOUNDARY | ✅ | 1ms | ZERO_QTY / 수량 필드 미발견 |
| 6 | [회계관리 > 매출관리] [EDGE] 수량=-1 입력 → 거부/에러 확인 | BOUNDARY | ✅ | 0ms | NEGATIVE_QTY / ⚠️ 음수 입력 에러 미표시 |
| 7 | [회계관리 > 매출관리] [EDGE] 단가=99999.99 소수점 입력 → 처리 확인 | BOUNDARY | ✅ | 0ms | DECIMAL_PRICE / 단가 필드 미발견 |
| 8 | [회계관리 > 매출관리] [EDGE] 품목명 255자 초과 입력 → 잘림/에러 확인 | BOUNDARY | ✅ | 518ms | MAX_LENGTH / ⚠️ 255자 초과 입력이 그대로 수용됨 (274자) |
| 9 | [회계관리 > 매출관리] [EDGE] 특수문자/XSS 입력 → 방어 확인 | BOUNDARY | ✅ | 518ms | XSS_CHECK / ⚠️ XSS 페이로드가 그대로 수용됨 - 서버 측 방어 확인 필요 |
| 10 | [회계관리 > 매출관리] [EDGE] 빈 폼 저장 시도 → 유효성 검사 확인 | BOUNDARY | ✅ | 2968ms | EMPTY_SUBMIT / ✅ 빈 폼 제출 시 유효성 검사 정상 동작 (시그널 2개) |
| 11 | [회계관리 > 매출관리] [EDGE] 빈 폼 제출 후 대기 | - | ✅ | 2001ms | Waited 2000ms |
| 12 | [회계관리 > 매출관리] [EDGE] 유효성 검사 다이얼로그 닫기 | BOUNDARY | ✅ | 0ms | CLOSE_VALIDATION |
| 13 | [회계관리 > 매출관리] [EDGE] 경계값 종합 평가 | SUMMARY | ✅ | 1ms | BOUNDARY_SUMMARY / 경계값 테스트 6개 항목 실행 완료 |
| 14 | [회계관리 > 매출관리] [CLOSE] 폼/모달 닫기 → 목록 복귀 | CLOSE_FORM | ✅ | 2006ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 4 | 4 | 0 | 56ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/sales |

View File

@@ -0,0 +1,38 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (회계 > 입금관리)
**테스트 ID**: edge-boundary-input-accounting | **실행**: 2026-03-08_11-59-11 | **결과**: PASS
**소요 시간**: 23.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 14 | 14 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2507ms | OPEN_FORM |
| 4 | 폼 렌더링 대기 | - | ✅ | 2005ms | Waited 2000ms |
| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1001ms | FIND_INPUTS |
| 6 | 경계값: 최대 길이 입력 | - | ✅ | 304ms | Boundary fill [empty]: "" |
| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1008ms | MAX_LENGTH_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
| 8 | 경계값: 오버플로우 입력 | - | ✅ | 305ms | Boundary fill [empty]: "" |
| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1006ms | OVERFLOW_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 311ms | Boundary fill [empty]: "" |
| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1003ms | SPECIAL_CHARS_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
| 12 | 경계값: 공백만 입력 | - | ✅ | 314ms | Boundary fill [empty]: "" |
| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2507ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2009ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 5 | 5 | 0 | 66ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/deposits |

View File

@@ -0,0 +1,38 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (인사 > 사원관리)
**테스트 ID**: edge-boundary-input-hr | **실행**: 2026-03-08_11-59-34 | **결과**: PASS
**소요 시간**: 23.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 14 | 14 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2515ms | OPEN_FORM |
| 4 | 폼 렌더링 대기 | - | ✅ | 2012ms | Waited 2000ms |
| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1007ms | FIND_INPUTS |
| 6 | 경계값: 최대 길이 입력 | - | ✅ | 303ms | Boundary fill [empty]: "" |
| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1016ms | MAX_LENGTH_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
| 8 | 경계값: 오버플로우 입력 | - | ✅ | 303ms | Boundary fill [empty]: "" |
| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1016ms | OVERFLOW_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 314ms | Boundary fill [empty]: "" |
| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1009ms | SPECIAL_CHARS_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
| 12 | 경계값: 공백만 입력 | - | ✅ | 305ms | Boundary fill [empty]: "" |
| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2520ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2004ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 6 | 6 | 0 | 53ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/employee-management |

View File

@@ -0,0 +1,38 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (판매 > 거래처관리)
**테스트 ID**: edge-boundary-input-sales | **실행**: 2026-03-08_11-59-58 | **결과**: PASS
**소요 시간**: 23.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 14 | 14 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2506ms | OPEN_FORM |
| 4 | 폼 렌더링 대기 | - | ✅ | 2002ms | Waited 2000ms |
| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1016ms | FIND_INPUTS |
| 6 | 경계값: 최대 길이 입력 | - | ✅ | 303ms | Boundary fill [empty]: "" |
| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1013ms | MAX_LENGTH_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
| 8 | 경계값: 오버플로우 입력 | - | ✅ | 305ms | Boundary fill [empty]: "" |
| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1016ms | OVERFLOW_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 317ms | Boundary fill [empty]: "" |
| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1003ms | SPECIAL_CHARS_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
| 12 | 경계값: 공백만 입력 | - | ✅ | 303ms | Boundary fill [empty]: "" |
| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2536ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2008ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 2 | 2 | 0 | 17ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |

View File

@@ -0,0 +1,29 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 동시 액션 (인사 > 근태관리)
**테스트 ID**: edge-concurrent-action-hr | **실행**: 2026-03-08_12-00-12 | **결과**: PASS
**소요 시간**: 13.8초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 5 | 5 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 탭/필터 빠른 전환 테스트 | RAPID_TAB_SWITCH | ✅ | 2677ms | RAPID_TAB_SWITCH / ✅ 빠른 전환 후 정상 상태 |
| 4 | 페이지네이션 빠른 클릭 | RAPID_PAGINATION | ✅ | 0ms | RAPID_PAGINATION / W:페이지네이션 버튼 부족 |
| 5 | 다중 버튼 동시 클릭 시뮬레이션 | MULTI_BUTTON_CLICK | ✅ | 2104ms | MULTI_BUTTON_CLICK / ✅ 다중 버튼 클릭 후 정상 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/attendance-management |

View File

@@ -0,0 +1,31 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (회계 > 입금관리)
**테스트 ID**: edge-empty-submit-accounting | **실행**: 2026-03-08_12-00-31 | **결과**: PASS
**소요 시간**: 19.0초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 7 | 7 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2504ms | OPEN_FORM |
| 4 | 폼 렌더링 대기 | - | ✅ | 2000ms | Waited 2000ms |
| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2526ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
| 6 | 결과 확인 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2012ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 5 | 5 | 0 | 65ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/deposits |

View File

@@ -0,0 +1,31 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (게시판 > 자유게시판)
**테스트 ID**: edge-empty-submit-board | **실행**: 2026-03-08_12-00-50 | **결과**: PASS
**소요 시간**: 19.0초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 7 | 7 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2512ms | OPEN_FORM |
| 4 | 폼 렌더링 대기 | - | ✅ | 2016ms | Waited 2000ms |
| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2519ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
| 6 | 결과 확인 대기 | - | ✅ | 1016ms | Waited 1000ms |
| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2005ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 5 | 5 | 0 | 55ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/boards/free |

View File

@@ -0,0 +1,31 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (인사 > 사원관리)
**테스트 ID**: edge-empty-submit-hr | **실행**: 2026-03-08_12-01-09 | **결과**: PASS
**소요 시간**: 19.0초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 7 | 7 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2506ms | OPEN_FORM |
| 4 | 폼 렌더링 대기 | - | ✅ | 2016ms | Waited 2000ms |
| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2522ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
| 6 | 결과 확인 대기 | - | ✅ | 1003ms | Waited 1000ms |
| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2011ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 6 | 6 | 0 | 53ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/employee-management |

View File

@@ -0,0 +1,31 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (판매 > 거래처관리)
**테스트 ID**: edge-empty-submit-sales | **실행**: 2026-03-08_12-01-28 | **결과**: PASS
**소요 시간**: 19.0초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 7 | 7 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2515ms | OPEN_FORM |
| 4 | 폼 렌더링 대기 | - | ✅ | 2005ms | Waited 2000ms |
| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2532ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
| 6 | 결과 확인 대기 | - | ✅ | 1004ms | Waited 1000ms |
| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2002ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 2 | 2 | 0 | 19ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |

View File

@@ -0,0 +1,37 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 숫자 경계값 (회계 > 입금관리)
**테스트 ID**: edge-numeric-boundary-accounting | **실행**: 2026-03-08_12-01-51 | **결과**: PASS
**소요 시간**: 23.5초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 13 | 13 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2508ms | OPEN_FORM |
| 4 | 폼 렌더링 대기 | - | ✅ | 2015ms | Waited 2000ms |
| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1006ms | FIND_INPUTS |
| 6 | 숫자 필드 탐색 및 0 입력 | NUMERIC_ZERO | ✅ | 514ms | NUMERIC_ZERO |
| 7 | 0 입력 결과 확인 | NUMERIC_ZERO_CHECK | ✅ | 1006ms | NUMERIC_ZERO_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
| 8 | 숫자 필드에 음수 입력 | NUMERIC_NEGATIVE | ✅ | 510ms | NUMERIC_NEGATIVE |
| 9 | 음수 입력 결과 확인 | NUMERIC_NEGATIVE_CHECK | ✅ | 1005ms | NUMERIC_NEGATIVE_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
| 10 | 숫자 필드에 최대값 입력 | NUMERIC_MAX | ✅ | 506ms | NUMERIC_MAX |
| 11 | 최대값 입력 결과 확인 | NUMERIC_MAX_CHECK | ✅ | 1011ms | NUMERIC_MAX_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
| 12 | 경계값 상태로 저장 시도 | NUMERIC_SUBMIT_CHECK | ✅ | 2503ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
| 13 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2005ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 5 | 5 | 0 | 66ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/deposits |

View File

@@ -0,0 +1,34 @@
# ✅ E2E 테스트 성공: 엣지 케이스: UI 내구성 연타 테스트 (회계 > 매출관리)
**테스트 ID**: edge-rapid-click-acc-sales | **실행**: 2026-03-08_12-02-19 | **결과**: PASS
**소요 시간**: 27.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 10 | 10 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5009ms | Waited 5000ms |
| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 3 | [회계관리 > 매출관리] [RAPID] 헤더 체크박스 10회 연타 → 최종 상태 일관성 | RAPID_CLICK | ✅ | 1550ms | RAPID_HEADER_CHECKBOX / ✅ 10회 연타 후 체크박스 일관성 유지 (unchecked, body: 0/20) |
| 4 | [회계관리 > 매출관리] [RAPID] 체크박스 연타 후 안정화 대기 | - | ✅ | 1003ms | Waited 1000ms |
| 5 | [회계관리 > 매출관리] [RAPID] 등록 폼 열기 | OPEN_FORM | ✅ | 2504ms | OPEN_FORM |
| 6 | [회계관리 > 매출관리] [RAPID] 폼 렌더링 대기 | - | ✅ | 2004ms | Waited 2000ms |
| 7 | [회계관리 > 매출관리] [RAPID] 등록 버튼 5회 연타 → 중복 제출 방지 확인 | RAPID_CLICK | ✅ | 3279ms | RAPID_SUBMIT / ✅ 5회 연타 시 중복 제출 방지 (POST 0회) |
| 8 | [회계관리 > 매출관리] [RAPID] 연타 후 상태 확인 + 다이얼로그 닫기 | RAPID_CLICK | ✅ | 1007ms | RAPID_RESULT |
| 9 | [회계관리 > 매출관리] [RAPID] 품목 추가 버튼 10회 연타 → 적절한 행 수 확인 | RAPID_CLICK | ✅ | 2879ms | RAPID_ADD_ITEM / ✅ 10회 연타 후 품목 행 10개 추가 (합리적) |
| 10 | [회계관리 > 매출관리] [CLOSE] 폼/모달 닫기 → 목록 복귀 | CLOSE_FORM | ✅ | 2008ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 4 | 4 | 0 | 55ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/sales |

View File

@@ -0,0 +1,30 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 삭제 버튼 연타 (게시판 > 자유게시판)
**테스트 ID**: edge-rapid-click-delete | **실행**: 2026-03-08_12-02-34 | **결과**: PASS
**소요 시간**: 15.8초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 6 | 6 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 3 | 첫 번째 행 클릭 | - | ✅ | 508ms | Clicked first row |
| 4 | 상세 페이지 대기 | - | ✅ | 2011ms | Waited 2000ms |
| 5 | 삭제 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_DELETE | ✅ | 2286ms | RAPID_CLICK_DELETE |
| 6 | 연타 후 상태 확인 | RAPID_DELETE_RESULT | ✅ | 2002ms | RAPID_DELETE_RESULT / ✅ 연타 클릭 후 정상 상태 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 4 | 4 | 0 | 53ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/boards/free |

View File

@@ -0,0 +1,31 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 저장 버튼 연타 (게시판 > 자유게시판)
**테스트 ID**: edge-rapid-click-save-board | **실행**: 2026-03-08_12-02-54 | **결과**: PASS
**소요 시간**: 19.8초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 7 | 7 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2511ms | OPEN_FORM |
| 4 | 폼 렌더링 대기 | - | ✅ | 2001ms | Waited 2000ms |
| 6 | 저장 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_SAVE | ✅ | 2300ms | RAPID_CLICK_SAVE |
| 7 | 연타 후 상태 확인 | RAPID_CLICK_RESULT | ✅ | 2002ms | RAPID_CLICK_RESULT / ✅ 연타 클릭 후 정상 상태 |
| 8 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2013ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 5 | 5 | 0 | 52ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/boards/free |

View File

@@ -0,0 +1,31 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 저장 버튼 연타 (판매 > 거래처관리)
**테스트 ID**: edge-rapid-click-save-sales | **실행**: 2026-03-08_12-03-14 | **결과**: PASS
**소요 시간**: 19.8초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 7 | 7 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2508ms | OPEN_FORM |
| 4 | 폼 렌더링 대기 | - | ✅ | 2004ms | Waited 2000ms |
| 6 | 저장 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_SAVE | ✅ | 2268ms | RAPID_CLICK_SAVE |
| 7 | 연타 후 상태 확인 | RAPID_CLICK_RESULT | ✅ | 2004ms | RAPID_CLICK_RESULT / ✅ 연타 클릭 후 정상 상태 |
| 8 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2002ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 2 | 2 | 0 | 25ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |

View File

@@ -0,0 +1,38 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 특수문자 검색 (게시판 > 자유게시판)
**테스트 ID**: edge-special-chars-board | **실행**: 2026-03-08_12-03-46 | **결과**: PASS
**소요 시간**: 31.9초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 14 | 14 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 3 | 특수문자 검색: <script> | SEARCH_XSS | ✅ | 2224ms | FILL_SEARCH |
| 4 | 특수문자 검색 결과 확인 | SEARCH_XSS_CHECK | ✅ | 2005ms | SEARCH_XSS_CHECK / ✅ 특수문자 검색 시 에러 없음 (정상) / rows:1 |
| 5 | 검색 초기화 | - | ✅ | 1504ms | CLEAR_SEARCH |
| 6 | SQL 인젝션 검색 | SEARCH_SQL | ✅ | 2210ms | FILL_SEARCH |
| 7 | SQL 인젝션 검색 결과 확인 | SEARCH_SQL_CHECK | ✅ | 2008ms | SEARCH_SQL_CHECK / ✅ 특수문자 검색 시 에러 없음 (정상) / rows:1 |
| 8 | 검색 초기화 | - | ✅ | 1506ms | CLEAR_SEARCH |
| 9 | 유니코드/이모지 검색 | SEARCH_UNICODE | ✅ | 2214ms | FILL_SEARCH |
| 10 | 유니코드 검색 결과 확인 | SEARCH_UNICODE_CHECK | ✅ | 2017ms | SEARCH_UNICODE_CHECK / ✅ 특수문자 검색 시 에러 없음 (정상) / rows:1 |
| 11 | 검색 초기화 | - | ✅ | 1503ms | CLEAR_SEARCH |
| 12 | 초장문 검색 | SEARCH_LONG | ✅ | 2206ms | FILL_SEARCH |
| 13 | 초장문 검색 결과 확인 | SEARCH_LONG_CHECK | ✅ | 2004ms | SEARCH_LONG_CHECK / ✅ 특수문자 검색 시 에러 없음 (정상) / rows:1 |
| 14 | 검색 초기화 | - | ✅ | 1506ms | CLEAR_SEARCH |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 2 | 2 | 0 | 117ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/boards/free |

View File

@@ -0,0 +1,38 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 특수문자 검색 (판매 > 거래처관리)
**테스트 ID**: edge-special-chars-search | **실행**: 2026-03-08_12-04-18 | **결과**: PASS
**소요 시간**: 31.9초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 14 | 14 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 특수문자 검색: <script> | SEARCH_XSS | ✅ | 2209ms | FILL_SEARCH |
| 4 | 특수문자 검색 결과 확인 | SEARCH_XSS_CHECK | ✅ | 2016ms | SEARCH_XSS_CHECK / ✅ 특수문자 검색 시 에러 없음 (정상) / rows:1 |
| 5 | 검색 초기화 | - | ✅ | 1504ms | CLEAR_SEARCH |
| 6 | SQL 인젝션 검색 | SEARCH_SQL | ✅ | 2221ms | FILL_SEARCH |
| 7 | SQL 인젝션 검색 결과 확인 | SEARCH_SQL_CHECK | ✅ | 2009ms | SEARCH_SQL_CHECK / ✅ 특수문자 검색 시 에러 없음 (정상) / rows:1 |
| 8 | 검색 초기화 | - | ✅ | 1507ms | CLEAR_SEARCH |
| 9 | 유니코드/이모지 검색 | SEARCH_UNICODE | ✅ | 2215ms | FILL_SEARCH |
| 10 | 유니코드 검색 결과 확인 | SEARCH_UNICODE_CHECK | ✅ | 2008ms | SEARCH_UNICODE_CHECK / ✅ 특수문자 검색 시 에러 없음 (정상) / rows:1 |
| 11 | 검색 초기화 | - | ✅ | 1503ms | CLEAR_SEARCH |
| 12 | 초장문 검색 | SEARCH_LONG | ✅ | 2211ms | FILL_SEARCH |
| 13 | 초장문 검색 결과 확인 | SEARCH_LONG_CHECK | ✅ | 2008ms | SEARCH_LONG_CHECK / ✅ 특수문자 검색 시 에러 없음 (정상) / rows:1 |
| 14 | 검색 초기화 | - | ✅ | 1505ms | CLEAR_SEARCH |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 2 | 2 | 0 | 106ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |

View File

@@ -0,0 +1,34 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 유니코드 입력 (게시판 > 자유게시판)
**테스트 ID**: edge-unicode-input-board | **실행**: 2026-03-08_12-04-38 | **결과**: PASS
**소요 시간**: 20.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 10 | 10 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 3009ms | Waited 3000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2507ms | OPEN_FORM |
| 4 | 폼 렌더링 대기 | - | ✅ | 2005ms | Waited 2000ms |
| 5 | 유니코드: 이모지 입력 | - | ✅ | 306ms | Boundary fill [empty]: "" |
| 6 | 이모지 입력 결과 확인 | EMOJI_CHECK | ✅ | 1012ms | EMOJI_CHECK / ⚠️ 경계값 입력 시 에러 미감지 (정상 가능) |
| 7 | 유니코드: CJK + RTL 입력 | CJK_RTL_INPUT | ✅ | 501ms | CJK_RTL_INPUT / ✅ CJK/RTL 유니코드 정상 입력 |
| 8 | 유니코드: 제로폭 문자 입력 | ZERO_WIDTH_INPUT | ✅ | 513ms | ZERO_WIDTH_INPUT / 제로폭 문자 포함 입력 완료 (전체: 13, 가시: 8) |
| 9 | 유니코드 상태로 저장 시도 | UNICODE_SUBMIT_CHECK | ✅ | 2510ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
| 10 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2014ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 5 | 5 | 0 | 56ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/boards/free |

View File

@@ -0,0 +1,44 @@
# ✅ E2E 테스트 성공: 폼 유효성 검증 감사: 회계 (어음/입금/출금)
**테스트 ID**: form-validation-acc | **실행**: 2026-03-08_12-05-21 | **결과**: PASS
**소요 시간**: 43.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 20 | 20 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
| 2 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [회계관리 > 어음관리] 등록 폼 열기 | - | ✅ | 2509ms | OPEN_FORM |
| 4 | [회계관리 > 어음관리] 폼 렌더링 대기 | - | ✅ | 2006ms | Waited 2000ms |
| 5 | [회계관리 > 어음관리] 빈 폼 제출 유효성 감사 | VALIDATE | ✅ | 2008ms | VALIDATION_AUDIT / urlChg:false |
| 6 | [회계관리 > 어음관리] 폼 닫기 | - | ✅ | 2003ms | CLOSE_FORM |
| 7 | [회계관리 > 입금관리] 메뉴 이동 | - | ✅ | 511ms | Menu navigation: 회계관리 > 입금관리 |
| 8 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
| 9 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 10 | [회계관리 > 입금관리] 등록 폼 열기 | - | ✅ | 2507ms | OPEN_FORM |
| 11 | [회계관리 > 입금관리] 폼 렌더링 대기 | - | ✅ | 2010ms | Waited 2000ms |
| 12 | [회계관리 > 입금관리] 빈 폼 제출 유효성 감사 | VALIDATE | ✅ | 2016ms | VALIDATION_AUDIT / urlChg:false |
| 13 | [회계관리 > 입금관리] 폼 닫기 | - | ✅ | 2002ms | CLOSE_FORM |
| 14 | [회계관리 > 출금관리] 메뉴 이동 | - | ✅ | 2010ms | Menu navigation: 회계관리 > 출금관리 |
| 15 | [회계관리 > 출금관리] 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
| 16 | [회계관리 > 출금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 17 | [회계관리 > 출금관리] 등록 폼 열기 | - | ✅ | 2508ms | OPEN_FORM |
| 18 | [회계관리 > 출금관리] 폼 렌더링 대기 | - | ✅ | 2013ms | Waited 2000ms |
| 19 | [회계관리 > 출금관리] 빈 폼 제출 유효성 감사 | VALIDATE | ✅ | 2006ms | VALIDATION_AUDIT / urlChg:false |
| 20 | [회계관리 > 출금관리] 폼 닫기 | - | ✅ | 2016ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 14 | 14 | 0 | 67ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/bills |

View File

@@ -0,0 +1,37 @@
# ✅ E2E 테스트 성공: 폼 유효성 검증 감사: 생산/게시판
**테스트 ID**: form-validation-misc | **실행**: 2026-03-08_12-05-46 | **결과**: PASS
**소요 시간**: 25.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 13 | 13 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [생산관리 > 작업지시 관리] 페이지 로드 대기 | - | ✅ | 3001ms | Waited 3000ms |
| 2 | [생산관리 > 작업지시 관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [생산관리 > 작업지시 관리] 등록 폼 열기 | - | ✅ | 1ms | OPEN_FORM |
| 4 | [생산관리 > 작업지시 관리] 폼 렌더링 대기 | - | ✅ | 2007ms | Waited 2000ms |
| 5 | [생산관리 > 작업지시 관리] 빈 폼 제출 유효성 감사 | VALIDATE | ✅ | 2ms | VALIDATION_AUDIT |
| 6 | [생산관리 > 작업지시 관리] 폼 닫기 | - | ✅ | 0ms | CLOSE_FORM |
| 7 | [게시판 > 자유게시판] 메뉴 이동 | - | ✅ | 2517ms | Menu navigation: 게시판 > 자유게시판 |
| 8 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3003ms | Waited 3000ms |
| 9 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 10 | [게시판 > 자유게시판] 등록 폼 열기 | - | ✅ | 2504ms | OPEN_FORM |
| 11 | [게시판 > 자유게시판] 폼 렌더링 대기 | - | ✅ | 2005ms | Waited 2000ms |
| 12 | [게시판 > 자유게시판] 빈 폼 제출 유효성 감사 | VALIDATE | ✅ | 2004ms | VALIDATION_AUDIT / urlChg:false |
| 13 | [게시판 > 자유게시판] 폼 닫기 | - | ✅ | 2002ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 8 | 8 | 0 | 52ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/production/work-orders |

View File

@@ -0,0 +1,44 @@
# ✅ E2E 테스트 성공: 폼 유효성 검증 감사: 판매 (거래처/수주/견적)
**테스트 ID**: form-validation-sales | **실행**: 2026-03-08_12-06-29 | **결과**: PASS
**소요 시간**: 43.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 20 | 20 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [판매관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
| 2 | [판매관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [판매관리 > 거래처관리] 등록 폼 열기 | - | ✅ | 2502ms | OPEN_FORM |
| 4 | [판매관리 > 거래처관리] 폼 렌더링 대기 | - | ✅ | 2008ms | Waited 2000ms |
| 5 | [판매관리 > 거래처관리] 빈 폼 제출 유효성 감사 | VALIDATE | ✅ | 2004ms | VALIDATION_AUDIT / urlChg:false |
| 6 | [판매관리 > 거래처관리] 폼 닫기 | - | ✅ | 2002ms | CLOSE_FORM |
| 7 | [판매관리 > 수주관리] 메뉴 이동 | - | ✅ | 505ms | Menu navigation: 판매관리 > 수주관리 |
| 8 | [판매관리 > 수주관리] 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
| 9 | [판매관리 > 수주관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 10 | [판매관리 > 수주관리] 등록 폼 열기 | - | ✅ | 2508ms | OPEN_FORM |
| 11 | [판매관리 > 수주관리] 폼 렌더링 대기 | - | ✅ | 2014ms | Waited 2000ms |
| 12 | [판매관리 > 수주관리] 빈 폼 제출 유효성 감사 | VALIDATE | ✅ | 2006ms | VALIDATION_AUDIT / urlChg:false |
| 13 | [판매관리 > 수주관리] 폼 닫기 | - | ✅ | 2016ms | CLOSE_FORM |
| 14 | [판매관리 > 견적관리] 메뉴 이동 | - | ✅ | 2012ms | Menu navigation: 판매관리 > 견적관리 |
| 15 | [판매관리 > 견적관리] 페이지 로드 대기 | - | ✅ | 3008ms | Waited 3000ms |
| 16 | [판매관리 > 견적관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 17 | [판매관리 > 견적관리] 등록 폼 열기 | - | ✅ | 2506ms | OPEN_FORM |
| 18 | [판매관리 > 견적관리] 폼 렌더링 대기 | - | ✅ | 2014ms | Waited 2000ms |
| 19 | [판매관리 > 견적관리] 빈 폼 제출 유효성 감사 | VALIDATE | ✅ | 2009ms | VALIDATION_AUDIT / urlChg:false |
| 20 | [판매관리 > 견적관리] 폼 닫기 | - | ✅ | 2012ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 8 | 8 | 0 | 40ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |

View File

@@ -0,0 +1,46 @@
# ✅ E2E 테스트 성공: 자유게시판 E2E 테스트
**테스트 ID**: free-board | **실행**: 2026-03-08_12-06-43 | **결과**: PASS
**소요 시간**: 13.4초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 22 | 22 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 게시판 > 자유게시판 | - | ✅ | 2507ms | Menu navigation: 게시판 > 자유게시판 |
| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/boards/free |
| 3 | 목업 감지 | - | ✅ | 0ms | Real page: 1 inputs, 70 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 32 "... is not valid JSON/raw:Stats: 32 |
| 5 | 자유게시판 페이지 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 6 | 테이블 확인 | - | ✅ | 0ms | Table: 7 cols, 10 rows |
| 7 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 2" is not valid JSON/raw:Filters |
| 8 | 검색 기능 | - | ✅ | 1005ms | Searched: "테스트" |
| 9 | 검색 결과 대기 | - | ✅ | 1005ms | Waited 1000ms |
| 10 | 검색 결과 데이터 검증 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Search res"... is not valid JSON/raw:Search res |
| 11 | 검색 초기화 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Search cleared" is not valid JSON/raw:Search cl |
| 12 | 검색 초기화 결과 대기 | - | ✅ | 1007ms | Waited 1000ms |
| 13 | 검색 초기화 및 복원 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'R', "Restored: 1 rows" is not valid JSON/raw:Restore |
| 14 | 검색 후 페이지 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 15 | 첫 번째 행 클릭 | - | ✅ | 521ms | Clicked first row |
| 16 | 상세 페이지 로딩 대기 | - | ✅ | 1013ms | Waited 1000ms |
| 17 | 상세 페이지 - 콘텐츠 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'D', "Detail pag"... is not valid JSON/raw:Detail pag |
| 18 | 상세 페이지 확인 | - | ✅ | 1ms | Detail checks: 1/1 |
| 19 | 모달 닫기 | - | ✅ | 0ms | No modal open |
| 20 | 페이지네이션 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
| 21 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
| 22 | 목록 복귀 | - | ✅ | 306ms | Clicked (existed): button:has-text('목록'), a:has-text('목록') |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 7 | 7 | 0 | 68ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/boards/free |

View File

@@ -0,0 +1,56 @@
# ✅ E2E 테스트 성공: Full CRUD 테스트: 어음관리 (Enhanced)
**테스트 ID**: full-crud-acc-bills | **실행**: 2026-03-08_12-07-49 | **결과**: PASS
**소요 시간**: 66.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 32 | 32 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 3007ms | Waited 3000ms |
| 2 | [회계관리 > 어음관리] ts 초기화 + sessionStorage 연동 | - | ✅ | 0ms | evaluate ok |
| 3 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 4 | [회계관리 > 어음관리] [CREATE] 어음 등록 버튼 클릭 | CREATE | ✅ | 2501ms | CREATE_OPEN |
| 5 | [회계관리 > 어음관리] [CREATE] 폼 로드 대기 | - | ✅ | 1514ms | Waited 1500ms |
| 6 | [회계관리 > 어음관리] [CREATE] 어음번호 + 거래처(combobox) + 금액 + 비고 입력 | CREATE | ✅ | 11796ms | CREATE_FILL |
| 7 | [회계관리 > 어음관리] [CREATE] 발행일 + 만기일 날짜 선택 (date picker) | CREATE | ✅ | 2249ms | CREATE_DATES |
| 8 | [회계관리 > 어음관리] [CREATE] 금액 콤마 포맷 검증 (10,000) | VERIFY | ✅ | 306ms | VERIFY_AMOUNT_FORMAT / 금액 미감지 (입력 직후 포맷 지연 가능, step 18에서 재검증) |
| 9 | [회계관리 > 어음관리] [CREATE] 등록 제출 | CREATE | ✅ | 3005ms | CREATE_SUBMIT |
| 10 | [회계관리 > 어음관리] [CREATE] API POST 검증 | VERIFY | ✅ | 500ms | API_POST_CHECK / POST API 200 (103ms) |
| 11 | [회계관리 > 어음관리] [CREATE] 생성 후 대기 | - | ✅ | 2007ms | Waited 2000ms |
| 12 | [회계관리 > 어음관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2005ms | evaluate ok |
| 13 | [회계관리 > 어음관리] [CREATE] 목록 안정화 대기 | - | ✅ | 2002ms | Waited 2000ms |
| 14 | [회계관리 > 어음관리] [VERIFY-CREATE] 목록에서 생성 데이터 + 첫행 셀값 캡처 | VERIFY | ✅ | 507ms | VERIFY_CREATE / rows:20 |
| 15 | [회계관리 > 어음관리] [READ] 상세 페이지 진입 (E2E_TEST_ 행 클릭) | READ | ✅ | 2513ms | READ |
| 16 | [회계관리 > 어음관리] [READ] 상세 페이지 로드 대기 | - | ✅ | 2007ms | Waited 2000ms |
| 17 | [회계관리 > 어음관리] [READ] 상세 필드별 1:1 대조 (목록↔상세 roundtrip) | READ | ✅ | 1ms | DETAIL_VERIFY |
| 18 | [회계관리 > 어음관리] [READ] 금액 10,000 표시 확인 | VERIFY | ✅ | 1ms | READ_AMOUNT / 금액 10,000 미감지 (포맷 차이 가능) |
| 19 | [회계관리 > 어음관리] [UPDATE] 수정 버튼 클릭 + 금액 20,000 변경 + 비고 변경 | UPDATE | ✅ | 2215ms | UPDATE |
| 20 | [회계관리 > 어음관리] [UPDATE] 저장 클릭 | UPDATE | ✅ | 3007ms | UPDATE_SAVE |
| 21 | [회계관리 > 어음관리] [UPDATE] API PUT 검증 | VERIFY | ✅ | 500ms | API_PUT_CHECK / PUT/PATCH API 미감지 |
| 22 | [회계관리 > 어음관리] [UPDATE] 수정 후 대기 | - | ✅ | 2012ms | Waited 2000ms |
| 23 | [회계관리 > 어음관리] [UPDATE] 수정 내용 검증 (금액 20,000 + 비고 수정됨) | VERIFY | ✅ | 1ms | VERIFY_UPDATE / 금액 20,000 확인 / 비고 수정됨 미감지 |
| 24 | [회계관리 > 어음관리] [UPDATE] 목록 복귀 | UPDATE | ✅ | 0ms | evaluate ok |
| 25 | [회계관리 > 어음관리] [UPDATE] 목록 안정화 대기 | - | ✅ | 2000ms | Waited 2000ms |
| 26 | [회계관리 > 어음관리] [DELETE] 데이터 삭제 (행 클릭 → 삭제 → 확인) | DELETE | ✅ | 8011ms | DELETE |
| 27 | [회계관리 > 어음관리] [DELETE] API DELETE 검증 | VERIFY | ✅ | 514ms | API_DELETE_CHECK / DELETE API 미감지 |
| 28 | [회계관리 > 어음관리] [DELETE] 삭제 후 대기 | - | ✅ | 3003ms | Waited 3000ms |
| 29 | [회계관리 > 어음관리] [DELETE] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
| 30 | [회계관리 > 어음관리] [DELETE] 목록 안정화 대기 | - | ✅ | 2002ms | Waited 2000ms |
| 31 | [회계관리 > 어음관리] [VERIFY-DELETE] 삭제 확인 (목록에서 E2E_TEST_ 부재 확인) | VERIFY | ✅ | 1002ms | VERIFY_DELETE / rows:20 |
| 32 | [회계관리 > 어음관리] [SUMMARY] API 호출 통계 | VERIFY | ✅ | 0ms | API_SUMMARY / API: 25건 (성공 25, 실패 0, 평균 59ms, 느린호출 0건) / api:25 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 25 | 25 | 0 | 59ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/bills |

View File

@@ -0,0 +1,59 @@
# ✅ E2E 테스트 성공: Full CRUD 테스트: 입금관리 (금액포맷+상세대조+API검증)
**테스트 ID**: full-crud-acc-deposit | **실행**: 2026-03-08_12-08-45 | **결과**: PASS
**소요 시간**: 55.8초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 35 | 35 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 3005ms | Waited 3000ms |
| 2 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 3 | [회계관리 > 입금관리] [SETUP] 타임스탬프 초기화 + sessionStorage 저장 | SETUP | ✅ | 0ms | evaluate ok |
| 4 | [회계관리 > 입금관리] [CREATE] 입금 등록 버튼 클릭 | CREATE | ✅ | 2507ms | CREATE_OPEN |
| 5 | [회계관리 > 입금관리] [CREATE] 등록 폼 로드 대기 | - | ✅ | 2020ms | Waited 2000ms |
| 6 | [회계관리 > 입금관리] [CREATE] 입금자명 + 입금금액(50,000) + 적요 입력 | CREATE | ✅ | 627ms | FILL_BASIC |
| 7 | [회계관리 > 입금관리] [CREATE] 금액 포맷 검증: 50000 → '50,000' 콤마 표시 | VERIFY | ✅ | 310ms | AMT_FORMAT_CHECK / ✅ 금액 콤마 포맷: 50,000 |
| 8 | [회계관리 > 입금관리] [CREATE] 입금유형 콤보박스 선택 | CREATE | ✅ | 0ms | TYPE_COMBO |
| 9 | [회계관리 > 입금관리] [CREATE] 거래처 콤보박스 선택 | CREATE | ✅ | 0ms | VENDOR_COMBO |
| 10 | [회계관리 > 입금관리] [CREATE] 입금일 날짜 선택 (오늘) | CREATE | ✅ | 910ms | DATE_SELECT |
| 11 | [회계관리 > 입금관리] [CREATE] 등록 클릭 | CREATE | ✅ | 3002ms | SUBMIT |
| 12 | [회계관리 > 입금관리] [CREATE] API POST 검증 | VERIFY | ✅ | 504ms | API_POST_CHECK / ✅ POST 200 (72ms) |
| 13 | [회계관리 > 입금관리] [CREATE] 생성 후 대기 | - | ✅ | 3004ms | Waited 3000ms |
| 14 | [회계관리 > 입금관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2013ms | evaluate ok |
| 15 | [회계관리 > 입금관리] [CREATE] 목록 안정화 대기 | - | ✅ | 2002ms | Waited 2000ms |
| 16 | [회계관리 > 입금관리] [VERIFY] 생성 데이터 확인 + 목록 행 캡처 | VERIFY | ✅ | 503ms | VERIFY_CREATE / rows:20 |
| 17 | [회계관리 > 입금관리] [READ] 상세 페이지 진입 | READ | ✅ | 2507ms | READ |
| 18 | [회계관리 > 입금관리] [READ] 상세 페이지 대기 | - | ✅ | 2005ms | Waited 2000ms |
| 19 | [회계관리 > 입금관리] [READ] 목록↔상세 필드 1:1 대조 (detail roundtrip) | VERIFY | ✅ | 1ms | DETAIL_ROUNDTRIP / 상세 대조: 5/5 (100%) |
| 20 | [회계관리 > 입금관리] [READ] 상세 데이터 검증 (입금자+금액50000+적요) | READ | ✅ | 0ms | READ_VERIFY / E2E=true amount=false |
| 21 | [회계관리 > 입금관리] [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 2012ms | UPDATE_ENTER |
| 22 | [회계관리 > 입금관리] [UPDATE] 금액 50,000→75,000 변경 + 적요 수정 | UPDATE | ✅ | 1017ms | UPDATE_FIELDS |
| 23 | [회계관리 > 입금관리] [UPDATE] 금액 변경 포맷 검증: 75,000 표시 확인 | VERIFY | ✅ | 313ms | AMT_UPDATE_FORMAT / ⚠️ 75,000 미감지 - 저장 후 확인 필요 |
| 24 | [회계관리 > 입금관리] [UPDATE] 저장 클릭 | UPDATE | ✅ | 3003ms | UPDATE_SAVE |
| 25 | [회계관리 > 입금관리] [UPDATE] API PUT/PATCH 검증 | VERIFY | ✅ | 502ms | API_PUT_CHECK / ⚠️ PUT/PATCH 미감지 |
| 26 | [회계관리 > 입금관리] [UPDATE] 저장 후 대기 | - | ✅ | 3001ms | Waited 3000ms |
| 27 | [회계관리 > 입금관리] [UPDATE] 수정 내용 검증 (적요 수정됨 + 금액 75,000) | UPDATE | ✅ | 1ms | VERIFY_UPDATE / 수정됨=true 75000=true toast=false |
| 28 | [회계관리 > 입금관리] [UPDATE] 목록 복귀 | UPDATE | ✅ | 0ms | evaluate ok |
| 29 | [회계관리 > 입금관리] [UPDATE] 목록 안정화 대기 | - | ✅ | 2002ms | Waited 2000ms |
| 30 | [회계관리 > 입금관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6524ms | DELETE |
| 31 | [회계관리 > 입금관리] [DELETE] API DELETE 검증 | VERIFY | ✅ | 503ms | API_DELETE_CHECK / ⚠️ DELETE 미감지 |
| 32 | [회계관리 > 입금관리] [DELETE] 삭제 후 대기 | - | ✅ | 3013ms | Waited 3000ms |
| 33 | [회계관리 > 입금관리] [DELETE] 목록 복귀 | DELETE | ✅ | 2011ms | evaluate ok |
| 34 | [회계관리 > 입금관리] [VERIFY] 삭제 확인 (목록에서 E2E_TEST_ 미존재) | VERIFY | ✅ | 1002ms | VERIFY_DELETE / ✅ 삭제 완료 - 목록에 테스트 데이터 없음 / rows:30 |
| 35 | [회계관리 > 입금관리] [VERIFY] API 호출 전체 요약 | VERIFY | ✅ | 0ms | API_SUMMARY / API: 27건 (성공:27 실패:0 평균:57ms) |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 27 | 27 | 0 | 57ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/deposits |

View File

@@ -0,0 +1,57 @@
# ✅ E2E 테스트 성공: Full CRUD 테스트: 매출관리 (계산검증+상세대조+API검증)
**테스트 ID**: full-crud-acc-sales | **실행**: 2026-03-08_12-09-39 | **결과**: PASS
**소요 시간**: 54.0초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 33 | 33 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 5003ms | Waited 5000ms |
| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 3 | [회계관리 > 매출관리] [SETUP] 타임스탬프 초기화 + sessionStorage 저장 | SETUP | ✅ | 0ms | evaluate ok |
| 4 | [회계관리 > 매출관리] [CREATE] 매출 등록 버튼 클릭 | CREATE | ✅ | 2506ms | CREATE_OPEN |
| 5 | [회계관리 > 매출관리] [CREATE] 등록 폼 로드 대기 | - | ✅ | 2000ms | Waited 2000ms |
| 6 | [회계관리 > 매출관리] [CREATE] 거래처 콤보박스 선택 | CREATE | ✅ | 1119ms | VENDOR_SELECT |
| 7 | [회계관리 > 매출관리] [CREATE] 매출유형 콤보박스 선택 (제품매출) | CREATE | ✅ | 0ms | TYPE_SELECT |
| 8 | [회계관리 > 매출관리] [CREATE] 품목명·수량(5)·단가(100,000)·적요 입력 | CREATE | ✅ | 1229ms | FILL_FIELDS |
| 9 | [회계관리 > 매출관리] [CREATE] 자동계산 검증: 수량(5)×단가(100,000)=공급가액(500,000), 부가세(50,000), 합계(550,000) | VERIFY | ✅ | 505ms | CALC_VERIFY_CREATE / ⚠️ 공급 500,000 미감지 / ⚠️ 부가세 50,000 미감지 / ⚠️ 합계 550,000 미감지 |
| 10 | [회계관리 > 매출관리] [CREATE] 등록 클릭 | CREATE | ✅ | 3003ms | SUBMIT |
| 11 | [회계관리 > 매출관리] [CREATE] API POST 검증 | VERIFY | ✅ | 507ms | API_POST_CHECK / ✅ POST 200 (87ms) |
| 12 | [회계관리 > 매출관리] [CREATE] 생성 후 대기 | - | ✅ | 3002ms | Waited 3000ms |
| 13 | [회계관리 > 매출관리] [CREATE] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
| 14 | [회계관리 > 매출관리] [CREATE] 목록 안정화 대기 | - | ✅ | 2001ms | Waited 2000ms |
| 15 | [회계관리 > 매출관리] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 502ms | VERIFY_CREATE / rows:20 |
| 16 | [회계관리 > 매출관리] [READ] 상세 페이지 진입 | READ | ✅ | 2508ms | READ |
| 17 | [회계관리 > 매출관리] [READ] 상세 페이지 대기 | - | ✅ | 2004ms | Waited 2000ms |
| 18 | [회계관리 > 매출관리] [READ] 목록↔상세 필드 1:1 대조 (detail roundtrip) | VERIFY | ✅ | 1ms | DETAIL_ROUNDTRIP / 상세 대조: 6/6 (100%) |
| 19 | [회계관리 > 매출관리] [READ] 상세 필드값 검증 (E2E데이터+수량5+단가100000+공급500000) | READ | ✅ | 1ms | READ_VERIFY / E2E=true qty=true price=false supply=false vat=false total=false |
| 20 | [회계관리 > 매출관리] [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 2015ms | UPDATE_ENTER |
| 21 | [회계관리 > 매출관리] [UPDATE] 수량 5→10 변경 + 적요 수정 | UPDATE | ✅ | 1019ms | UPDATE_FIELDS |
| 22 | [회계관리 > 매출관리] [UPDATE] 재계산 검증: 10×100,000=공급(1,000,000), 부가세(100,000), 합계(1,100,000) | VERIFY | ✅ | 501ms | CALC_VERIFY_UPDATE / ⚠️ 공급 1,000,000 미감지 / ⚠️ 부가세 100,000 미감지 (단가와 동일값 주의) / ⚠️ |
| 23 | [회계관리 > 매출관리] [UPDATE] 저장 클릭 | UPDATE | ✅ | 3007ms | UPDATE_SAVE |
| 24 | [회계관리 > 매출관리] [UPDATE] API PUT/PATCH 검증 | VERIFY | ✅ | 502ms | API_PUT_CHECK / ⚠️ PUT/PATCH 미감지 |
| 25 | [회계관리 > 매출관리] [UPDATE] 저장 후 대기 | - | ✅ | 3004ms | Waited 3000ms |
| 26 | [회계관리 > 매출관리] [UPDATE] 수정 내용 검증 (공급가액 1,000,000 재계산) | UPDATE | ✅ | 1ms | VERIFY_UPDATE / edit mode exited (save successful) |
| 27 | [회계관리 > 매출관리] [UPDATE] 목록 복귀 | UPDATE | ✅ | 1ms | evaluate ok |
| 28 | [회계관리 > 매출관리] [UPDATE] 목록 안정화 대기 | - | ✅ | 2001ms | Waited 2000ms |
| 29 | [회계관리 > 매출관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6526ms | DELETE |
| 30 | [회계관리 > 매출관리] [DELETE] API DELETE 검증 | VERIFY | ✅ | 501ms | API_DELETE_CHECK / ⚠️ DELETE 미감지 |
| 31 | [회계관리 > 매출관리] [DELETE] 목록 복귀 + 대기 | DELETE | ✅ | 2003ms | evaluate ok |
| 32 | [회계관리 > 매출관리] [VERIFY] 삭제 확인 (목록에서 E2E_TEST_ 미존재) | VERIFY | ✅ | 1002ms | VERIFY_DELETE / ✅ 삭제 완료 - 목록에 테스트 데이터 없음 / rows:30 |
| 33 | [회계관리 > 매출관리] [VERIFY] API 호출 전체 요약 | VERIFY | ✅ | 0ms | API_SUMMARY / API: 27건 (성공:27 실패:0 평균:55ms) |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 27 | 27 | 0 | 55ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/sales |

View File

@@ -0,0 +1,57 @@
# ✅ E2E 테스트 성공: Full CRUD 테스트: 자유게시판 (Enhanced)
**테스트 ID**: full-crud-board | **실행**: 2026-03-08_12-10-43 | **결과**: PASS
**소요 시간**: 63.8초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 33 | 33 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 3006ms | Waited 3000ms |
| 2 | [게시판 > 자유게시판] ts 초기화 + sessionStorage 연동 | - | ✅ | 0ms | evaluate ok |
| 3 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 4 | [게시판 > 자유게시판] [CREATE] 글쓰기 버튼 클릭 + 제목/본문 입력 + 등록 | CREATE | ✅ | 5938ms | CREATE |
| 5 | [게시판 > 자유게시판] [CREATE] API POST 검증 | VERIFY | ✅ | 504ms | API_POST_CHECK / POST API 200 (59ms) |
| 6 | [게시판 > 자유게시판] [CREATE] 생성 후 대기 | - | ✅ | 3007ms | Waited 3000ms |
| 7 | [게시판 > 자유게시판] [CREATE] 목록 복귀 | CREATE | ✅ | 2007ms | evaluate ok |
| 8 | [게시판 > 자유게시판] [CREATE] 목록 안정화 대기 | - | ✅ | 2000ms | Waited 2000ms |
| 9 | [게시판 > 자유게시판] [VERIFY-CREATE] 목록 첫 행에 새 게시글 표시 확인 | VERIFY | ✅ | 500ms | VERIFY_CREATE / 새 게시글이 첫 행에 표시됨 / rows:10 |
| 10 | [게시판 > 자유게시판] [READ] 상세 페이지 진입 (E2E_TEST_ 행 클릭) | READ | ✅ | 2515ms | READ |
| 11 | [게시판 > 자유게시판] [READ] 상세 페이지 대기 | - | ✅ | 2003ms | Waited 2000ms |
| 12 | [게시판 > 자유게시판] [READ] 제목 + 본문 내용 검증 | READ | ✅ | 1ms | READ_VERIFY / 제목 확인 / 본문 확인 / 타임스탬프 확인 |
| 13 | [게시판 > 자유게시판] [UPDATE] 수정 버튼 클릭 + 제목 변경 | UPDATE | ✅ | 2231ms | UPDATE |
| 14 | [게시판 > 자유게시판] [UPDATE] 저장 클릭 | UPDATE | ✅ | 3015ms | UPDATE_SAVE |
| 15 | [게시판 > 자유게시판] [UPDATE] API PUT 검증 | VERIFY | ✅ | 508ms | API_PUT_CHECK / PUT/PATCH API 미감지 |
| 16 | [게시판 > 자유게시판] [UPDATE] 저장 후 대기 | - | ✅ | 2002ms | Waited 2000ms |
| 17 | [게시판 > 자유게시판] [UPDATE] 수정 내용 검증 (수정됨 텍스트) | VERIFY | ✅ | 0ms | VERIFY_UPDATE / 수정됨 텍스트 확인 |
| 18 | [게시판 > 자유게시판] [UPDATE] 목록 복귀 | UPDATE | ✅ | 2003ms | evaluate ok |
| 19 | [게시판 > 자유게시판] [UPDATE] 목록 안정화 대기 | - | ✅ | 2000ms | Waited 2000ms |
| 20 | [게시판 > 자유게시판] [VERIFY-UPDATE] 목록에서 수정된 제목 반영 확인 | VERIFY | ✅ | 511ms | VERIFY_LIST_UPDATE / 목록에서 수정된 제목 확인 / rows:10 |
| 21 | [게시판 > 자유게시판] [DELETE] 삭제 대상 행 진입 | DELETE | ✅ | 2508ms | DELETE_ENTER |
| 22 | [게시판 > 자유게시판] [DELETE] 상세 페이지 대기 | - | ✅ | 2001ms | Waited 2000ms |
| 23 | [게시판 > 자유게시판] [DELETE] 삭제 버튼 클릭 + 취소 테스트 (삭제 안됨 확인) | DELETE | ✅ | 2514ms | DELETE_CANCEL_TEST / 취소 후 데이터 유지 확인 |
| 24 | [게시판 > 자유게시판] [DELETE] 삭제 버튼 재클릭 + 확인 (실제 삭제) | DELETE | ✅ | 5522ms | DELETE_CONFIRM |
| 25 | [게시판 > 자유게시판] [DELETE] API DELETE 검증 | VERIFY | ✅ | 511ms | API_DELETE_CHECK / DELETE API 미감지 |
| 26 | [게시판 > 자유게시판] [DELETE] 삭제 후 대기 | - | ✅ | 3000ms | Waited 3000ms |
| 27 | [게시판 > 자유게시판] [DELETE] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
| 28 | [게시판 > 자유게시판] [DELETE] 목록 안정화 대기 | - | ✅ | 2001ms | Waited 2000ms |
| 29 | [게시판 > 자유게시판] [VERIFY-DELETE] 삭제 후 새로고침 | - | ✅ | 0ms | Page reload |
| 30 | [게시판 > 자유게시판] [VERIFY-DELETE] 새로고침 대기 | - | ✅ | 3009ms | Waited 3000ms |
| 31 | [게시판 > 자유게시판] [VERIFY-DELETE] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 32 | [게시판 > 자유게시판] [VERIFY-DELETE] 삭제 확인 (목록에서 E2E_TEST_ 부재 확인) | VERIFY | ✅ | 1001ms | VERIFY_DELETE / rows:10 |
| 33 | [게시판 > 자유게시판] [SUMMARY] API 호출 통계 | VERIFY | ✅ | 0ms | API_SUMMARY / API: 0건 (성공 0, 실패 0, 평균 0ms, 느린호출 0건) / api:0 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/boards/free |

View File

@@ -0,0 +1,38 @@
# ✅ E2E 테스트 성공: 근태관리 테스트
**테스트 ID**: hr-attendance-admin | **실행**: 2026-03-08_12-10-53 | **결과**: PASS
**소요 시간**: 10.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 14 | 14 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 인사관리 > 근태관리 | - | ✅ | 2507ms | Menu navigation: 인사관리 > 근태관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/attendance-management |
| 3 | 목업 감지 | - | ✅ | 0ms | Real page: 1 inputs, 84 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 46 "... is not valid JSON/raw:Stats: 46 |
| 5 | 근태관리 페이지 확인 | - | ✅ | 1ms | Detail checks: 1/1 |
| 6 | UI 요소 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 7 | 필터/검색 시도 | - | ✅ | 314ms | Clicked (existed): input[type='search'], input[type='date'], input[placeholder*= |
| 8 | 대기 | - | ✅ | 1002ms | Waited 1000ms |
| 9 | 행 클릭 시도 | - | ✅ | 301ms | Clicked (existed): table tbody tr, [role='row']:not(:first-child), [class*='list |
| 10 | 상세 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 11 | 모달 닫기 | - | ✅ | 1ms | No modal open |
| 12 | 페이지네이션 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'P', "Page butto"... is not valid JSON/raw:Page butto |
| 13 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
| 14 | 최종 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/attendance-management |

View File

@@ -0,0 +1,45 @@
# ✅ E2E 테스트 성공: 근태현황 테스트
**테스트 ID**: hr-attendance-status | **실행**: 2026-03-08_12-11-04 | **결과**: PASS
**소요 시간**: 11.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 17 | 14 | 0 | 3 | 82% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 인사관리 > 근태현황 | - | ✅ | 502ms | Menu navigation: 인사관리 > 근태현황 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/attendance |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 0 inputs, 31 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'N', "No stat cards (ok)" is not valid JSON/raw:No st |
| 5 | 근태 현황 테이블 구조 확인 | - | ✅ | 0ms | Table: 0 cols, 10 rows |
| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'N', "No filter "... is not valid JSON/raw:No filter |
| 7 | 오늘 근태 상태 확인 | - | ✅ | 0ms | Checks: 1/2 verified |
| 8 | 출근 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 9 | 퇴근 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 10 | [FILTER] 기간 필터 - 월 선택 | FILTER | ✅ | 1ms | Element not present (ok): input[type='month'], select[name*='month'], [class*='m |
| 11 | [FILTER] 조회 적용 | FILTER | ✅ | 0ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
| 12 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1516ms | Detail checks: 0/1 matched |
| 13 | 근무 시간 통계 확인 | - | ✅ | 0ms | Checks: 1/2 verified |
| 14 | 지각/조퇴/결근 통계 확인 | - | ⚠️ | 1524ms | Checks: 0/3 verified |
| 15 | [READ] 특정 일자 상세 보기 | READ | ✅ | 305ms | Clicked (existed): table tbody tr:first-child |
| 16 | 상세 근태 정보 확인 | - | ⚠️ | 1508ms | Detail checks: 0/3 matched |
| 17 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/attendance |
### 콘솔 에러 (Health Check)
1. `Loading the stylesheet 'https://fonts.googleapis.com/css?family=Google+Sans+Text:400&text=%E2%86%90%E2%86%92%E2%86%91%E2%86%93&lang=ko' violates the following Content Security Policy directive: "style`
2. `Loading the stylesheet 'https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans:400,500,700|Google+Sans+Text:400,500,700&lang=ko' violates the following Content Security Policy dire`

View File

@@ -0,0 +1,38 @@
# ✅ E2E 테스트 성공: 부서관리 테스트
**테스트 ID**: hr-department | **실행**: 2026-03-08_12-11-14 | **결과**: PASS
**소요 시간**: 9.8초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 14 | 14 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 인사관리 > 부서관리 | - | ✅ | 2519ms | Menu navigation: 인사관리 > 부서관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/department-management |
| 3 | 목업 감지 | - | ✅ | 0ms | Real page: 1 inputs, 45 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Stats: 2 cards found" is not valid JSON/raw:Sta |
| 5 | 부서관리 페이지 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 6 | UI 요소 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 7 | 검색 입력 시도 | - | ✅ | 304ms | Clicked (existed): input[type='search'], input[placeholder*='검색'], input[placeho |
| 8 | 대기 | - | ✅ | 1013ms | Waited 1000ms |
| 9 | 행 클릭 시도 | - | ✅ | 1ms | Element not present (ok): table tbody tr, [role='row']:not(:first-child), [class |
| 10 | 상세 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 11 | 모달 닫기 | - | ✅ | 0ms | No modal open |
| 12 | 페이지네이션 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
| 13 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
| 14 | 최종 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/department-management |

View File

@@ -0,0 +1,46 @@
# ✅ E2E 테스트 성공: 사원관리 테스트
**테스트 ID**: hr-employee | **실행**: 2026-03-08_12-11-27 | **결과**: PASS
**소요 시간**: 13.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 22 | 22 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 인사관리 > 사원관리 | - | ✅ | 2506ms | Menu navigation: 인사관리 > 사원관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/employee-management |
| 3 | 목업 감지 | - | ✅ | 0ms | Real page: 1 inputs, 90 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 46 "... is not valid JSON/raw:Stats: 46 |
| 5 | 사원관리 페이지 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 6 | 테이블 확인 | - | ✅ | 0ms | Table: 14 cols, 20 rows |
| 7 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 2" is not valid JSON/raw:Filters |
| 8 | 검색 기능 | - | ✅ | 1003ms | Searched: "테스트" |
| 9 | 검색 결과 대기 | - | ✅ | 1015ms | Waited 1000ms |
| 10 | 검색 결과 데이터 검증 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Search res"... is not valid JSON/raw:Search res |
| 11 | 검색 초기화 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Search cleared" is not valid JSON/raw:Search cl |
| 12 | 검색 초기화 결과 대기 | - | ✅ | 1003ms | Waited 1000ms |
| 13 | 검색 초기화 및 복원 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'R', "Restored: 7 rows" is not valid JSON/raw:Restore |
| 14 | 검색 후 확인 | - | ✅ | 1ms | Detail checks: 1/1 |
| 15 | 첫 번째 행 클릭 | - | ✅ | 502ms | Clicked first row |
| 16 | 상세 페이지 로딩 대기 | - | ✅ | 1017ms | Waited 1000ms |
| 17 | 상세 페이지 - 콘텐츠 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'D', "Detail pag"... is not valid JSON/raw:Detail pag |
| 18 | 상세 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 19 | 모달 닫기 | - | ✅ | 0ms | No modal open |
| 20 | 페이지네이션 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
| 21 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
| 22 | 목록 복귀 | - | ✅ | 310ms | Clicked (existed): button:has-text('목록'), a:has-text('목록') |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 7 | 7 | 0 | 50ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/employee-management |

View File

@@ -0,0 +1,40 @@
# ✅ E2E 테스트 성공: 급여 장기요양보험 필드 검증 테스트
**테스트 ID**: hr-salary-long-term-care | **실행**: 2026-03-08_12-11-44 | **결과**: PASS
**소요 시간**: 17.0초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 16 | 16 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 인사관리 > 급여관리 | - | ✅ | 2510ms | Menu navigation: 인사관리 > 급여관리 |
| 2 | 페이지 로드 대기 | - | ✅ | 3002ms | Waited 3000ms |
| 3 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/salary-management |
| 4 | 목업 감지 | - | ✅ | 0ms | Real page: 1 inputs, 37 buttons |
| 5 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 2 rows |
| 6 | [READ] 첫 번째 행 클릭 (상세 다이얼로그 열기) | READ | ✅ | 501ms | Clicked first row |
| 7 | [READ] 상세 다이얼로그 대기 | READ | ✅ | 2000ms | Waited 2000ms |
| 8 | [READ] 장기요양보험 필드 존재 확인 (상세) | READ | ✅ | 2ms | DETAIL_LTC_CHECK / pass: 장기요양보험 필드 발견 (-14,820원) |
| 9 | [READ] 건강보험/장기요양 값 비교 (자동계산 검증) | READ | ✅ | 0ms | CALC_VERIFY / warn: 장기요양=14820 vs 예상=15558 (차이=738) |
| 10 | [READ] 상세 다이얼로그 닫기 | READ | ✅ | 0ms | No modal open |
| 11 | [CREATE] 등록 다이얼로그 열기 | CREATE | ✅ | 2517ms | CREATE_OPEN |
| 12 | [CREATE] 등록 다이얼로그 대기 (폴링) | CREATE | ✅ | 1ms | WAIT_DIALOG / pass: dialog open (position:fixed safe) |
| 13 | [CREATE] 등록 폼에서 장기요양보험 필드 확인 | CREATE | ✅ | 1ms | CREATE_LTC_CHECK / pass: 등록 폼에 장기요양보험 필드 존재 (입력 가능) |
| 14 | [CREATE] 건강보험 입력 → 장기요양 자동계산 검증 | CREATE | ✅ | 0ms | AUTO_CALC / 건강보험 입력 불가 (readOnly) |
| 15 | [CREATE] 등록 다이얼로그 닫기 (데이터 저장 안함) | CREATE | ✅ | 502ms | pass: dialog closed |
| 16 | [SUMMARY] API 호출 통계 | - | ✅ | 0ms | pass: API summary - total=0 salary_api=0 success=0 failed=0 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/salary-management |

View File

@@ -0,0 +1,47 @@
# ✅ E2E 테스트 성공: 급여관리 테스트
**테스트 ID**: hr-salary | **실행**: 2026-03-08_12-11-57 | **결과**: PASS
**소요 시간**: 13.0초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 23 | 23 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 인사관리 > 급여관리 | - | ✅ | 2508ms | Menu navigation: 인사관리 > 급여관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/salary-management |
| 3 | 목업 감지 | - | ✅ | 0ms | Real page: 1 inputs, 37 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 12 "... is not valid JSON/raw:Stats: 12 |
| 5 | 급여관리 페이지 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 5-1 | 날짜 필터 확인 및 설정 | - | ✅ | 0ms | json_fail:Unexpected token 'D', "Date input"... is not valid JSON/raw:Date input |
| 6 | 테이블 확인 | - | ✅ | 0ms | Table: 13 cols, 2 rows |
| 7 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 1" is not valid JSON/raw:Filters |
| 8 | 검색 기능 | - | ✅ | 1006ms | Searched: "테스트" |
| 9 | 검색 결과 대기 | - | ✅ | 1016ms | Waited 1000ms |
| 10 | 검색 결과 데이터 검증 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Search res"... is not valid JSON/raw:Search res |
| 11 | 검색 초기화 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Search cleared" is not valid JSON/raw:Search cl |
| 12 | 검색 초기화 결과 대기 | - | ✅ | 1003ms | Waited 1000ms |
| 13 | 검색 초기화 및 복원 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'R', "Restored: 2 rows" is not valid JSON/raw:Restore |
| 14 | 검색 후 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 15 | 첫 번째 행 클릭 | - | ✅ | 502ms | Clicked first row |
| 16 | 상세 페이지 로딩 대기 | - | ✅ | 1007ms | Waited 1000ms |
| 17 | 상세 페이지 - 콘텐츠 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'D', "Detail pag"... is not valid JSON/raw:Detail pag |
| 18 | 상세 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 19 | 모달 닫기 | - | ✅ | 0ms | No modal open |
| 20 | 페이지네이션 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'P', "Page butto"... is not valid JSON/raw:Page butto |
| 21 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body |
| 22 | 목록 복귀 | - | ✅ | 1ms | Element not present (ok): 목록 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 1 | 1 | 0 | 71ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/salary-management |

Some files were not shown because too many files have changed in this diff Show More