test: E2E 4차 테스트 결과 (Pull 후 재검증, 173 PASS / 11 FAIL)

- 개발팀 코드 Pull 후 전체 184개 시나리오 재실행
- 기존 9개 버그 전부 미수정 확인
- 신규 리그레션 2건 발생: create-delete-acc-deposit, create-delete-board
  (API 500 에러 및 페이지 로드 지연으로 인한 실패)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
김보곤
2026-02-20 15:24:04 +09:00
parent cc646e9f2a
commit 0ecebc5080
185 changed files with 7810 additions and 0 deletions

View File

@@ -0,0 +1,314 @@
# E2E 전체 테스트 결과 요약
**실행 시간**: 2026-02-20_14-27-40
**총 소요 시간**: 72.0분
**전체 시나리오**: 184개 | **성공**: 173개 | **실패**: 11개
## 카테고리별 요약
| 카테고리 | 시나리오 수 | 성공 | 실패 | 성공률 |
|---------|-----------|------|------|--------|
| 접근성 검사 | 18 | 18 | 0 | 100% |
| 기능 테스트 | 127 | 117 | 10 | 92% |
| 엣지 케이스 | 17 | 17 | 0 | 100% |
| 성능 테스트 | 17 | 17 | 0 | 100% |
| 비즈니스 워크플로우 | 5 | 4 | 1 | 80% |
## 시나리오별 결과
| # | 시나리오 | 결과 | 스텝 | 성공 | 실패 | 소요(초) |
|---|---------|------|------|------|------|---------|
| 1 | 접근성 검사: 회계관리 > 거래처관리 | ✅ | 4 | 3 | 0 | 10.4 |
| 2 | 접근성 검사: 회계관리 > 입금관리 | ✅ | 4 | 3 | 0 | 10.3 |
| 3 | 접근성 검사: 회계관리 > 매입관리 | ✅ | 4 | 4 | 0 | 9.3 |
| 4 | 접근성 검사: 회계관리 > 매출관리 | ✅ | 4 | 3 | 0 | 10.4 |
| 5 | 접근성 검사: 결재관리 > 결재함 | ✅ | 4 | 3 | 0 | 10.3 |
| 6 | 접근성 검사: 결재관리 > 기안함 | ✅ | 4 | 3 | 0 | 10.4 |
| 7 | 접근성 검사: 게시판 > 자유게시판 | ✅ | 4 | 3 | 0 | 10.4 |
| 8 | 접근성 검사: 인사관리 > 근태관리 | ✅ | 4 | 3 | 0 | 10.4 |
| 9 | 접근성 검사: 인사관리 > 부서관리 | ✅ | 4 | 3 | 0 | 10.4 |
| 10 | 접근성 검사: 인사관리 > 사원관리 | ✅ | 4 | 3 | 0 | 10.4 |
| 11 | 접근성 검사: 인사관리 > 급여관리 | ✅ | 4 | 4 | 0 | 9.5 |
| 12 | 접근성 검사: 자재관리 > 입고관리 | ✅ | 4 | 3 | 0 | 10.3 |
| 13 | 접근성 검사: 자재관리 > 재고현황 | ✅ | 4 | 3 | 0 | 10.4 |
| 14 | 접근성 검사: 생산관리 > 품목관리 | ✅ | 4 | 4 | 0 | 9.4 |
| 15 | 접근성 검사: 생산관리 > 작업지시 | ✅ | 4 | 3 | 0 | 10.5 |
| 16 | 접근성 검사: 판매관리 > 거래처관리 | ✅ | 4 | 3 | 0 | 10.3 |
| 17 | 접근성 검사: 판매관리 > 견적관리 | ✅ | 4 | 3 | 0 | 10.5 |
| 18 | 접근성 검사: 판매관리 > 수주관리 | ✅ | 4 | 3 | 0 | 10.4 |
| 19 | 악성채권추심관리 테스트 | ✅ | 24 | 22 | 0 | 10.3 |
| 20 | 계좌입출금내역 테스트 | ✅ | 19 | 16 | 0 | 10.3 |
| 21 | 어음관리 테스트 | ✅ | 24 | 18 | 0 | 19.7 |
| 22 | 카드사용내역 테스트 | ✅ | 19 | 16 | 0 | 10.3 |
| 23 | 회계거래처관리 테스트 | ✅ | 23 | 20 | 0 | 16.6 |
| 24 | 입금관리 테스트 | ✅ | 25 | 19 | 0 | 19.5 |
| 25 | 지출예상내역서 테스트 | ✅ | 19 | 14 | 0 | 11.8 |
| 26 | 결제내역 테스트 | ✅ | 19 | 15 | 0 | 13.4 |
| 27 | 매입관리 테스트 | ✅ | 18 | 14 | 0 | 13.6 |
| 28 | 미수금현황 테스트 | ✅ | 19 | 16 | 0 | 11.4 |
| 29 | 매출관리 테스트 | ✅ | 18 | 14 | 0 | 13.6 |
| 30 | 출금관리 테스트 | ✅ | 25 | 19 | 0 | 19.5 |
| 31 | API 건강성 감사: 회계 | ✅ | 39 | 39 | 0 | 26.4 |
| 32 | API 건강성 감사: 생산/기타 | ✅ | 35 | 35 | 0 | 28.8 |
| 33 | API 건강성 감사: 판매/인사 | ✅ | 35 | 35 | 0 | 28.9 |
| 34 | 결재함 E2E 테스트 | ✅ | 20 | 12 | 0 | 45.6 |
| 35 | 근태현황 출퇴근 테스트 | ✅ | 17 | 12 | 0 | 32.9 |
| 36 | 연속 등록 테스트: 어음관리 | ❌ | 19 | 17 | 2 | 61.2 |
| 37 | 연속 등록 테스트: 입금관리 | ❌ | 23 | 22 | 1 | 63.4 |
| 38 | 연속 등록 테스트: 자유게시판 | ✅ | 33 | 33 | 0 | 74.8 |
| 39 | 계정과목 일괄변경 버그 회귀 테스트 (BUG-SALES-20260115-001): 매출관리 | ✅ | 14 | 14 | 0 | 18.7 |
| 40 | 게시판 관리 테스트 | ✅ | 22 | 22 | 0 | 11.5 |
| 41 | 설정 - 회사정보 | ✅ | 31 | 14 | 0 | 47.7 |
| 42 | Create+Delete 테스트: 어음관리 | ✅ | 12 | 12 | 0 | 30.4 |
| 43 | Create+Delete 테스트: 입금관리 | ❌ | 8 | 6 | 2 | 22.5 |
| 44 | Create+Delete 테스트: 자유게시판 | ❌ | 8 | 5 | 3 | 28.4 |
| 45 | 모듈 간 데이터 일관성 검증 (판매↔회계, 판매↔생산) | ✅ | 15 | 15 | 0 | 33.1 |
| 46 | 이벤트 게시판 테스트 | ✅ | 19 | 14 | 0 | 13.9 |
| 47 | FAQ 테스트 | ✅ | 16 | 12 | 0 | 11.1 |
| 48 | 공지사항 테스트 | ✅ | 19 | 15 | 0 | 13.8 |
| 49 | 부서관리 테스트 | ✅ | 16 | 12 | 0 | 13.0 |
| 50 | 입금관리 테스트 | ✅ | 21 | 20 | 0 | 27.9 |
| 51 | 상세 조회 왕복 검증: 회계 | ✅ | 23 | 23 | 0 | 26.9 |
| 52 | 상세 조회 왕복 검증: 인사/게시판 | ✅ | 15 | 15 | 0 | 21.7 |
| 53 | 상세 조회 왕복 검증: 판매 | ✅ | 23 | 23 | 0 | 26.9 |
| 54 | 목록↔상세 필드별 대조 검증: 매출관리 | ✅ | 12 | 12 | 0 | 17.1 |
| 55 | 기안함 테스트 | ✅ | 17 | 15 | 0 | 11.9 |
| 56 | 엣지 케이스: 경계값 입력 검증 (회계 > 매출관리) | ✅ | 14 | 14 | 0 | 17.8 |
| 57 | 엣지 케이스: 경계값 입력 (회계 > 입금관리) | ✅ | 14 | 14 | 0 | 20.5 |
| 58 | 엣지 케이스: 경계값 입력 (인사 > 사원관리) | ✅ | 14 | 14 | 0 | 20.5 |
| 59 | 엣지 케이스: 경계값 입력 (판매 > 거래처관리) | ✅ | 14 | 14 | 0 | 20.4 |
| 60 | 엣지 케이스: 동시 액션 (인사 > 근태관리) | ✅ | 5 | 5 | 0 | 11.9 |
| 61 | 엣지 케이스: 빈 폼 제출 (회계 > 입금관리) | ✅ | 7 | 7 | 0 | 16.1 |
| 62 | 엣지 케이스: 빈 폼 제출 (게시판 > 자유게시판) | ✅ | 7 | 7 | 0 | 16.2 |
| 63 | 엣지 케이스: 빈 폼 제출 (인사 > 사원관리) | ✅ | 7 | 7 | 0 | 16.4 |
| 64 | 엣지 케이스: 빈 폼 제출 (판매 > 거래처관리) | ✅ | 7 | 7 | 0 | 16.2 |
| 65 | 엣지 케이스: 숫자 경계값 (회계 > 입금관리) | ✅ | 13 | 13 | 0 | 20.7 |
| 66 | 엣지 케이스: UI 내구성 연타 테스트 (회계 > 매출관리) | ✅ | 10 | 10 | 0 | 22.4 |
| 67 | 엣지 케이스: 삭제 버튼 연타 (게시판 > 자유게시판) | ✅ | 6 | 6 | 0 | 13.1 |
| 68 | 엣지 케이스: 저장 버튼 연타 (게시판 > 자유게시판) | ✅ | 7 | 7 | 0 | 17.0 |
| 69 | 엣지 케이스: 저장 버튼 연타 (판매 > 거래처관리) | ✅ | 7 | 7 | 0 | 17.1 |
| 70 | 엣지 케이스: 특수문자 검색 (게시판 > 자유게시판) | ✅ | 14 | 14 | 0 | 30.2 |
| 71 | 엣지 케이스: 특수문자 검색 (판매 > 거래처관리) | ✅ | 14 | 14 | 0 | 30.2 |
| 72 | 엣지 케이스: 유니코드 입력 (게시판 > 자유게시판) | ✅ | 10 | 10 | 0 | 17.6 |
| 73 | 직원 등록 테스트 | ✅ | 21 | 21 | 0 | 9.7 |
| 74 | 폼 유효성 검증 감사: 회계 (어음/입금/출금) | ✅ | 20 | 20 | 0 | 34.3 |
| 75 | 폼 유효성 검증 감사: 생산/게시판 | ✅ | 13 | 13 | 0 | 19.2 |
| 76 | 폼 유효성 검증 감사: 판매 (거래처/수주/견적) | ✅ | 20 | 20 | 0 | 34.5 |
| 77 | 자유게시판 E2E 테스트 | ✅ | 22 | 22 | 0 | 13.5 |
| 78 | Full CRUD 테스트: 어음관리 | ✅ | 20 | 20 | 0 | 39.3 |
| 79 | Full CRUD 테스트: 입금관리 | ✅ | 20 | 20 | 0 | 38.2 |
| 80 | Full CRUD 테스트: 매출관리 | ✅ | 20 | 20 | 0 | 40.6 |
| 81 | Full CRUD 테스트: 자유게시판 | ✅ | 20 | 20 | 0 | 40.1 |
| 82 | 근태관리 테스트 | ✅ | 14 | 14 | 0 | 10.4 |
| 83 | 근태현황 테스트 | ✅ | 19 | 14 | 0 | 11.9 |
| 84 | 부서관리 테스트 | ✅ | 14 | 14 | 0 | 10.0 |
| 85 | 사원관리 테스트 | ✅ | 22 | 22 | 0 | 13.5 |
| 86 | 급여관리 테스트 | ✅ | 22 | 22 | 0 | 13.1 |
| 87 | 휴가관리 테스트 | ✅ | 25 | 19 | 0 | 19.1 |
| 88 | 입력 필드 전수 테스트: 어음/입금/출금 (1/5) | ✅ | 20 | 20 | 0 | 46.7 |
| 89 | 입력 필드 전수 테스트: 거래처(회계)/악성채권 (2/5) | ✅ | 13 | 13 | 0 | 56.9 |
| 90 | 입력 필드 전수 테스트: 입고/제품검사 (5/5) | ✅ | 13 | 13 | 0 | 27.6 |
| 91 | 입력 필드 전수 테스트: 작업지시/작업실적 (4/5) | ✅ | 13 | 13 | 0 | 15.7 |
| 92 | 입력 필드 전수 테스트: 거래처(판매)/수주/견적 (3/5) | ✅ | 20 | 20 | 0 | 34.2 |
| 93 | 재고현황 테스트 | ✅ | 12 | 12 | 0 | 14.4 |
| 94 | 품목관리 테스트 | ✅ | 16 | 11 | 0 | 20.6 |
| 95 | 품목기준관리 테스트 | ✅ | 14 | 13 | 0 | 10.6 |
| 96 | 로그인 테스트 (끝판왕) | ✅ | 24 | 22 | 0 | 11.8 |
| 97 | 입고관리 테스트 | ✅ | 25 | 19 | 0 | 17.8 |
| 98 | 재고현황 테스트 | ✅ | 19 | 16 | 0 | 10.3 |
| 99 | 다중 품목 등록 + 자동계산 + 품목삭제 재계산: 매출관리 | ✅ | 22 | 22 | 0 | 35.9 |
| 100 | 페이지네이션 & 정렬 검증: 회계 | ❌ | 17 | 14 | 3 | 54.7 |
| 101 | 페이지네이션 & 정렬 검증: 인사/게시판 | ❌ | 11 | 9 | 2 | 38.0 |
| 102 | 페이지네이션 & 정렬 검증: 판매 | ❌ | 17 | 14 | 3 | 52.7 |
| 103 | PDF 다운로드 전체 검사 | ✅ | 5 | 5 | 0 | 1.3 |
| 104 | 성능 측정: 회계관리 > 거래처관리 | ✅ | 5 | 5 | 0 | 7.2 |
| 105 | 성능 측정: 회계관리 > 입금관리 | ✅ | 5 | 5 | 0 | 7.3 |
| 106 | 성능 측정: 회계관리 > 매입관리 | ✅ | 5 | 5 | 0 | 7.2 |
| 107 | 성능 측정: 회계관리 > 매출관리 | ✅ | 5 | 5 | 0 | 7.1 |
| 108 | 성능 측정: 인사관리 > 근태관리 | ✅ | 5 | 5 | 0 | 7.3 |
| 109 | 성능 측정: 인사관리 > 부서관리 | ✅ | 5 | 5 | 0 | 7.1 |
| 110 | 성능 측정: 인사관리 > 사원관리 | ✅ | 5 | 5 | 0 | 7.1 |
| 111 | 성능 측정: 인사관리 > 급여관리 | ✅ | 5 | 5 | 0 | 7.1 |
| 112 | 성능 측정: 자재관리 > 입고관리 | ✅ | 5 | 5 | 0 | 7.1 |
| 113 | 성능 측정: 자재관리 > 재고현황 | ✅ | 5 | 5 | 0 | 7.2 |
| 114 | 성능 측정: 생산관리 > 품목관리 | ✅ | 5 | 5 | 0 | 7.1 |
| 115 | 성능 측정: 생산관리 > 작업지시 | ✅ | 5 | 4 | 0 | 11.2 |
| 116 | 성능 측정: 생산관리 > 작업실적 | ✅ | 5 | 5 | 0 | 7.2 |
| 117 | 성능 측정: 판매관리 > 거래처관리 | ✅ | 5 | 5 | 0 | 7.1 |
| 118 | 성능 측정: 판매관리 > 견적관리 | ✅ | 5 | 5 | 0 | 7.2 |
| 119 | 성능 측정: 판매관리 > 수주관리 | ✅ | 5 | 5 | 0 | 7.6 |
| 120 | 성능 측정: 판매관리 > 단가관리 | ✅ | 5 | 5 | 0 | 7.2 |
| 121 | 생산 현황판 테스트 | ✅ | 12 | 10 | 0 | 11.9 |
| 122 | 생산품목관리 테스트 | ✅ | 14 | 13 | 0 | 10.6 |
| 123 | 작업지시 관리 테스트 | ✅ | 25 | 21 | 0 | 14.9 |
| 124 | 작업실적 테스트 | ✅ | 23 | 19 | 0 | 16.6 |
| 125 | 작업자 화면 테스트 | ✅ | 14 | 13 | 0 | 10.8 |
| 126 | 품질인정심사 시스템 테스트 | ✅ | 14 | 14 | 0 | 9.7 |
| 127 | 제품검사관리 테스트 | ✅ | 25 | 19 | 0 | 17.5 |
| 128 | 입고관리 테스트 | ✅ | 9 | 9 | 0 | 11.4 |
| 129 | 참조함 E2E 테스트 | ✅ | 40 | 37 | 0 | 37.3 |
| 130 | 새로고침 데이터 유지 검증: 어음관리 | ❌ | 16 | 15 | 1 | 52.8 |
| 131 | 새로고침 데이터 유지 검증: 입금관리 | ❌ | 16 | 15 | 1 | 45.5 |
| 132 | 새로고침 데이터 유지 검증: 매출관리 | ✅ | 16 | 16 | 0 | 33.0 |
| 133 | 새로고침 데이터 유지 검증: 자유게시판 | ✅ | 16 | 16 | 0 | 33.2 |
| 134 | 판매거래처관리 테스트 | ✅ | 24 | 19 | 0 | 18.8 |
| 135 | Full CRUD 테스트: 매출관리 | ✅ | 23 | 23 | 0 | 43.9 |
| 136 | 수주관리 테스트 | ✅ | 25 | 21 | 0 | 14.1 |
| 137 | 단가관리 테스트 | ✅ | 27 | 24 | 0 | 14.5 |
| 138 | 견적관리 테스트 | ✅ | 25 | 19 | 0 | 17.9 |
| 139 | 기안함 검색 버그 상세 검증 | ✅ | 11 | 11 | 0 | 27.3 |
| 140 | 급여관리 검색 버그 상세 검증 | ✅ | 10 | 10 | 0 | 27.2 |
| 141 | 검색/필터/페이지네이션 테스트: 매출관리 | ❌ | 18 | 16 | 2 | 28.1 |
| 142 | 검색 기능 동작 검증: 회계 | ✅ | 20 | 20 | 0 | 43.4 |
| 143 | 검색 기능 감사: 회계관리 (1/6) | ✅ | 20 | 20 | 0 | 43.7 |
| 144 | 검색 기능 감사: 회계관리2+인사관리 (2/6) | ✅ | 20 | 20 | 0 | 39.0 |
| 145 | 검색 기능 감사: 게시판/고객센터/설정1 (5/6) | ✅ | 20 | 20 | 0 | 37.0 |
| 146 | 검색 기능 감사: 생산/품목/품질/자재 (3/6) | ✅ | 20 | 20 | 0 | 30.2 |
| 147 | 검색 기능 감사: 판매/출고/결재 (4/6) | ✅ | 16 | 16 | 0 | 38.1 |
| 148 | 검색 기능 감사: 설정2 (6/6) | ✅ | 14 | 14 | 0 | 23.7 |
| 149 | 검색 기능 동작 검증: 인사/게시판 | ✅ | 13 | 13 | 0 | 33.7 |
| 150 | 검색 기능 동작 검증: 판매 | ✅ | 20 | 20 | 0 | 31.9 |
| 151 | 검색 옵션 전수 테스트: 회계거래처/입금/출금 (1/10) | ✅ | 11 | 11 | 0 | 81.6 |
| 152 | 검색 옵션 전수 테스트: 매입/매출/카드내역 (2/10) | ✅ | 11 | 11 | 0 | 76.3 |
| 153 | 검색 옵션 전수 테스트: 어음/추심/계좌 (3/11) | ✅ | 11 | 11 | 0 | 110.3 |
| 154 | 검색 옵션 전수 테스트: 미수금/결제/지출예상 (4/11) | ✅ | 11 | 11 | 0 | 44.5 |
| 155 | 검색 옵션 전수 테스트: 결재관리 (6/10) | ✅ | 11 | 11 | 0 | 69.3 |
| 156 | 검색 옵션 전수 테스트: 게시판/고객센터 (5/10) | ✅ | 19 | 19 | 0 | 75.0 |
| 157 | 검색 옵션 전수 테스트: 인사관리 전체 (4/10) | ✅ | 27 | 27 | 0 | 93.1 |
| 158 | 검색 옵션 전수 테스트: 생산/품목관리 (8/11) | ✅ | 19 | 19 | 0 | 52.2 |
| 159 | 검색 옵션 전수 테스트: 품질/자재관리 (9/10) | ✅ | 15 | 15 | 0 | 66.0 |
| 160 | 검색 옵션 전수 테스트: 판매관리/출고 (7/11) | ✅ | 19 | 19 | 0 | 31.5 |
| 161 | 검색 옵션 전수 테스트: 설정 (10/11) | ✅ | 19 | 19 | 0 | 26.4 |
| 162 | 계정정보 테스트 | ✅ | 16 | 14 | 0 | 11.4 |
| 163 | 근태설정 테스트 | ✅ | 16 | 13 | 0 | 10.1 |
| 164 | 계좌관리 테스트 | ✅ | 23 | 21 | 0 | 12.4 |
| 165 | 회사정보 테스트 | ✅ | 16 | 13 | 0 | 13.6 |
| 166 | 알림설정 테스트 | ✅ | 16 | 13 | 0 | 12.6 |
| 167 | 권한관리 테스트 | ✅ | 20 | 18 | 0 | 12.6 |
| 168 | 팝업관리 테스트 | ✅ | 23 | 21 | 0 | 14.1 |
| 169 | 직책관리 테스트 | ✅ | 12 | 11 | 0 | 11.1 |
| 170 | 직급관리 테스트 | ✅ | 12 | 11 | 0 | 11.0 |
| 171 | 구독관리 테스트 | ✅ | 16 | 12 | 0 | 12.8 |
| 172 | 휴가정책 테스트 | ✅ | 16 | 15 | 0 | 8.9 |
| 173 | 근무일정 테스트 | ✅ | 16 | 15 | 0 | 9.9 |
| 174 | 출고관리 테스트 | ✅ | 13 | 11 | 0 | 18.3 |
| 175 | Test bills 14 steps | ✅ | 14 | 14 | 0 | 55.6 |
| 176 | Test bills page minimal | ✅ | 3 | 3 | 0 | 7.2 |
| 177 | 거래처원장 테스트 | ✅ | 34 | 30 | 0 | 20.8 |
| 178 | 거래처관리 테스트 | ✅ | 34 | 34 | 0 | 35.6 |
| 179 | 출금관리 테스트 | ✅ | 21 | 21 | 0 | 10.1 |
| 180 | 비즈니스 워크플로우: 게시판→결재기안→결재함 흐름 | ✅ | 15 | 15 | 0 | 21.8 |
| 181 | 비즈니스 워크플로우: 사원등록→부서→근태→급여 흐름 | ✅ | 14 | 14 | 0 | 22.3 |
| 182 | 비즈니스 워크플로우: 품목→입고→재고→출고 흐름 | ❌ | 15 | 14 | 1 | 33.0 |
| 183 | 비즈니스 워크플로우: 구매→매입 흐름 | ✅ | 7 | 7 | 0 | 18.0 |
| 184 | 비즈니스 워크플로우: 거래처→단가→수주→매출 흐름 | ✅ | 15 | 15 | 0 | 19.3 |
## 비즈니스 워크플로우 상세
### ✅ 비즈니스 워크플로우: 게시판→결재기안→결재함 흐름
- 스텝: 15/15 성공 | 소요: 21.8초
- 단계: CAPTURE_POST(✅) → CHECK_DRAFTS(✅) → CHECK_APPROVALS(✅) → CHECK_REFERENCES(✅)
### ✅ 비즈니스 워크플로우: 사원등록→부서→근태→급여 흐름
- 스텝: 14/14 성공 | 소요: 22.3초
- 단계: CAPTURE_EMPLOYEE(✅) → CHECK_DEPARTMENTS(✅) → VERIFY_EMPLOYEE_ATTEND(✅) → VERIFY_EMPLOYEE_SALARY(✅)
### ❌ 비즈니스 워크플로우: 품목→입고→재고→출고 흐름
- 스텝: 14/15 성공 | 소요: 33.0초
- 단계: CAPTURE_ITEM(✅) → VERIFY_ITEM_RECEIVING(✅) → VERIFY_ITEM_STOCK(✅) → CHECK_WITHDRAWAL(✅)
### ✅ 비즈니스 워크플로우: 구매→매입 흐름
- 스텝: 7/7 성공 | 소요: 18.0초
- 단계: CAPTURE_VENDOR(✅) → VERIFY_VENDOR_ACC(✅)
### ✅ 비즈니스 워크플로우: 거래처→단가→수주→매출 흐름
- 스텝: 15/15 성공 | 소요: 19.3초
- 단계: CAPTURE_CLIENT(✅) → CAPTURE_PRICE_ITEM(✅) → CHECK_ORDERS(✅) → CHECK_SALES(✅)
## 성능 테스트 요약
| 페이지 | 로드 시간 | 등급 | API 평균 | DOM 노드 |
|--------|----------|------|---------|----------|
| 성능 측정: 회계관리 > 거래처관리 | - | - | - | - |
| 성능 측정: 회계관리 > 입금관리 | - | - | - | - |
| 성능 측정: 회계관리 > 매입관리 | - | - | - | - |
| 성능 측정: 회계관리 > 매출관리 | - | - | - | - |
| 성능 측정: 인사관리 > 근태관리 | - | - | - | - |
| 성능 측정: 인사관리 > 부서관리 | - | - | - | - |
| 성능 측정: 인사관리 > 사원관리 | - | - | - | - |
| 성능 측정: 인사관리 > 급여관리 | - | - | - | - |
| 성능 측정: 자재관리 > 입고관리 | - | - | - | - |
| 성능 측정: 자재관리 > 재고현황 | - | - | - | - |
| 성능 측정: 생산관리 > 품목관리 | - | - | - | - |
| 성능 측정: 생산관리 > 작업지시 | - | - | - | - |
| 성능 측정: 생산관리 > 작업실적 | - | - | - | - |
| 성능 측정: 판매관리 > 거래처관리 | - | - | - | - |
| 성능 측정: 판매관리 > 견적관리 | - | - | - | - |
| 성능 측정: 판매관리 > 수주관리 | - | - | - | - |
| 성능 측정: 판매관리 > 단가관리 | - | - | - | - |
## 접근성 검사 요약
| 페이지 | 점수 | 등급 | Critical | Serious | Moderate |
|--------|------|------|----------|---------|----------|
| 접근성 검사: 회계관리 > 거래처관리 | - | - | - | - | - |
| 접근성 검사: 회계관리 > 입금관리 | - | - | - | - | - |
| 접근성 검사: 회계관리 > 매입관리 | - | - | - | - | - |
| 접근성 검사: 회계관리 > 매출관리 | - | - | - | - | - |
| 접근성 검사: 결재관리 > 결재함 | - | - | - | - | - |
| 접근성 검사: 결재관리 > 기안함 | - | - | - | - | - |
| 접근성 검사: 게시판 > 자유게시판 | - | - | - | - | - |
| 접근성 검사: 인사관리 > 근태관리 | - | - | - | - | - |
| 접근성 검사: 인사관리 > 부서관리 | - | - | - | - | - |
| 접근성 검사: 인사관리 > 사원관리 | - | - | - | - | - |
| 접근성 검사: 인사관리 > 급여관리 | - | - | - | - | - |
| 접근성 검사: 자재관리 > 입고관리 | - | - | - | - | - |
| 접근성 검사: 자재관리 > 재고현황 | - | - | - | - | - |
| 접근성 검사: 생산관리 > 품목관리 | - | - | - | - | - |
| 접근성 검사: 생산관리 > 작업지시 | - | - | - | - | - |
| 접근성 검사: 판매관리 > 거래처관리 | - | - | - | - | - |
| 접근성 검사: 판매관리 > 견적관리 | - | - | - | - | - |
| 접근성 검사: 판매관리 > 수주관리 | - | - | - | - | - |
## 실패 시나리오 상세
### ❌ 연속 등록 테스트: 어음관리 (batch-create-acc-bills)
- Step 18 ([회계관리 > 어음관리] [VERIFY] 3건 생성 확인): 기대 3건, 실제 0건 rows=20 body=false row0=[ 1 TEST_REDIRECT_CHECK_001 수취 E2E_TEST_회계거래처_20260219_132849 50,000 2026-02-20 2]
- Step 19 ([회계관리 > 어음관리] [DELETE #1] 데이터 삭제): E2E_TEST_어음_ 데이터 없음 (ts=20260220_132427)
### ❌ 연속 등록 테스트: 입금관리 (batch-create-acc-deposit)
- Step 23 ([회계관리 > 입금관리] [DELETE #2] 데이터 삭제): E2E_TEST_ 데이터 없음 (ts=20260220_132528)
### ❌ Create+Delete 테스트: 입금관리 (create-delete-acc-deposit)
- Step 7 ([회계관리 > 입금관리] [VERIFY] 생성 데이터 확인): evaluate returned ok:false
- Step 8 ([회계관리 > 입금관리] [DELETE] 데이터 삭제): E2E_TEST_ 데이터 없음
### ❌ Create+Delete 테스트: 자유게시판 (create-delete-board)
- **진단**: element_timeout → 요소 대기 타임아웃. 페이지 로드 지연 또는 셀렉터 불일치
- Step 2 ([게시판 > 자유게시판] 테이블 로드 대기): Step timeout (>5s): [게시판 > 자유게시판] 테이블 로드 대기
- Step 7 ([게시판 > 자유게시판] [VERIFY] 생성 데이터 확인): evaluate returned ok:false
- Step 8 ([게시판 > 자유게시판] [DELETE] 데이터 삭제): E2E_TEST_ 데이터 없음
### ❌ 페이지네이션 & 정렬 검증: 회계 (pagination-sort-acc)
- Step 4 ([회계관리 > 어음관리] 컬럼 정렬 검증): ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심)
- Step 10 ([회계관리 > 입금관리] 컬럼 정렬 검증): ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심)
- Step 16 ([회계관리 > 거래처관리] 컬럼 정렬 검증): ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심)
### ❌ 페이지네이션 & 정렬 검증: 인사/게시판 (pagination-sort-hr)
- Step 4 ([인사관리 > 사원관리] 컬럼 정렬 검증): ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심)
- Step 10 ([게시판 > 자유게시판] 컬럼 정렬 검증): ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심)
### ❌ 페이지네이션 & 정렬 검증: 판매 (pagination-sort-sales)
- Step 4 ([판매관리 > 거래처관리] 컬럼 정렬 검증): ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심)
- Step 10 ([판매관리 > 수주관리] 컬럼 정렬 검증): ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심)
- Step 16 ([판매관리 > 견적관리] 컬럼 정렬 검증): ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심)
### ❌ 새로고침 데이터 유지 검증: 어음관리 (reload-persist-acc-bills)
- Step 3 ([회계관리 > 어음관리] [CREATE] 데이터 생성): 등록 후 여전히 폼 페이지 (url=/accounting/bills?mode=new)
### ❌ 새로고침 데이터 유지 검증: 입금관리 (reload-persist-acc-deposit)
- Step 3 ([회계관리 > 입금관리] [CREATE] 데이터 생성): 등록 후 여전히 폼 페이지 (url=/accounting/deposits?mode=new)
### ❌ 검색/필터/페이지네이션 테스트: 매출관리 (search-filter-acc-sales)
- Step 7 ([회계관리 > 매출관리] [VENDOR-FILTER] 모든 행이 해당 거래처인지 확인): evaluate returned ok:false
- Step 11 ([회계관리 > 매출관리] [TYPE-FILTER] 모든 행이 해당 유형인지 확인): evaluate returned ok:false
### ❌ 비즈니스 워크플로우: 품목→입고→재고→출고 흐름 (workflow-inventory-cycle)
- **진단**: element_timeout → 요소 대기 타임아웃. 페이지 로드 지연 또는 셀렉터 불일치
- Step 2 ([생산 > 품목관리] wait_for_table): Step timeout (>10s): [생산 > 품목관리] wait_for_table

View File

@@ -0,0 +1,63 @@
# ❌ E2E 테스트 실패: 연속 등록 테스트: 어음관리
**테스트 ID**: batch-create-acc-bills | **실행**: 2026-02-20_13-25-21 | **결과**: FAIL
**소요 시간**: 61.2초 | **중단 사유**: critical_failure
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 19 | 17 | 2 | 0 | 89% |
## 실패 스텝
| # | 스텝 | Phase | 에러 |
|---|------|-------|------|
| 18 | [회계관리 > 어음관리] [VERIFY] 3건 생성 확인 | VERIFY | 기대 3건, 실제 0건 rows=20 body=false row0=[ 1 TEST_REDIRECT_CHECK_001 수취 E2E_TEST_회계거래처_20260219_132849 5 |
| 19 | [회계관리 > 어음관리] [DELETE #1] 데이터 삭제 | DELETE | E2E_TEST_어음_ 데이터 없음 (ts=20260220_132427) |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 1003ms | Waited 1000ms |
| 2 | [회계관리 > 어음관리] ts 초기화 | - | ✅ | 1ms | evaluate ok |
| 3 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 4 | [회계관리 > 어음관리] [CREATE #1] 데이터 생성 | CREATE | ✅ | 13519ms | CREATE_1 |
| 5 | [회계관리 > 어음관리] [CREATE #1] 생성 후 대기 | - | ✅ | 1012ms | Waited 1000ms |
| 6 | [회계관리 > 어음관리] [CREATE #1] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
| 7 | [회계관리 > 어음관리] [CREATE #1] 목록 안정화 | - | ✅ | 1015ms | Waited 1000ms |
| 8 | [회계관리 > 어음관리] [CREATE #2] 데이터 생성 | CREATE | ✅ | 13564ms | CREATE_2 |
| 9 | [회계관리 > 어음관리] [CREATE #2] 생성 후 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 10 | [회계관리 > 어음관리] [CREATE #2] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
| 11 | [회계관리 > 어음관리] [CREATE #2] 목록 안정화 | - | ✅ | 1001ms | Waited 1000ms |
| 12 | [회계관리 > 어음관리] [CREATE #3] 데이터 생성 | CREATE | ✅ | 13519ms | CREATE_3 |
| 13 | [회계관리 > 어음관리] [CREATE #3] 생성 후 대기 | - | ✅ | 1014ms | Waited 1000ms |
| 14 | [회계관리 > 어음관리] [CREATE #3] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
| 15 | [회계관리 > 어음관리] [CREATE #3] 목록 안정화 | - | ✅ | 1001ms | Waited 1000ms |
| 16 | [회계관리 > 어음관리] [VERIFY] 목록 새로고침 | - | ✅ | 3ms | Page reload |
| 17 | [회계관리 > 어음관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 18 | [회계관리 > 어음관리] [VERIFY] 3건 생성 확인 | VERIFY | ❌ | 4039ms | 기대 3건, 실제 0건 rows=20 body=false row0=[ 1 TEST_REDIRECT_CHECK_001 수취 E2E_TEST_회계거 |
| 19 | [회계관리 > 어음관리] [DELETE #1] 데이터 삭제 | DELETE | ❌ | 1019ms | E2E_TEST_어음_ 데이터 없음 (ts=20260220_132427) |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/bills |
## 자동 진단
| 항목 | 내용 |
|------|------|
| 근본 원인 | **unknown** |
| 스크린샷 | diag_batch-create-acc-bills_2026-02-20_13-25-21.png |
### 페이지 상태
| 항목 | 값 |
|------|----|
| DOM 노드 | 1524 |
| 테이블 행 | 20 |
| API 호출 수 | 0 |
| 로딩 스피너 | No |

View File

@@ -0,0 +1,66 @@
# ❌ E2E 테스트 실패: 연속 등록 테스트: 입금관리
**테스트 ID**: batch-create-acc-deposit | **실행**: 2026-02-20_13-26-25 | **결과**: FAIL
**소요 시간**: 63.4초 | **중단 사유**: critical_failure
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 23 | 22 | 1 | 0 | 96% |
## 실패 스텝
| # | 스텝 | Phase | 에러 |
|---|------|-------|------|
| 23 | [회계관리 > 입금관리] [DELETE #2] 데이터 삭제 | DELETE | E2E_TEST_ 데이터 없음 (ts=20260220_132528) |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 1003ms | Waited 1000ms |
| 2 | [회계관리 > 입금관리] ts 초기화 | - | ✅ | 0ms | evaluate ok |
| 3 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 4 | [회계관리 > 입금관리] [CREATE #1] 데이터 생성 | CREATE | ✅ | 12501ms | CREATE_1 |
| 5 | [회계관리 > 입금관리] [CREATE #1] 생성 후 대기 | - | ✅ | 1013ms | Waited 1000ms |
| 6 | [회계관리 > 입금관리] [CREATE #1] 목록 복귀 | CREATE | ✅ | 1ms | evaluate ok |
| 7 | [회계관리 > 입금관리] [CREATE #1] 목록 안정화 | - | ✅ | 1012ms | Waited 1000ms |
| 8 | [회계관리 > 입금관리] [CREATE #2] 데이터 생성 | CREATE | ✅ | 12472ms | CREATE_2 |
| 9 | [회계관리 > 입금관리] [CREATE #2] 생성 후 대기 | - | ✅ | 1016ms | Waited 1000ms |
| 10 | [회계관리 > 입금관리] [CREATE #2] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
| 11 | [회계관리 > 입금관리] [CREATE #2] 목록 안정화 | - | ✅ | 1016ms | Waited 1000ms |
| 12 | [회계관리 > 입금관리] [CREATE #3] 데이터 생성 | CREATE | ✅ | 12421ms | CREATE_3 |
| 13 | [회계관리 > 입금관리] [CREATE #3] 생성 후 대기 | - | ✅ | 1010ms | Waited 1000ms |
| 14 | [회계관리 > 입금관리] [CREATE #3] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
| 15 | [회계관리 > 입금관리] [CREATE #3] 목록 안정화 | - | ✅ | 1000ms | Waited 1000ms |
| 16 | [회계관리 > 입금관리] [VERIFY] 목록 새로고침 | - | ✅ | 2ms | Page reload |
| 17 | [회계관리 > 입금관리] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 18 | [회계관리 > 입금관리] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1012ms | VERIFY_BATCH / rows:20 |
| 19 | [회계관리 > 입금관리] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 6534ms | DELETE_1 |
| 20 | [회계관리 > 입금관리] [DELETE #1] 삭제 후 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 21 | [회계관리 > 입금관리] [DELETE #1] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
| 22 | [회계관리 > 입금관리] [DELETE #1] 목록 안정화 | - | ✅ | 1012ms | Waited 1000ms |
| 23 | [회계관리 > 입금관리] [DELETE #2] 데이터 삭제 | DELETE | ❌ | 1022ms | E2E_TEST_ 데이터 없음 (ts=20260220_132528) |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 8 | 8 | 0 | 77ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/deposits |
## 자동 진단
| 항목 | 내용 |
|------|------|
| 근본 원인 | **unknown** |
| 스크린샷 | diag_batch-create-acc-deposit_2026-02-20_13-26-24.png |
### 페이지 상태
| 항목 | 값 |
|------|----|
| DOM 노드 | 1372 |
| 테이블 행 | 24 |
| API 호출 수 | 0 |
| 로딩 스피너 | No |

View File

@@ -0,0 +1,77 @@
# ❌ E2E 테스트 실패: Create+Delete 테스트: 입금관리
**테스트 ID**: create-delete-acc-deposit | **실행**: 2026-02-20_13-29-50 | **결과**: FAIL
**소요 시간**: 22.5초 | **중단 사유**: critical_failure
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 8 | 6 | 2 | 0 | 75% |
## 실패 스텝
| # | 스텝 | Phase | 에러 |
|---|------|-------|------|
| 7 | [회계관리 > 입금관리] [VERIFY] 생성 데이터 확인 | VERIFY | evaluate returned ok:false |
| 8 | [회계관리 > 입금관리] [DELETE] 데이터 삭제 | DELETE | E2E_TEST_ 데이터 없음 |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 1007ms | Waited 1000ms |
| 2 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [회계관리 > 입금관리] [CREATE] 데이터 생성 | CREATE | ✅ | 6166ms | CREATE |
| 4 | [회계관리 > 입금관리] [CREATE] 생성 후 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 5 | [회계관리 > 입금관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2014ms | evaluate ok |
| 6 | [회계관리 > 입금관리] [CREATE] 목록 안정화 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 7 | [회계관리 > 입금관리] [VERIFY] 생성 데이터 확인 | VERIFY | ❌ | 4019ms | evaluate returned ok:false |
| 8 | [회계관리 > 입금관리] [DELETE] 데이터 삭제 | DELETE | ❌ | 1013ms | E2E_TEST_ 데이터 없음 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 3 | 3 | 0 | 3574ms | 1 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/deposits |
### 콘솔 에러 (Health Check)
1. `[Notification] 알림 조회 실패: TypeError: Failed to fetch
at window.fetch (eval at evaluate (:290:30), <anonymous>:45:40)
at M (https://dev.codebridge-x.com/_next/static/chunks/1255-3f38644fe3778fb2`
## 자동 진단
| 항목 | 내용 |
|------|------|
| 근본 원인 | **unknown** |
| 스크린샷 | diag_create-delete-acc-deposit_2026-02-20_13-29-50.png |
### 콘솔 에러 (진단)
1. `[Notification] 알림 조회 실패: TypeError: Failed to fetch
at window.fetch (eval at evaluate (:290:30), <anonymous>:45:40)
at M (https://dev.codebridge-x.com/_next/static/chunks/1255-3f38644fe3778fb2`
2. `Failed to load resource: the server responded with a status of 500 ()`
3. `Welfare API Error: Error: API 오류: 500
at E (https://dev.codebridge-x.com/_next/static/chunks/9836-b6b143a801b648b8.js:1:9477)
at async https://dev.codebridge-x.com/_next/static/chunks/9836-b6b`
4. `Failed to load resource: the server responded with a status of 500 ()`
5. `Calendar API Error: Error: API 오류: 500
at E (https://dev.codebridge-x.com/_next/static/chunks/9836-b6b143a801b648b8.js:1:9477)
at async https://dev.codebridge-x.com/_next/static/chunks/9836-b6`
6. `Failed to load resource: the server responded with a status of 500 ()`
7. `TodayIssue API Error: Error: API 오류: 500
at E (https://dev.codebridge-x.com/_next/static/chunks/9836-b6b143a801b648b8.js:1:9477)
at async https://dev.codebridge-x.com/_next/static/chunks/9836-`
8. `Failed to load resource: the server responded with a status of 500 ()`
9. `Failed to load resource: the server responded with a status of 500 ()`
10. `Failed to load resource: the server responded with a status of 500 ()`
### 페이지 상태
| 항목 | 값 |
|------|----|
| DOM 노드 | 571 |
| 테이블 행 | 0 |
| API 호출 수 | 0 |
| 로딩 스피너 | No |

View File

@@ -0,0 +1,66 @@
# ❌ E2E 테스트 실패: Create+Delete 테스트: 자유게시판
**테스트 ID**: create-delete-board | **실행**: 2026-02-20_13-30-19 | **결과**: FAIL
**소요 시간**: 28.4초 | **중단 사유**: critical_failure
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 8 | 5 | 3 | 0 | 63% |
## 실패 스텝
| # | 스텝 | Phase | 에러 |
|---|------|-------|------|
| 2 | [게시판 > 자유게시판] 테이블 로드 대기 | - | Step timeout (>5s): [게시판 > 자유게시판] 테이블 로드 대기 |
| 7 | [게시판 > 자유게시판] [VERIFY] 생성 데이터 확인 | VERIFY | evaluate returned ok:false |
| 8 | [게시판 > 자유게시판] [DELETE] 데이터 삭제 | DELETE | E2E_TEST_ 데이터 없음 |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 1011ms | Waited 1000ms |
| 2 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ❌ | 5006ms | Step timeout (>5s): [게시판 > 자유게시판] 테이블 로드 대기 |
| 3 | [게시판 > 자유게시판] [CREATE] 데이터 생성 | CREATE | ✅ | 6994ms | CREATE |
| 4 | [게시판 > 자유게시판] [CREATE] 생성 후 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 5 | [게시판 > 자유게시판] [CREATE] 목록 복귀 | CREATE | ✅ | 2013ms | evaluate ok |
| 6 | [게시판 > 자유게시판] [CREATE] 목록 안정화 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 7 | [게시판 > 자유게시판] [VERIFY] 생성 데이터 확인 | VERIFY | ❌ | 4038ms | evaluate returned ok:false |
| 8 | [게시판 > 자유게시판] [DELETE] 데이터 삭제 | DELETE | ❌ | 1028ms | E2E_TEST_ 데이터 없음 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 4 | 4 | 0 | 7752ms | 3 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/boards/free |
### 콘솔 에러 (Health Check)
1. `Failed to load options for vendorId: TypeError: Failed to fetch
at window.fetch (eval at evaluate (:290:30), <anonymous>:45:40)
at M (https://dev.codebridge-x.com/_next/static/chunks/1255-3f38`
## 자동 진단
| 항목 | 내용 |
|------|------|
| 근본 원인 | **element_timeout** |
| 스크린샷 | diag_create-delete-board_2026-02-20_13-30-19.png |
### 권장 조치
1. 요소 대기 타임아웃. 페이지 로드 지연 또는 셀렉터 불일치
### 콘솔 에러 (진단)
1. `Failed to load options for vendorId: TypeError: Failed to fetch
at window.fetch (eval at evaluate (:290:30), <anonymous>:45:40)
at M (https://dev.codebridge-x.com/_next/static/chunks/1255-3f38`
### 페이지 상태
| 항목 | 값 |
|------|----|
| DOM 노드 | 400 |
| 테이블 행 | 0 |
| API 호출 수 | 0 |
| 로딩 스피너 | No |

View File

@@ -0,0 +1,62 @@
# ❌ E2E 테스트 실패: 페이지네이션 & 정렬 검증: 회계
**테스트 ID**: pagination-sort-acc | **실행**: 2026-02-20_13-51-36 | **결과**: FAIL
**소요 시간**: 54.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 17 | 14 | 3 | 0 | 82% |
## 실패 스텝
| # | 스텝 | Phase | 에러 |
|---|------|-------|------|
| 4 | [회계관리 > 어음관리] 컬럼 정렬 검증 | SORT | ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심) |
| 10 | [회계관리 > 입금관리] 컬럼 정렬 검증 | SORT | ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심) |
| 16 | [회계관리 > 거래처관리] 컬럼 정렬 검증 | SORT | ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심) |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 1011ms | Waited 1000ms |
| 2 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [회계관리 > 어음관리] 행 수/중복 검증 | VERIFY | ✅ | 5ms | ROW_COUNT / rows:20 |
| 4 | [회계관리 > 어음관리] 컬럼 정렬 검증 | SORT | ❌ | 10043ms | ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심) |
| 5 | [회계관리 > 어음관리] 페이지네이션 검증 | PAGINATION | ✅ | 3533ms | PAGINATION |
| 6 | [회계관리 > 입금관리] 메뉴 이동 | - | ✅ | 520ms | Menu navigation: 회계관리 > 입금관리 |
| 7 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 1014ms | Waited 1000ms |
| 8 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 9 | [회계관리 > 입금관리] 행 수/중복 검증 | VERIFY | ✅ | 3ms | ROW_COUNT / rows:20 |
| 10 | [회계관리 > 입금관리] 컬럼 정렬 검증 | SORT | ❌ | 10040ms | ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심) |
| 11 | [회계관리 > 입금관리] 페이지네이션 검증 | PAGINATION | ✅ | 3525ms | PAGINATION |
| 12 | [회계관리 > 거래처관리] 메뉴 이동 | - | ✅ | 4047ms | Menu navigation: 회계관리 > 거래처관리 |
| 13 | [회계관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 1002ms | Waited 1000ms |
| 14 | [회계관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 15 | [회계관리 > 거래처관리] 행 수/중복 검증 | VERIFY | ✅ | 3ms | ROW_COUNT / rows:20 |
| 16 | [회계관리 > 거래처관리] 컬럼 정렬 검증 | SORT | ❌ | 10079ms | ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심) |
| 17 | [회계관리 > 거래처관리] 페이지네이션 검증 | PAGINATION | ✅ | 3523ms | PAGINATION |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 13 | 13 | 0 | 109ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/bills |
## 자동 진단
| 항목 | 내용 |
|------|------|
| 근본 원인 | **unknown** |
| 스크린샷 | diag_pagination-sort-acc_2026-02-20_13-51-35.png |
### 페이지 상태
| 항목 | 값 |
|------|----|
| DOM 노드 | 1933 |
| 테이블 행 | 20 |
| API 호출 수 | 0 |
| 로딩 스피너 | No |

View File

@@ -0,0 +1,55 @@
# ❌ E2E 테스트 실패: 페이지네이션 & 정렬 검증: 인사/게시판
**테스트 ID**: pagination-sort-hr | **실행**: 2026-02-20_13-52-14 | **결과**: FAIL
**소요 시간**: 38.0초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 11 | 9 | 2 | 0 | 82% |
## 실패 스텝
| # | 스텝 | Phase | 에러 |
|---|------|-------|------|
| 4 | [인사관리 > 사원관리] 컬럼 정렬 검증 | SORT | ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심) |
| 10 | [게시판 > 자유게시판] 컬럼 정렬 검증 | SORT | ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심) |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [인사관리 > 사원관리] 페이지 로드 대기 | - | ✅ | 1008ms | Waited 1000ms |
| 2 | [인사관리 > 사원관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [인사관리 > 사원관리] 행 수/중복 검증 | VERIFY | ✅ | 3ms | ROW_COUNT / rows:20 |
| 4 | [인사관리 > 사원관리] 컬럼 정렬 검증 | SORT | ❌ | 10049ms | ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심) |
| 5 | [인사관리 > 사원관리] 페이지네이션 검증 | PAGINATION | ✅ | 3532ms | PAGINATION |
| 6 | [게시판 > 자유게시판] 메뉴 이동 | - | ✅ | 2531ms | Menu navigation: 게시판 > 자유게시판 |
| 7 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 1015ms | Waited 1000ms |
| 8 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 9 | [게시판 > 자유게시판] 행 수/중복 검증 | VERIFY | ✅ | 4ms | ROW_COUNT / rows:10 |
| 10 | [게시판 > 자유게시판] 컬럼 정렬 검증 | SORT | ❌ | 10065ms | ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심) |
| 11 | [게시판 > 자유게시판] 페이지네이션 검증 | PAGINATION | ✅ | 3514ms | PAGINATION |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 5 | 5 | 0 | 94ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/employee-management |
## 자동 진단
| 항목 | 내용 |
|------|------|
| 근본 원인 | **unknown** |
| 스크린샷 | diag_pagination-sort-hr_2026-02-20_13-52-13.png |
### 페이지 상태
| 항목 | 값 |
|------|----|
| DOM 노드 | 946 |
| 테이블 행 | 10 |
| API 호출 수 | 0 |
| 로딩 스피너 | No |

View File

@@ -0,0 +1,62 @@
# ❌ E2E 테스트 실패: 페이지네이션 & 정렬 검증: 판매
**테스트 ID**: pagination-sort-sales | **실행**: 2026-02-20_13-53-06 | **결과**: FAIL
**소요 시간**: 52.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 17 | 14 | 3 | 0 | 82% |
## 실패 스텝
| # | 스텝 | Phase | 에러 |
|---|------|-------|------|
| 4 | [판매관리 > 거래처관리] 컬럼 정렬 검증 | SORT | ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심) |
| 10 | [판매관리 > 수주관리] 컬럼 정렬 검증 | SORT | ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심) |
| 16 | [판매관리 > 견적관리] 컬럼 정렬 검증 | SORT | ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심) |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [판매관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 1002ms | Waited 1000ms |
| 2 | [판매관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [판매관리 > 거래처관리] 행 수/중복 검증 | VERIFY | ✅ | 3ms | ROW_COUNT / rows:20 |
| 4 | [판매관리 > 거래처관리] 컬럼 정렬 검증 | SORT | ❌ | 10060ms | ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심) |
| 5 | [판매관리 > 거래처관리] 페이지네이션 검증 | PAGINATION | ✅ | 3517ms | PAGINATION |
| 6 | [판매관리 > 수주관리] 메뉴 이동 | - | ✅ | 510ms | Menu navigation: 판매관리 > 수주관리 |
| 7 | [판매관리 > 수주관리] 페이지 로드 대기 | - | ✅ | 1005ms | Waited 1000ms |
| 8 | [판매관리 > 수주관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 9 | [판매관리 > 수주관리] 행 수/중복 검증 | VERIFY | ✅ | 2ms | ROW_COUNT / rows:20 |
| 10 | [판매관리 > 수주관리] 컬럼 정렬 검증 | SORT | ❌ | 10064ms | ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심) |
| 11 | [판매관리 > 수주관리] 페이지네이션 검증 | PAGINATION | ✅ | 3535ms | PAGINATION |
| 12 | [판매관리 > 견적관리] 메뉴 이동 | - | ✅ | 2026ms | Menu navigation: 판매관리 > 견적관리 |
| 13 | [판매관리 > 견적관리] 페이지 로드 대기 | - | ✅ | 1009ms | Waited 1000ms |
| 14 | [판매관리 > 견적관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 15 | [판매관리 > 견적관리] 행 수/중복 검증 | VERIFY | ✅ | 3ms | ROW_COUNT / rows:20 |
| 16 | [판매관리 > 견적관리] 컬럼 정렬 검증 | SORT | ❌ | 10047ms | ⚠️ 컬럼 클릭 후 정렬 변화 없음 (정렬 미구현 의심) |
| 17 | [판매관리 > 견적관리] 페이지네이션 검증 | PAGINATION | ✅ | 3528ms | PAGINATION |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 8 | 8 | 0 | 100ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
## 자동 진단
| 항목 | 내용 |
|------|------|
| 근본 원인 | **unknown** |
| 스크린샷 | diag_pagination-sort-sales_2026-02-20_13-53-06.png |
### 페이지 상태
| 항목 | 값 |
|------|----|
| DOM 노드 | 2059 |
| 테이블 행 | 20 |
| API 호출 수 | 0 |
| 로딩 스피너 | No |

View File

@@ -0,0 +1,59 @@
# ❌ E2E 테스트 실패: 새로고침 데이터 유지 검증: 어음관리
**테스트 ID**: reload-persist-acc-bills | **실행**: 2026-02-20_13-58-28 | **결과**: FAIL
**소요 시간**: 52.8초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 16 | 15 | 1 | 0 | 94% |
## 실패 스텝
| # | 스텝 | Phase | 에러 |
|---|------|-------|------|
| 3 | [회계관리 > 어음관리] [CREATE] 데이터 생성 | CREATE | 등록 후 여전히 폼 페이지 (url=/accounting/bills?mode=new) |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 1014ms | Waited 1000ms |
| 2 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [회계관리 > 어음관리] [CREATE] 데이터 생성 | CREATE | ❌ | 27417ms | 등록 후 여전히 폼 페이지 (url=/accounting/bills?mode=new) |
| 4 | [회계관리 > 어음관리] [CREATE] 생성 후 대기 | - | ✅ | 1006ms | Waited 1000ms |
| 5 | [회계관리 > 어음관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2010ms | evaluate ok |
| 6 | [회계관리 > 어음관리] [CREATE] 목록 안정화 | - | ✅ | 1000ms | Waited 1000ms |
| 7 | [회계관리 > 어음관리] [VERIFY] 새로고침 전 데이터 확인 | VERIFY | ✅ | 516ms | VERIFY / rows:20 |
| 8 | [회계관리 > 어음관리] [RELOAD] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
| 9 | [회계관리 > 어음관리] [RELOAD] 새로고침 후 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 10 | [회계관리 > 어음관리] [RELOAD] SPA 안정화 대기 | - | ✅ | 1002ms | Waited 1000ms |
| 11 | [회계관리 > 어음관리] [VERIFY] 새로고침 후 데이터 유지 확인 | VERIFY | ✅ | 501ms | VERIFY / rows:20 |
| 12 | [회계관리 > 어음관리] [DELETE] 테스트 데이터 삭제 | DELETE | ✅ | 6530ms | DELETE |
| 13 | [회계관리 > 어음관리] [DELETE] 삭제 후 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 14 | [회계관리 > 어음관리] [DELETE] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
| 15 | [회계관리 > 어음관리] [DELETE] 목록 안정화 | - | ✅ | 1001ms | Waited 1000ms |
| 16 | [회계관리 > 어음관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 518ms | VERIFY_DELETE / rows:24 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 7 | 7 | 0 | 85ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/bills |
## 자동 진단
| 항목 | 내용 |
|------|------|
| 근본 원인 | **unknown** |
| 스크린샷 | diag_reload-persist-acc-bills_2026-02-20_13-58-28.png |
### 페이지 상태
| 항목 | 값 |
|------|----|
| DOM 노드 | 1372 |
| 테이블 행 | 24 |
| API 호출 수 | 0 |
| 로딩 스피너 | No |

View File

@@ -0,0 +1,59 @@
# ❌ E2E 테스트 실패: 새로고침 데이터 유지 검증: 입금관리
**테스트 ID**: reload-persist-acc-deposit | **실행**: 2026-02-20_13-59-13 | **결과**: FAIL
**소요 시간**: 45.5초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 16 | 15 | 1 | 0 | 94% |
## 실패 스텝
| # | 스텝 | Phase | 에러 |
|---|------|-------|------|
| 3 | [회계관리 > 입금관리] [CREATE] 데이터 생성 | CREATE | 등록 후 여전히 폼 페이지 (url=/accounting/deposits?mode=new) |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 1011ms | Waited 1000ms |
| 2 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [회계관리 > 입금관리] [CREATE] 데이터 생성 | CREATE | ❌ | 19450ms | 등록 후 여전히 폼 페이지 (url=/accounting/deposits?mode=new) |
| 4 | [회계관리 > 입금관리] [CREATE] 생성 후 대기 | - | ✅ | 1021ms | Waited 1000ms |
| 5 | [회계관리 > 입금관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2012ms | evaluate ok |
| 6 | [회계관리 > 입금관리] [CREATE] 목록 안정화 | - | ✅ | 1000ms | Waited 1000ms |
| 7 | [회계관리 > 입금관리] [VERIFY] 새로고침 전 데이터 확인 | VERIFY | ✅ | 503ms | VERIFY / rows:20 |
| 8 | [회계관리 > 입금관리] [RELOAD] 페이지 새로고침 | - | ✅ | 1ms | Page reload |
| 9 | [회계관리 > 입금관리] [RELOAD] 새로고침 후 대기 | - | ✅ | 1007ms | Waited 1000ms |
| 10 | [회계관리 > 입금관리] [RELOAD] SPA 안정화 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 11 | [회계관리 > 입금관리] [VERIFY] 새로고침 후 데이터 유지 확인 | VERIFY | ✅ | 517ms | VERIFY / rows:20 |
| 12 | [회계관리 > 입금관리] [DELETE] 테스트 데이터 삭제 | DELETE | ✅ | 6529ms | DELETE |
| 13 | [회계관리 > 입금관리] [DELETE] 삭제 후 대기 | - | ✅ | 1002ms | Waited 1000ms |
| 14 | [회계관리 > 입금관리] [DELETE] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
| 15 | [회계관리 > 입금관리] [DELETE] 목록 안정화 | - | ✅ | 1001ms | Waited 1000ms |
| 16 | [회계관리 > 입금관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 518ms | VERIFY_DELETE / rows:24 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 8 | 8 | 0 | 77ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/deposits |
## 자동 진단
| 항목 | 내용 |
|------|------|
| 근본 원인 | **unknown** |
| 스크린샷 | diag_reload-persist-acc-deposit_2026-02-20_13-59-13.png |
### 페이지 상태
| 항목 | 값 |
|------|----|
| DOM 노드 | 1372 |
| 테이블 행 | 24 |
| API 호출 수 | 0 |
| 로딩 스피너 | No |

View File

@@ -0,0 +1,62 @@
# ❌ E2E 테스트 실패: 검색/필터/페이지네이션 테스트: 매출관리
**테스트 ID**: search-filter-acc-sales | **실행**: 2026-02-20_14-03-31 | **결과**: FAIL
**소요 시간**: 28.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 18 | 16 | 2 | 0 | 89% |
## 실패 스텝
| # | 스텝 | Phase | 에러 |
|---|------|-------|------|
| 7 | [회계관리 > 매출관리] [VENDOR-FILTER] 모든 행이 해당 거래처인지 확인 | VERIFY | evaluate returned ok:false |
| 11 | [회계관리 > 매출관리] [TYPE-FILTER] 모든 행이 해당 유형인지 확인 | VERIFY | evaluate returned ok:false |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 1012ms | Waited 1000ms |
| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 3 | [회계관리 > 매출관리] [BASELINE] 초기 행 수 + UI 요소 캡처 | BASELINE | ✅ | 511ms | BASELINE / 초기 행 수: 20, 콤보: 5, 페이지네이션: false |
| 4 | [회계관리 > 매출관리] [DATE-FILTER] 날짜 범위 필터 설정 | FILTER | ✅ | 1007ms | DATE_FILTER |
| 5 | [회계관리 > 매출관리] [DATE-FILTER] 결과 확인 후 초기화 | FILTER | ✅ | 2005ms | DATE_RESET |
| 6 | [회계관리 > 매출관리] [VENDOR-FILTER] 거래처 필터 선택 | FILTER | ✅ | 2010ms | VENDOR_FILTER |
| 7 | [회계관리 > 매출관리] [VENDOR-FILTER] 모든 행이 해당 거래처인지 확인 | VERIFY | ❌ | 1005ms | evaluate returned ok:false |
| 8 | [회계관리 > 매출관리] [VENDOR-FILTER] 초기화 | FILTER | ✅ | 2010ms | VENDOR_RESET |
| 9 | [회계관리 > 매출관리] [VENDOR-FILTER] 초기화 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 10 | [회계관리 > 매출관리] [TYPE-FILTER] 매출유형 필터 선택 | FILTER | ✅ | 2031ms | TYPE_FILTER |
| 11 | [회계관리 > 매출관리] [TYPE-FILTER] 모든 행이 해당 유형인지 확인 | VERIFY | ❌ | 1020ms | evaluate returned ok:false |
| 12 | [회계관리 > 매출관리] [RESET] 전체 필터 초기화 | FILTER | ✅ | 2016ms | FULL_RESET |
| 13 | [회계관리 > 매출관리] [RESET] 초기화 후 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 14 | [회계관리 > 매출관리] [RESET] 원래 행 수 복귀 확인 | VERIFY | ✅ | 1ms | RESET_VERIFY / ✅ 행 수 복귀 (20 → 20) |
| 15 | [회계관리 > 매출관리] [PAGINATION] 페이지네이션 존재 확인 | PAGINATION | ✅ | 2015ms | PAGINATION_CHECK / ✅ 2페이지 이동 → 데이터 변경됨 |
| 16 | [회계관리 > 매출관리] [PAGINATION] 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 17 | [회계관리 > 매출관리] [PAGINATION] 1페이지 복귀 | PAGINATION | ✅ | 2016ms | PAGE1_RETURN / ⚠️ 1페이지 복귀 → 데이터 불일치 |
| 18 | [회계관리 > 매출관리] [SUMMARY] 필터/검색 테스트 완료 | VERIFY | ✅ | 0ms | SUMMARY / 검색/필터/페이지네이션 테스트 완료 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 2 | 2 | 0 | 84ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/sales |
## 자동 진단
| 항목 | 내용 |
|------|------|
| 근본 원인 | **unknown** |
| 스크린샷 | diag_search-filter-acc-sales_2026-02-20_14-03-31.png |
### 페이지 상태
| 항목 | 값 |
|------|----|
| DOM 노드 | 1581 |
| 테이블 행 | 20 |
| API 호출 수 | 0 |
| 로딩 스피너 | No |

View File

@@ -0,0 +1,61 @@
# ❌ E2E 테스트 실패: 비즈니스 워크플로우: 품목→입고→재고→출고 흐름
**테스트 ID**: workflow-inventory-cycle | **실행**: 2026-02-20_14-27-03 | **결과**: FAIL
**소요 시간**: 33.0초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 15 | 14 | 1 | 0 | 93% |
## 실패 스텝
| # | 스텝 | Phase | 에러 |
|---|------|-------|------|
| 2 | [생산 > 품목관리] wait_for_table | - | Step timeout (>10s): [생산 > 품목관리] wait_for_table |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [생산 > 품목관리] wait | - | ✅ | 1015ms | Waited 1000ms |
| 2 | [생산 > 품목관리] wait_for_table | - | ❌ | 10016ms | Step timeout (>10s): [생산 > 품목관리] wait_for_table |
| 3 | [생산 > 품목관리] CAPTURE_ITEM | CAPTURE_ITEM | ✅ | 1502ms | CAPTURE_ITEM / W:테이블에 데이터 없음 / rows:0 |
| 4 | [자재관리 > 입고관리] 메뉴 이동 | - | ✅ | 2529ms | Menu navigation: 자재관리 > 입고관리 |
| 5 | [자재관리 > 입고관리] wait | - | ✅ | 1001ms | Waited 1000ms |
| 6 | [자재관리 > 입고관리] wait_for_table | - | ✅ | 1ms | Table loaded: 10 rows |
| 7 | [자재관리 > 입고관리] VERIFY_ITEM_RECEIVING | VERIFY_ITEM_RECEIVING | ✅ | 2013ms | VERIFY_ITEM_RECEIVING / W:컨텍스트에 itemName 없음 |
| 8 | [자재관리 > 재고현황] 메뉴 이동 | - | ✅ | 512ms | Menu navigation: 자재관리 > 재고현황 |
| 9 | [자재관리 > 재고현황] wait | - | ✅ | 1010ms | Waited 1000ms |
| 10 | [자재관리 > 재고현황] wait_for_table | - | ✅ | 0ms | Table loaded: 10 rows |
| 11 | [자재관리 > 재고현황] VERIFY_ITEM_STOCK | VERIFY_ITEM_STOCK | ✅ | 2015ms | VERIFY_ITEM_STOCK / W:컨텍스트에 itemName 없음 |
| 12 | [회계 > 출금관리] 메뉴 이동 | - | ✅ | 2528ms | Menu navigation: 회계관리 > 출금관리 |
| 13 | [회계 > 출금관리] wait | - | ✅ | 1001ms | Waited 1000ms |
| 14 | [회계 > 출금관리] wait_for_table | - | ✅ | 0ms | Table loaded: 20 rows |
| 15 | [회계 > 출금관리] CHECK_WITHDRAWAL | CHECK_WITHDRAWAL | ✅ | 1503ms | CHECK_WITHDRAWAL / 테이블 행: 20 / rows:20 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 8 | 8 | 0 | 84ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/dashboard |
## 자동 진단
| 항목 | 내용 |
|------|------|
| 근본 원인 | **element_timeout** |
| 스크린샷 | diag_workflow-inventory-cycle_2026-02-20_14-27-03.png |
### 권장 조치
1. 요소 대기 타임아웃. 페이지 로드 지연 또는 셀렉터 불일치
### 페이지 상태
| 항목 | 값 |
|------|----|
| DOM 노드 | 1488 |
| 테이블 행 | 20 |
| API 호출 수 | 0 |
| 로딩 스피너 | No |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 거래처관리
**테스트 ID**: a11y-acc-client | **실행**: 2026-02-20_13-15-54 | **결과**: PASS
**소요 시간**: 10.4초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1017ms | A11y: score=0 FAIL (C:0 S:23 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/accounting/vendors |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 회계관리 > 입금관리
**테스트 ID**: a11y-acc-deposit | **실행**: 2026-02-20_13-16-04 | **결과**: PASS
**소요 시간**: 10.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1010ms | Waited 1000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1037ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2225ms | 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-02-20_13-16-13 | **결과**: PASS
**소요 시간**: 9.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 4 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 3ms | A11y: score=85 PASS (C:0 S:3 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2210ms | 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-02-20_13-16-24 | **결과**: PASS
**소요 시간**: 10.4초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1006ms | Waited 1000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1035ms | A11y: score=0 FAIL (C:0 S:63 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2261ms | 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-02-20_13-16-34 | **결과**: PASS
**소요 시간**: 10.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1003ms | Waited 1000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 15 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1036ms | A11y: score=10 FAIL (C:0 S:18 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2194ms | 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-02-20_13-16-44 | **결과**: PASS
**소요 시간**: 10.4초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1012ms | Waited 1000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1023ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2247ms | 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-02-20_13-16-55 | **결과**: PASS
**소요 시간**: 10.4초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1009ms | Waited 1000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1031ms | A11y: score=35 FAIL (C:0 S:13 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2263ms | 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-02-20_13-17-05 | **결과**: PASS
**소요 시간**: 10.4초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1018ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2215ms | 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-02-20_13-17-16 | **결과**: PASS
**소요 시간**: 10.4초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1013ms | Waited 1000ms |
| 2 | 페이지 콘텐츠 로드 확인 | - | ✅ | 2ms | Found: text=부서관리 |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1024ms | A11y: score=35 FAIL (C:0 S:13 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2240ms | 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-02-20_13-17-26 | **결과**: PASS
**소요 시간**: 10.4초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1011ms | Waited 1000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1012ms | A11y: score=0 FAIL (C:0 S:23 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/employee-management |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 인사관리 > 급여관리
**테스트 ID**: a11y-hr-salary | **실행**: 2026-02-20_13-17-35 | **결과**: PASS
**소요 시간**: 9.5초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 4 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1009ms | Waited 1000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 1 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=85 PASS (C:0 S:3 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2237ms | 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-02-20_13-17-46 | **결과**: PASS
**소요 시간**: 10.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1006ms | Waited 1000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1025ms | A11y: score=35 FAIL (C:0 S:13 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2220ms | 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-02-20_13-17-56 | **결과**: PASS
**소요 시간**: 10.4초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1008ms | Waited 1000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1021ms | A11y: score=0 FAIL (C:0 S:23 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/material/stock-status |

View File

@@ -0,0 +1,28 @@
# ✅ E2E 테스트 성공: 접근성 검사: 생산관리 > 품목관리
**테스트 ID**: a11y-prod-item | **실행**: 2026-02-20_13-18-06 | **결과**: PASS
**소요 시간**: 9.4초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 4 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1003ms | Waited 1000ms |
| 2 | 페이지 콘텐츠 로드 확인 | - | ✅ | 3ms | Found: text=품목기준관리 |
| 3 | 접근성 감사 | A11Y_AUDIT | ✅ | 1ms | A11y: score=80 PASS (C:0 S:4 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2227ms | 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-02-20_13-18-16 | **결과**: PASS
**소요 시간**: 10.5초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1016ms | Waited 1000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 15 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1016ms | A11y: score=10 FAIL (C:0 S:18 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2245ms | 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-02-20_13-18-26 | **결과**: PASS
**소요 시간**: 10.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1008ms | Waited 1000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1021ms | A11y: score=0 FAIL (C:0 S:23 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2260ms | 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-02-20_13-18-37 | **결과**: PASS
**소요 시간**: 10.5초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1012ms | Waited 1000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 12 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1008ms | A11y: score=25 FAIL (C:0 S:15 M:0) |
| 4 | 키보드 네비게이션 검사 | KBD_NAV | ✅ | 2207ms | 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-02-20_13-18-47 | **결과**: PASS
**소요 시간**: 10.4초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 4 | 3 | 0 | 1 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1011ms | Waited 1000ms |
| 2 | 테이블/콘텐츠 로드 대기 | - | ✅ | 0ms | Table loaded: 9 rows |
| 3 | 접근성 감사 | A11Y_AUDIT | ⚠️ | 1035ms | A11y: score=40 FAIL (C:0 S:12 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/order-management-sales |

View File

@@ -0,0 +1,48 @@
# ✅ E2E 테스트 성공: 악성채권추심관리 테스트
**테스트 ID**: accounting-bad-debt | **실행**: 2026-02-20_13-18-58 | **결과**: PASS
**소요 시간**: 10.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 24 | 22 | 0 | 2 | 92% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 악성채권추심관리 | - | ✅ | 518ms | Menu navigation: 회계관리 > 악성채권추심관리 |
| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/accounting/bad-debt-collection |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 49 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 3ms | json_fail:Unexpected token 'S', "Stats: 16 "... is not valid JSON/raw:Stats: 16 |
| 5 | 악성채권 테이블 구조 확인 | - | ✅ | 0ms | Table: 9 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 | ✅ | 3ms | 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 | ✅ | 1ms | 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 | ✅ | 515ms | Toast visible: "" |
| 13 | [READ] 등록된 채권 검색 | READ | ✅ | 302ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
| 14 | [READ] 등록된 채권 확인 | READ | ⚠️ | 1014ms | 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 | ✅ | 2ms | Element not present (ok): button:has-text('상태변경'), select[name*='status'] |
| 18 | [UPDATE] 추심 메모 추가 | UPDATE | ✅ | 1ms | 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 | ✅ | 511ms | Toast visible: "" |
| 21 | [DELETE] 채권 삭제 | DELETE | ✅ | 2ms | 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 | ⚠️ | 1015ms | Detail checks: 0/1 matched |
| 24 | 콘솔 에러 확인 | - | ✅ | 2ms | 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,43 @@
# ✅ E2E 테스트 성공: 계좌입출금내역 테스트
**테스트 ID**: accounting-bank-transaction | **실행**: 2026-02-20_13-19-08 | **결과**: PASS
**소요 시간**: 10.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 19 | 16 | 0 | 3 | 84% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 계좌입출금내역 | - | ✅ | 518ms | Menu navigation: 회계관리 > 계좌입출금내역 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/bank-transactions |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 82 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 49 "... is not valid JSON/raw:Stats: 49 |
| 5 | 거래내역 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 20 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 | ✅ | 3ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
| 9 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 3ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1017ms | Detail checks: 0/1 matched |
| 11 | [READ] 거래 상세 보기 | READ | ✅ | 304ms | Clicked (existed): table tbody tr:first-child |
| 12 | 상세 정보 확인 | - | ⚠️ | 1017ms | Detail checks: 0/3 matched |
| 13 | 목록으로 돌아가기 | - | ✅ | 308ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
| 14 | 입금 합계 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
| 15 | 출금 합계 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
| 16 | 엑셀 다운로드 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 17 | 인쇄 버튼 확인 | - | ⚠️ | 1016ms | Checks: 0/1 verified |
| 18 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 19 | 콘솔 에러 확인 | - | ✅ | 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-02-20_13-19-28 | **결과**: PASS
**소요 시간**: 19.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 24 | 18 | 0 | 6 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 어음관리 | - | ✅ | 2518ms | Menu navigation: 회계관리 > 어음관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/bills |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 90 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 2ms | 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: 7" is not valid JSON/raw:Filters |
| 7 | 검색 기능 테스트 | - | ✅ | 307ms | Clicked (existed): input[placeholder*='검색'] |
| 8 | [CREATE] 어음 등록 버튼 클릭 | CREATE | ✅ | 316ms | Clicked (existed): button:has-text('등록'), button:has-text('어음 등록'), button:has-t |
| 9 | [CREATE] 어음 정보 입력 | CREATE | ✅ | 577ms | fill_form: 3/3 filled |
| 10 | [CREATE] 필수 검증 #2: 등록 저장 | CREATE | ✅ | 316ms | Clicked (existed): button:has-text('저장'), button:has-text('등록') |
| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2537ms | No toast/notification found |
| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 1ms | No modal open |
| 13 | [CREATE] 등록 결과 확인 | CREATE | ⚠️ | 1011ms | Detail checks: 0/0 matched |
| 14 | [READ] 어음 상세 페이지 진입 | READ | ✅ | 318ms | Clicked (existed): table tbody tr:first-child, table tbody tr:nth-child(1), tabl |
| 15 | [READ] 상세 정보 확인 | READ | ⚠️ | 1015ms | Detail checks: 0/4 matched |
| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 1ms | Element not present (ok): button:has-text('수정') |
| 17 | [UPDATE] 메모 수정 | UPDATE | ✅ | 1ms | Element not present (ok): textarea[name*='memo'], input[placeholder*='메모'] |
| 18 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 0ms | Element not present (ok): button:has-text('저장') |
| 19 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 2533ms | No toast/notification found |
| 20 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1002ms | Detail checks: 0/1 matched |
| 21 | [DELETE] 삭제 버튼 클릭 | DELETE | ✅ | 1ms | Element not present (ok): button:has-text('삭제') |
| 22 | [DELETE] 필수 검증 #6: 삭제 확인 | DELETE | ✅ | 1ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
| 23 | [DELETE] 삭제 결과 확인 | DELETE | ⚠️ | 1029ms | Detail checks: 0/0 matched |
| 24 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 2 | 2 | 0 | 74ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/bills |

View File

@@ -0,0 +1,43 @@
# ✅ E2E 테스트 성공: 카드사용내역 테스트
**테스트 ID**: accounting-card-history | **실행**: 2026-02-20_13-19-38 | **결과**: PASS
**소요 시간**: 10.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 19 | 16 | 0 | 3 | 84% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 카드사용내역 | - | ✅ | 518ms | Menu navigation: 회계관리 > 카드사용내역 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/card-transactions |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 61 inputs, 129 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 2ms | 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 | ✅ | 2ms | Element not present (ok): input[type='date']:first-of-type, [class*='datepicker' |
| 9 | [FILTER] 기간 필터 적용 | FILTER | ✅ | 3ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
| 10 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1009ms | Detail checks: 0/1 matched |
| 11 | [READ] 카드 사용내역 상세 보기 | READ | ✅ | 303ms | Clicked (existed): table tbody tr:first-child |
| 12 | 상세 정보 확인 | - | ⚠️ | 1009ms | Detail checks: 0/4 matched |
| 13 | 목록으로 돌아가기 | - | ✅ | 313ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
| 14 | 사용금액 합계 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
| 15 | 카드별 사용 현황 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
| 16 | 엑셀 다운로드 버튼 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 17 | 인쇄 버튼 확인 | - | ⚠️ | 1014ms | Checks: 0/1 verified |
| 18 | 페이지네이션 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
| 19 | 콘솔 에러 확인 | - | ✅ | 2ms | 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-02-20_13-19-55 | **결과**: PASS
**소요 시간**: 16.6초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 23 | 20 | 0 | 3 | 87% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 거래처관리 | - | ✅ | 2519ms | Menu navigation: 회계관리 > 거래처관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/vendors |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 78 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 1ms | Checks: 3/3 verified |
| 5 | 거래처 테이블 구조 확인 | - | ✅ | 0ms | Table: 10 cols, 20 rows |
| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
| 7 | [CREATE] 거래처 등록 버튼 클릭 | CREATE | ✅ | 316ms | Clicked (existed): button:has-text('거래처 등록'), button:has-text('등록'), button:has- |
| 8 | [CREATE] 거래처 정보 입력 | CREATE | ✅ | 653ms | fill_form: 4/5 filled |
| 9 | [CREATE] 거래처 구분 선택 | CREATE | ✅ | 314ms | Clicked (existed): #clientType-매출, label:has-text('매출') input[type='radio'], but |
| 10 | [CREATE] 필수 검증 #2: 거래처 저장 | CREATE | ✅ | 310ms | Clicked (existed): button:has-text('저장'), button:has-text('등록'), button:has-text |
| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2540ms | No toast/notification found |
| 12 | [READ] 등록된 거래처 검색 | READ | ✅ | 317ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
| 13 | [READ] 등록된 거래처 목록 확인 | READ | ⚠️ | 1017ms | Detail checks: 0/1 matched |
| 14 | [READ] 거래처 상세 조회 | READ | ✅ | 309ms | Clicked (existed): table tbody tr:first-child, table tbody tr:nth-child(1), tabl |
| 15 | 상세 페이지 정보 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 307ms | Clicked (existed): button:has-text('수정'), button:has-text('편집') |
| 17 | [UPDATE] 거래처 정보 수정 | UPDATE | ✅ | 1ms | Element not present (ok): input[name*='name'], input[placeholder*='거래처명'] |
| 18 | [UPDATE] 거래처 저장 | UPDATE | ✅ | 313ms | Clicked (existed): button:has-text('저장'), button:has-text('확인') |
| 19 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ✅ | 503ms | Toast visible: "" |
| 20 | [DELETE] 거래처 삭제 | DELETE | ✅ | 3ms | 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 | ⚠️ | 1012ms | Detail checks: 0/1 matched |
| 23 | 콘솔 에러 확인 | - | ✅ | 2ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 18 | 18 | 0 | 111ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/vendors |

View File

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

View File

@@ -0,0 +1,43 @@
# ✅ E2E 테스트 성공: 지출예상내역서 테스트
**테스트 ID**: accounting-expense-forecast | **실행**: 2026-02-20_13-20-26 | **결과**: PASS
**소요 시간**: 11.8초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 19 | 14 | 0 | 5 | 74% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 지출예상내역서 | - | ✅ | 516ms | Menu navigation: 회계관리 > 지출예상내역서 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/accounting/expected-expenses |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 74 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 43 "... is not valid JSON/raw:Stats: 43 |
| 5 | 지출예상 테이블 구조 확인 | - | ✅ | 0ms | Table: 8 cols, 24 rows |
| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
| 7 | 기간 선택 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
| 8 | [FILTER] 월 선택 | FILTER | ✅ | 2ms | 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 | ⚠️ | 1010ms | Detail checks: 0/1 matched |
| 11 | 지출 카테고리별 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 12 | 합계 금액 확인 | - | ⚠️ | 1013ms | Detail checks: 0/1 matched |
| 13 | 일별 지출 예상 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 14 | 주요 지출 항목 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 15 | 인쇄 버튼 확인 | - | ⚠️ | 1024ms | Checks: 0/1 verified |
| 16 | 엑셀 다운로드 버튼 확인 | - | ⚠️ | 1008ms | Checks: 0/1 verified |
| 17 | PDF 내보내기 확인 | - | ⚠️ | 1019ms | Checks: 0/1 verified |
| 18 | 이전/다음 기간 네비게이션 | - | ✅ | 1ms | Checks: 1/1 verified |
| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/expected-expenses |

View File

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

View File

@@ -0,0 +1,42 @@
# ✅ E2E 테스트 성공: 매입관리 테스트
**테스트 ID**: accounting-purchase | **실행**: 2026-02-20_13-20-53 | **결과**: PASS
**소요 시간**: 13.6초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 18 | 14 | 0 | 4 | 78% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 회계관리 > 매입관리 | - | ✅ | 2525ms | Menu navigation: 회계관리 > 매입관리 |
| 2 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 40 buttons |
| 3 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 8 cards found" is not valid JSON/raw:Sta |
| 4 | 매입 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 1 rows |
| 5 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 5" is not valid JSON/raw:Filters |
| 6 | 매입 통계 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
| 7 | [FILTER] 기간 필터 - 시작일 | FILTER | ✅ | 1ms | 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 | ⚠️ | 1013ms | Detail checks: 0/1 matched |
| 10 | [FILTER] 거래처별 필터 | FILTER | ✅ | 315ms | Clicked (existed): select[name*='vendor'], button:has-text('거래처') |
| 11 | [READ] 매입 상세 보기 | READ | ✅ | 312ms | Clicked (existed): table tbody tr:first-child |
| 12 | 상세 정보 확인 | - | ⚠️ | 1004ms | Detail checks: 0/3 matched |
| 13 | 목록으로 돌아가기 | - | ✅ | 317ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
| 14 | 매입 합계 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 15 | 엑셀 다운로드 버튼 확인 | - | ⚠️ | 1012ms | Checks: 0/1 verified |
| 16 | 인쇄 버튼 확인 | - | ⚠️ | 1006ms | Checks: 0/1 verified |
| 17 | 페이지네이션 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 18 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/purchase |

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,63 @@
# ✅ E2E 테스트 성공: API 건강성 감사: 회계
**테스트 ID**: api-health-acc | **실행**: 2026-02-20_13-22-04 | **결과**: PASS
**소요 시간**: 26.4초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 39 | 39 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 거래처관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:86 |
| 2 | [회계관리 > 거래처관리] API 호출 대기 | - | ✅ | 1006ms | Waited 1000ms |
| 3 | [회계관리 > 거래처관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 4 | [회계관리 > 어음관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:86 |
| 5 | [회계관리 > 어음관리] 메뉴 이동 | - | ✅ | 520ms | Menu navigation: 회계관리 > 어음관리 |
| 6 | [회계관리 > 어음관리] API 호출 대기 | - | ✅ | 1013ms | Waited 1000ms |
| 7 | [회계관리 > 어음관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 8 | [회계관리 > 입금관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:0 perf:86 |
| 9 | [회계관리 > 입금관리] 메뉴 이동 | - | ✅ | 2036ms | Menu navigation: 회계관리 > 입금관리 |
| 10 | [회계관리 > 입금관리] API 호출 대기 | - | ✅ | 1012ms | Waited 1000ms |
| 11 | [회계관리 > 입금관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 12 | [회계관리 > 출금관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:86 |
| 13 | [회계관리 > 출금관리] 메뉴 이동 | - | ✅ | 2512ms | Menu navigation: 회계관리 > 출금관리 |
| 14 | [회계관리 > 출금관리] API 호출 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 15 | [회계관리 > 출금관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 134ms / PASS |
| 16 | [회계관리 > 매출관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:91 |
| 17 | [회계관리 > 매출관리] 메뉴 이동 | - | ✅ | 510ms | Menu navigation: 회계관리 > 매출관리 |
| 18 | [회계관리 > 매출관리] API 호출 대기 | - | ✅ | 1008ms | Waited 1000ms |
| 19 | [회계관리 > 매출관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 20 | [회계관리 > 매입관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:91 |
| 21 | [회계관리 > 매입관리] 메뉴 이동 | - | ✅ | 2524ms | Menu navigation: 회계관리 > 매입관리 |
| 22 | [회계관리 > 매입관리] API 호출 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 23 | [회계관리 > 매입관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 42ms / PASS |
| 24 | [회계관리 > 악성채권관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:4 perf:96 |
| 25 | [회계관리 > 악성채권관리] 메뉴 이동 | - | ✅ | 512ms | Menu navigation: 회계관리 > 악성채권관리 |
| 26 | [회계관리 > 악성채권관리] API 호출 대기 | - | ✅ | 1007ms | Waited 1000ms |
| 27 | [회계관리 > 악성채권관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 28 | [회계관리 > 예상지출관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:4 perf:96 |
| 29 | [회계관리 > 예상지출관리] 메뉴 이동 | - | ✅ | 512ms | Menu navigation: 회계관리 > 예상지출관리 |
| 30 | [회계관리 > 예상지출관리] API 호출 대기 | - | ✅ | 1011ms | Waited 1000ms |
| 31 | [회계관리 > 예상지출관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 32 | [회계관리 > 카드내역관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:4 perf:96 |
| 33 | [회계관리 > 카드내역관리] 메뉴 이동 | - | ✅ | 520ms | Menu navigation: 회계관리 > 카드내역관리 |
| 34 | [회계관리 > 카드내역관리] API 호출 대기 | - | ✅ | 1009ms | Waited 1000ms |
| 35 | [회계관리 > 카드내역관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 36 | [회계관리 > 결제관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:4 perf:96 |
| 37 | [회계관리 > 결제관리] 메뉴 이동 | - | ✅ | 511ms | Menu navigation: 회계관리 > 결제관리 |
| 38 | [회계관리 > 결제관리] API 호출 대기 | - | ✅ | 1002ms | Waited 1000ms |
| 39 | [회계관리 > 결제관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 4 | 4 | 0 | 88ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/vendors |

View File

@@ -0,0 +1,59 @@
# ✅ E2E 테스트 성공: API 건강성 감사: 생산/기타
**테스트 ID**: api-health-prod-misc | **실행**: 2026-02-20_13-22-33 | **결과**: PASS
**소요 시간**: 28.8초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 35 | 35 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [생산관리 > 작업지시 관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:90 |
| 2 | [생산관리 > 작업지시 관리] API 호출 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 3 | [생산관리 > 작업지시 관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 4 | [생산관리 > 작업실적] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:90 |
| 5 | [생산관리 > 작업실적] 메뉴 이동 | - | ✅ | 518ms | Menu navigation: 생산관리 > 작업실적 |
| 6 | [생산관리 > 작업실적] API 호출 대기 | - | ✅ | 1013ms | Waited 1000ms |
| 7 | [생산관리 > 작업실적] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 8 | [생산관리 > 품목관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:90 |
| 9 | [생산관리 > 품목관리] 메뉴 이동 | - | ✅ | 4022ms | Menu navigation: 생산관리 > 품목관리 |
| 10 | [생산관리 > 품목관리] API 호출 대기 | - | ✅ | 1010ms | Waited 1000ms |
| 11 | [생산관리 > 품목관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 12 | [생산관리 > 작업자 화면] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:90 |
| 13 | [생산관리 > 작업자 화면] 메뉴 이동 | - | ✅ | 2532ms | Menu navigation: 생산관리 > 작업자 화면 |
| 14 | [생산관리 > 작업자 화면] API 호출 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 15 | [생산관리 > 작업자 화면] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 100ms / PASS |
| 16 | [품질관리 > 제품검사관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:4 perf:97 |
| 17 | [품질관리 > 제품검사관리] 메뉴 이동 | - | ✅ | 521ms | Menu navigation: 품질관리 > 제품검사관리 |
| 18 | [품질관리 > 제품검사관리] API 호출 대기 | - | ✅ | 1010ms | Waited 1000ms |
| 19 | [품질관리 > 제품검사관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 20 | [자재관리 > 입고관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:4 perf:97 |
| 21 | [자재관리 > 입고관리] 메뉴 이동 | - | ✅ | 519ms | Menu navigation: 자재관리 > 입고관리 |
| 22 | [자재관리 > 입고관리] API 호출 대기 | - | ✅ | 1004ms | Waited 1000ms |
| 23 | [자재관리 > 입고관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 24 | [자재관리 > 재고현황] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:4 perf:97 |
| 25 | [자재관리 > 재고현황] 메뉴 이동 | - | ✅ | 2528ms | Menu navigation: 자재관리 > 재고현황 |
| 26 | [자재관리 > 재고현황] API 호출 대기 | - | ✅ | 1014ms | Waited 1000ms |
| 27 | [자재관리 > 재고현황] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:3 / 3개 API / 3OK 0err 0slow / avg 90ms / PASS |
| 28 | [게시판 > 자유게시판] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:7 perf:103 |
| 29 | [게시판 > 자유게시판] 메뉴 이동 | - | ✅ | 511ms | Menu navigation: 게시판 > 자유게시판 |
| 30 | [게시판 > 자유게시판] API 호출 대기 | - | ✅ | 1003ms | Waited 1000ms |
| 31 | [게시판 > 자유게시판] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 32 | [게시판 > 공지사항] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:7 perf:103 |
| 33 | [게시판 > 공지사항] 메뉴 이동 | - | ✅ | 2536ms | Menu navigation: 게시판 > 공지사항 |
| 34 | [게시판 > 공지사항] API 호출 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 35 | [게시판 > 공지사항] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 90ms / PASS |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 9 | 9 | 0 | 94ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/production/work-orders |

View File

@@ -0,0 +1,59 @@
# ✅ E2E 테스트 성공: API 건강성 감사: 판매/인사
**테스트 ID**: api-health-sales-hr | **실행**: 2026-02-20_13-23-02 | **결과**: PASS
**소요 시간**: 28.9초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 35 | 35 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [판매관리 > 거래처관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:86 |
| 2 | [판매관리 > 거래처관리] API 호출 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 3 | [판매관리 > 거래처관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 4 | [판매관리 > 수주관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:86 |
| 5 | [판매관리 > 수주관리] 메뉴 이동 | - | ✅ | 522ms | Menu navigation: 판매관리 > 수주관리 |
| 6 | [판매관리 > 수주관리] API 호출 대기 | - | ✅ | 1012ms | Waited 1000ms |
| 7 | [판매관리 > 수주관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 8 | [판매관리 > 견적관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:86 |
| 9 | [판매관리 > 견적관리] 메뉴 이동 | - | ✅ | 2033ms | Menu navigation: 판매관리 > 견적관리 |
| 10 | [판매관리 > 견적관리] API 호출 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 11 | [판매관리 > 견적관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 12 | [판매관리 > 단가관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:0 perf:86 |
| 13 | [판매관리 > 단가관리] 메뉴 이동 | - | ✅ | 2529ms | Menu navigation: 판매관리 > 단가관리 |
| 14 | [판매관리 > 단가관리] API 호출 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 15 | [판매관리 > 단가관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 100ms / PASS |
| 16 | [인사관리 > 사원관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:92 |
| 17 | [인사관리 > 사원관리] 메뉴 이동 | - | ✅ | 526ms | Menu navigation: 인사관리 > 사원관리 |
| 18 | [인사관리 > 사원관리] API 호출 대기 | - | ✅ | 1003ms | Waited 1000ms |
| 19 | [인사관리 > 사원관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 20 | [인사관리 > 급여관리] 마커 기록 | MARK | ✅ | 0ms | MARK_START / apiLogs:2 perf:92 |
| 21 | [인사관리 > 급여관리] 메뉴 이동 | - | ✅ | 2531ms | Menu navigation: 인사관리 > 급여관리 |
| 22 | [인사관리 > 급여관리] API 호출 대기 | - | ✅ | 1006ms | Waited 1000ms |
| 23 | [인사관리 > 급여관리] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:2 / 2개 API / 2OK 0err 0slow / avg 70ms / PASS |
| 24 | [인사관리 > 근태현황] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:4 perf:98 |
| 25 | [인사관리 > 근태현황] 메뉴 이동 | - | ✅ | 522ms | Menu navigation: 인사관리 > 근태현황 |
| 26 | [인사관리 > 근태현황] API 호출 대기 | - | ✅ | 1009ms | Waited 1000ms |
| 27 | [인사관리 > 근태현황] API 건강성 감사 | API_AUDIT | ✅ | 0ms | API_AUDIT / grade:PASS / api:0 / 리소스/API 호출 없음 (SPA 캐시) / PASS |
| 28 | [인사관리 > 휴가관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:4 perf:98 |
| 29 | [인사관리 > 휴가관리] 메뉴 이동 | - | ✅ | 2521ms | Menu navigation: 인사관리 > 휴가관리 |
| 30 | [인사관리 > 휴가관리] API 호출 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 31 | [인사관리 > 휴가관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:4 / 4개 API / 4OK 0err 0slow / avg 56ms / PASS |
| 32 | [인사관리 > 카드관리] 마커 기록 | MARK | ✅ | 1ms | MARK_START / apiLogs:8 perf:105 |
| 33 | [인사관리 > 카드관리] 메뉴 이동 | - | ✅ | 2513ms | Menu navigation: 인사관리 > 카드관리 |
| 34 | [인사관리 > 카드관리] API 호출 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 35 | [인사관리 > 카드관리] API 건강성 감사 | API_AUDIT | ✅ | 1ms | API_AUDIT / grade:PASS / api:3 / 3개 API / 3OK 0err 0slow / avg 246ms / PASS |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 11 | 11 | 0 | 118ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |

View File

@@ -0,0 +1,44 @@
# ✅ E2E 테스트 성공: 결재함 E2E 테스트
**테스트 ID**: approval-box | **실행**: 2026-02-20_13-23-47 | **결과**: PASS
**소요 시간**: 45.6초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 20 | 12 | 0 | 5 | 60% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 사이드바 메뉴 전체 펼치기 | - | ⚠️ | 8730ms | scrollAndFind: "sidebar" not found after 10 scrolls / Waited 300ms / eval_type:u |
| 2 | 1차 메뉴 찾기: 결재관리 (스크롤 포함) | - | ⚠️ | 1335ms | Requires native screenshot |
| 3 | 2차 메뉴 찾기: 결재함 (스크롤 포함) | - | ⚠️ | 10725ms | Requires native screenshot |
| 4 | 404 에러 감지 및 대체 경로 시도 | - | ⚠️ | 3013ms | Requires native screenshot |
| 5 | 페이지 정상 로드 확인 | - | ⚠️ | 2052ms | Element not found: pageTitle / Element not found: pageContent |
| 6 | 통계 카드 확인 | - | ✅ | 2ms | Element exists: [class*='card'], [class*='stat'] |
| 7 | 탭 구조 확인 | - | ⚠️ | 1013ms | Element not found: [role='tab'], button[role='tab'] |
| 8 | 테이블 데이터 확인 | - | ✅ | 1ms | Table: 9 cols, 15 rows |
| 9 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 4" is not valid JSON/raw:Filters |
| 10 | ⚠️ 필수 검증: 결재 문서 상세 보기 | - | ✅ | 1527ms | Element not present (ok): 미결재 탭 / Waited 500ms / Element not present (ok): 첫 번째 |
| 11 | ⚠️ 필수 검증: PDF 다운로드 전 모달 스크린샷 | - | ✅ | 1ms | Captured count: 0 |
| 12 | ⚠️ 필수 검증: PDF 다운로드 실행 및 파일 보관 | - | ⚠️ | 4042ms | Element not found: PDF 버튼 존재 / No action / Element not present (ok): PDF 버튼 / Wa |
| 13 | ⚠️ PDF 파일 유효성 검증 | - | ✅ | 0ms | No action |
| 14 | 📋 PDF 스타일 수동 확인 체크리스트 | - | ✅ | 0ms | No action |
| 15 | ⚠️ 필수 검증 #4: 결재 승인 실제 수행 | - | ⚠️ | 2352ms | Element not found: 승인 버튼 존재 / Element not present (ok): 승인 버튼 / Waited 1000ms / |
| 16 | 결재 승인 결과 확인 | - | ✅ | 507ms | Element not present (ok): 결재완료 탭 / Waited 500ms |
| 17 | ⚠️ 필수 검증 #4: 결재 반려 실제 수행 | - | ✅ | 2851ms | Element not present (ok): 미결재 탭 / Waited 500ms / Element not present (ok): 결재 문서 |
| 18 | 결재 반려 결과 확인 | - | ✅ | 513ms | Element not present (ok): 결재반려 탭 / Waited 500ms |
| 19 | 검색 기능 테스트 | - | ✅ | 5ms | Element not present (ok): 전체결재 탭 / Element not present (ok): 검색 입력창 / Element no |
| 20 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/approval/inbox |

View File

@@ -0,0 +1,45 @@
# ✅ E2E 테스트 성공: 근태현황 출퇴근 테스트
**테스트 ID**: attendance-checkin | **실행**: 2026-02-20_13-24-20 | **결과**: PASS
**소요 시간**: 32.9초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 17 | 12 | 0 | 1 | 71% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 🔐 Geolocation API 모킹 (권한 팝업 방지) | - | ✅ | 319ms | eval_type:object/isPromise:false/val:[object Object] / Waited 300ms |
| 2 | 🗺️ 브라우저 위치 권한 팝업 클릭 (좌측 상단) | - | ✅ | 2013ms | Waited 1500ms / eval_type:object/isPromise:true/val:[object Object] / Waited 500 |
| 3 | 📂 사이드바 메뉴 전체 펼치기 | - | ⚠️ | 2307ms | Requires native screenshot |
| 4 | 1차 메뉴 찾기: 인사관리 (스크롤 포함) | - | ⚠️ | 1315ms | Requires native screenshot |
| 5 | 2차 메뉴 찾기: 근태현황 (스크롤 포함) | - | ⚠️ | 14233ms | Requires native screenshot |
| 6 | 404 에러 감지 및 대체 경로 시도 | - | ⚠️ | 3002ms | Requires native screenshot |
| 7 | 페이지 정상 로드 확인 | - | ⚠️ | 2028ms | Element not found: pageTitle / Element not found: pageContent |
| 8 | 브라우저 위치 권한 설정 | - | ✅ | 0ms | No action |
| 9 | 위치 정보 로딩 대기 | - | ✅ | 0ms | No action |
| 10 | 사용자 정보 확인 | - | ✅ | 0ms | No action |
| 11 | 출근 상태 확인 | - | ✅ | 0ms | No action |
| 12 | 출근하기 (미출근 상태인 경우) | - | ✅ | 314ms | Clicked (existed): 출근하기 |
| 13 | 출근 완료 상태 확인 | - | ✅ | 1ms | No action |
| 14 | 퇴근하기 버튼 상태 확인 | - | ✅ | 0ms | No action |
| 15 | 퇴근하기 (선택적) | - | ✅ | 2ms | Element not present (ok): 퇴근하기 |
| 16 | 최종 상태 확인 | - | ✅ | 0ms | No action |
| 17 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 1 | 1 | 0 | 80ms | 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,57 @@
# ✅ E2E 테스트 성공: 연속 등록 테스트: 자유게시판
**테스트 ID**: batch-create-board | **실행**: 2026-02-20_13-27-40 | **결과**: PASS
**소요 시간**: 74.8초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 33 | 33 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 1007ms | Waited 1000ms |
| 2 | [게시판 > 자유게시판] ts 초기화 | - | ✅ | 0ms | evaluate ok |
| 3 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 4 | [게시판 > 자유게시판] [CREATE #1] 데이터 생성 | CREATE | ✅ | 7943ms | CREATE_1 |
| 5 | [게시판 > 자유게시판] [CREATE #1] 생성 후 대기 | - | ✅ | 1006ms | Waited 1000ms |
| 6 | [게시판 > 자유게시판] [CREATE #1] 목록 복귀 | CREATE | ✅ | 2020ms | evaluate ok |
| 7 | [게시판 > 자유게시판] [CREATE #1] 목록 안정화 | - | ✅ | 1000ms | Waited 1000ms |
| 8 | [게시판 > 자유게시판] [CREATE #2] 데이터 생성 | CREATE | ✅ | 7936ms | CREATE_2 |
| 9 | [게시판 > 자유게시판] [CREATE #2] 생성 후 대기 | - | ✅ | 1013ms | Waited 1000ms |
| 10 | [게시판 > 자유게시판] [CREATE #2] 목록 복귀 | CREATE | ✅ | 2014ms | evaluate ok |
| 11 | [게시판 > 자유게시판] [CREATE #2] 목록 안정화 | - | ✅ | 1003ms | Waited 1000ms |
| 12 | [게시판 > 자유게시판] [CREATE #3] 데이터 생성 | CREATE | ✅ | 7951ms | CREATE_3 |
| 13 | [게시판 > 자유게시판] [CREATE #3] 생성 후 대기 | - | ✅ | 1014ms | Waited 1000ms |
| 14 | [게시판 > 자유게시판] [CREATE #3] 목록 복귀 | CREATE | ✅ | 2018ms | evaluate ok |
| 15 | [게시판 > 자유게시판] [CREATE #3] 목록 안정화 | - | ✅ | 1000ms | Waited 1000ms |
| 16 | [게시판 > 자유게시판] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
| 17 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 10 rows |
| 18 | [게시판 > 자유게시판] [VERIFY] 3건 생성 확인 | VERIFY | ✅ | 1004ms | VERIFY_BATCH / rows:10 |
| 19 | [게시판 > 자유게시판] [DELETE #1] 데이터 삭제 | DELETE | ✅ | 6535ms | DELETE_1 |
| 20 | [게시판 > 자유게시판] [DELETE #1] 삭제 후 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 21 | [게시판 > 자유게시판] [DELETE #1] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
| 22 | [게시판 > 자유게시판] [DELETE #1] 목록 안정화 | - | ✅ | 1002ms | Waited 1000ms |
| 23 | [게시판 > 자유게시판] [DELETE #2] 데이터 삭제 | DELETE | ✅ | 6546ms | DELETE_2 |
| 24 | [게시판 > 자유게시판] [DELETE #2] 삭제 후 대기 | - | ✅ | 1013ms | Waited 1000ms |
| 25 | [게시판 > 자유게시판] [DELETE #2] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
| 26 | [게시판 > 자유게시판] [DELETE #2] 목록 안정화 | - | ✅ | 1002ms | Waited 1000ms |
| 27 | [게시판 > 자유게시판] [DELETE #3] 데이터 삭제 | DELETE | ✅ | 6534ms | DELETE_3 |
| 28 | [게시판 > 자유게시판] [DELETE #3] 삭제 후 대기 | - | ✅ | 1016ms | Waited 1000ms |
| 29 | [게시판 > 자유게시판] [DELETE #3] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
| 30 | [게시판 > 자유게시판] [DELETE #3] 목록 안정화 | - | ✅ | 1001ms | Waited 1000ms |
| 31 | [게시판 > 자유게시판] [VERIFY] 목록 새로고침 | - | ✅ | 1ms | Page reload |
| 32 | [게시판 > 자유게시판] [VERIFY] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
| 33 | [게시판 > 자유게시판] [VERIFY] 전체 삭제 확인 | VERIFY | ✅ | 1006ms | 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-02-20_13-27-58 | **결과**: PASS
**소요 시간**: 18.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 14 | 14 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 1003ms | Waited 1000ms |
| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 3 | [회계관리 > 매출관리] [CAPTURE] 첫 행 현재 매출유형 캡처 | CAPTURE | ✅ | 509ms | CAPTURE_BEFORE / rows:20 |
| 4 | [회계관리 > 매출관리] [SELECT] 첫 행 체크박스 선택 | SELECT | ✅ | 502ms | SELECT_ROW |
| 5 | [회계관리 > 매출관리] [SELECT] 계정과목 드롭다운에서 다른 값 선택 | SELECT | ✅ | 1032ms | CHANGE_ACCOUNT |
| 6 | [회계관리 > 매출관리] [SAVE] 저장 버튼 클릭 | SAVE | ✅ | 1502ms | SAVE |
| 7 | [회계관리 > 매출관리] [SAVE] 확인 다이얼로그 → 확인 클릭 | SAVE | ✅ | 2019ms | CONFIRM |
| 8 | [회계관리 > 매출관리] [VERIFY-1] 토스트 메시지 확인 | VERIFY | ✅ | 1004ms | VERIFY_TOAST / ⚠️ 성공 토스트 미감지 |
| 9 | [회계관리 > 매출관리] [VERIFY-2] ★핵심★ 첫 행 매출유형 실제 변경 확인 | VERIFY | ✅ | 1009ms | VERIFY_DATA_CHANGED / 🐛 BUG-SALES-20260115-001 재현: 토스트 성공 but 데이터 미변경 (beforeTy |
| 10 | [회계관리 > 매출관리] [RELOAD] 새로고침 | - | ✅ | 0ms | Page reload |
| 11 | [회계관리 > 매출관리] [RELOAD] 새로고침 후 대기 | - | ✅ | 1009ms | Waited 1000ms |
| 12 | [회계관리 > 매출관리] [RELOAD] 테이블 재로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 13 | [회계관리 > 매출관리] [VERIFY-3] ★핵심★ 새로고침 후에도 변경값 유지 확인 | VERIFY | ✅ | 1002ms | VERIFY_PERSIST / ⚠️ 새로고침 후 상태 확인 불가 |
| 14 | [회계관리 > 매출관리] [RESTORE] 원래 값 복원 (선택적) | RESTORE | ✅ | 1ms | 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-02-20_13-28-10 | **결과**: PASS
**소요 시간**: 11.5초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 22 | 22 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 게시판 > 게시판 관리 | - | ✅ | 515ms | Menu navigation: 게시판 > 게시판 관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/board/board-management |
| 3 | 목업 감지 | - | ✅ | 1ms | Real page: 1 inputs, 38 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 | 테이블 확인 | - | ✅ | 1ms | Table: 7 cols, 3 rows |
| 7 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'N', "No filter "... is not valid JSON/raw:No filter |
| 8 | 검색 기능 | - | ✅ | 1008ms | Searched: "테스트" |
| 9 | 검색 결과 대기 | - | ✅ | 1001ms | 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 | 검색 초기화 결과 대기 | - | ✅ | 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 | 첫 번째 행 클릭 | - | ✅ | 506ms | Clicked first row |
| 16 | 상세 페이지 로딩 대기 | - | ✅ | 1002ms | 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 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
| 22 | 목록 복귀 | - | ✅ | 315ms | Clicked (existed): button:has-text('목록'), a:has-text('목록') |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 4 | 4 | 0 | 100ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/board/board-management |

View File

@@ -0,0 +1,55 @@
# ✅ E2E 테스트 성공: 설정 - 회사정보
**테스트 ID**: company-info | **실행**: 2026-02-20_13-28-57 | **결과**: PASS
**소요 시간**: 47.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 31 | 14 | 0 | 14 | 45% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 사이드바 메뉴 전체 펼치기 | - | ⚠️ | 8659ms | scrollAndFind: "sidebar" not found after 10 scrolls / Waited 300ms / eval_type:u |
| 2 | 1차 메뉴 찾기: 설정 (스크롤 포함) | - | ⚠️ | 1318ms | Requires native screenshot |
| 3 | 2차 메뉴 찾기: 회사정보 (스크롤 포함) | - | ⚠️ | 10731ms | Requires native screenshot |
| 4 | 404 에러 감지 및 대체 경로 시도 | - | ⚠️ | 3004ms | Requires native screenshot |
| 5 | 페이지 정상 로드 확인 | - | ⚠️ | 2036ms | Element not found: pageTitle / Element not found: pageContent |
| 6 | 페이지 제목 확인 | - | ⚠️ | 1004ms | Element not found: heading |
| 7 | 회사 추가 버튼 존재 확인 | - | ⚠️ | 1033ms | Element not found: button[text='회사 추가'] |
| 8 | 수정 버튼 존재 확인 | - | ⚠️ | 1014ms | Element not found: button[text='수정'] |
| 9 | 회사명 필드 확인 | - | ⚠️ | 1017ms | Element not found: textbox[label='회사명'][disabled] |
| 10 | 대표자명 필드 확인 | - | ⚠️ | 1018ms | Element not found: textbox[label='대표자명'][disabled] |
| 11 | 업태 필드 확인 | - | ⚠️ | 1015ms | Element not found: textbox[label='업태'][disabled] |
| 12 | 업종 필드 확인 | - | ⚠️ | 1018ms | Element not found: textbox[label='업종'][disabled] |
| 13 | 주소 필드 확인 | - | ⚠️ | 1017ms | Element not found: textbox[label='주소명'][disabled] |
| 14 | 이메일 필드 확인 | - | ⚠️ | 1015ms | Element not found: textbox[label='이메일 (아이디)'][disabled] |
| 15 | 사업자등록번호 필드 확인 | - | ⚠️ | 1003ms | Element not found: textbox[label='사업자등록번호'][disabled] |
| 16 | 수정 버튼 클릭 | - | ✅ | 1ms | Element not present (ok): button[text='수정'] |
| 17 | 수정 모드 - 필드 활성화 확인 | - | ⚠️ | 1014ms | Element not found: textbox:not([disabled]) |
| 18 | 취소 버튼 클릭 | - | ✅ | 1ms | Element not present (ok): button[text='취소'] |
| 19 | 회사 추가 버튼 클릭 | - | ✅ | 0ms | Element not present (ok): button[text='회사 추가'] |
| 20 | 회사 추가 다이얼로그 확인 | - | ⚠️ | 1032ms | Element not found: dialog |
| 21 | 다이얼로그 닫기 | - | ✅ | 1ms | Element not present (ok): dialog button[text='취소'] |
| 22 | 수정 모드에서 데이터 변경 테스트 | - | ✅ | 315ms | Clicked (existed): 수정 |
| 23 | 업태 필드 수정 | - | ✅ | 417ms | Cleared: 업태 / Filled "업태" with "테스트업태_수정" |
| 24 | 저장 버튼 클릭 | - | ✅ | 316ms | Clicked (existed): 저장 |
| 25 | ⚠️ 필수 검증: 수정 데이터 반영 확인 | - | ✅ | 0ms | No action |
| 26 | 회사 추가 다이얼로그 열기 | - | ✅ | 305ms | Clicked (existed): 회사 추가 |
| 27 | 새 회사 정보 입력 | - | ✅ | 624ms | Filled "회사명" with "테스트회사_20260220_132856" / Filled "대표자명" with "테스트대표" / Filled |
| 28 | 회사 등록 | - | ✅ | 301ms | Clicked (existed): 등록 |
| 29 | ⚠️ 필수 검증: 회사 등록 반영 확인 | - | ✅ | 1ms | No action |
| 30 | 원복: 업태 필드 원래 값으로 복구 | - | ✅ | 740ms | Element not present (ok): 수정 / Cleared: 업태 / Filled "업태" with "업태명" / Clicked (e |
| 31 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 1 | 1 | 0 | 615ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/company-info |

View File

@@ -0,0 +1,36 @@
# ✅ E2E 테스트 성공: Create+Delete 테스트: 어음관리
**테스트 ID**: create-delete-acc-bills | **실행**: 2026-02-20_13-29-28 | **결과**: PASS
**소요 시간**: 30.4초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 12 | 12 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 1003ms | Waited 1000ms |
| 2 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [회계관리 > 어음관리] [CREATE] 데이터 생성 | CREATE | ✅ | 8815ms | CREATE |
| 4 | [회계관리 > 어음관리] [CREATE] 생성 후 대기 | - | ✅ | 1013ms | Waited 1000ms |
| 5 | [회계관리 > 어음관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2018ms | evaluate ok |
| 6 | [회계관리 > 어음관리] [CREATE] 목록 안정화 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 7 | [회계관리 > 어음관리] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 1002ms | VERIFY_CREATE / rows:20 |
| 8 | [회계관리 > 어음관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6519ms | DELETE |
| 9 | [회계관리 > 어음관리] [DELETE] 삭제 후 대기 | - | ✅ | 1010ms | Waited 1000ms |
| 10 | [회계관리 > 어음관리] [DELETE] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
| 11 | [회계관리 > 어음관리] [DELETE] 목록 안정화 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 12 | [회계관리 > 어음관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1017ms | VERIFY_DELETE / rows:24 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 12 | 12 | 0 | 323ms | 1 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/bills |

View File

@@ -0,0 +1,39 @@
# ✅ E2E 테스트 성공: 모듈 간 데이터 일관성 검증 (판매↔회계, 판매↔생산)
**테스트 ID**: cross-module-data-consistency | **실행**: 2026-02-20_13-30-52 | **결과**: PASS
**소요 시간**: 33.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 15 | 15 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [판매 > 거래처관리] 페이지 로드 대기 | - | ✅ | 1006ms | Waited 1000ms |
| 2 | [판매 > 거래처관리] 테이블 로드 대기 | - | ✅ | 1827ms | Table loaded: 20 rows |
| 3 | [판매 > 거래처관리] 거래처명 캡처 | CAPTURE_VENDOR | ✅ | 1506ms | CAPTURE_VENDOR / rows:20 |
| 4 | [회계 > 거래처관리] 메뉴 이동 | - | ✅ | 2514ms | Menu navigation: 회계관리 > 거래처관리 |
| 5 | [회계 > 거래처관리] 페이지 로드 대기 | - | ✅ | 1002ms | Waited 1000ms |
| 6 | [회계 > 거래처관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 7 | [회계 > 거래처관리] 거래처 존재 확인 | VERIFY_VENDOR_ACC | ✅ | 6266ms | VERIFY_VENDOR_ACC / ✅ 판매/회계 거래처 데이터 일치 확인: 015125ED / vendor:true / rows:1 |
| 8 | [판매 > 단가관리] 메뉴 이동 | - | ✅ | 519ms | Menu navigation: 판매관리 > 단가관리 |
| 9 | [판매 > 단가관리] 페이지 로드 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 10 | [판매 > 단가관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 11 | [판매 > 단가관리] 품목명 캡처 | CAPTURE_ITEM | ✅ | 1514ms | CAPTURE_ITEM / rows:20 |
| 12 | [생산 > 품목관리] 메뉴 이동 | - | ✅ | 2528ms | Menu navigation: 생산관리 > 품목관리 |
| 13 | [생산 > 품목관리] 페이지 로드 대기 | - | ✅ | 1004ms | Waited 1000ms |
| 14 | [생산 > 품목관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 15 | [생산 > 품목관리] 품목 존재 확인 | VERIFY_ITEM_PROD | ✅ | 6266ms | VERIFY_ITEM_PROD / ✅ 판매/생산 품목 데이터 일치 확인: 015125ED / item:true / rows:1 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 10 | 10 | 0 | 616ms | 1 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |

View File

@@ -0,0 +1,43 @@
# ✅ E2E 테스트 성공: 이벤트 게시판 테스트
**테스트 ID**: customer-event | **실행**: 2026-02-20_13-31-06 | **결과**: PASS
**소요 시간**: 13.9초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 19 | 14 | 0 | 5 | 74% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 고객센터 > 이벤트 게시판 | - | ✅ | 515ms | Menu navigation: 고객센터 > 이벤트 게시판 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/customer-center/events |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 39 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 3 cards found" is not valid JSON/raw:Sta |
| 5 | 이벤트 페이지 구조 확인 | - | ✅ | 1ms | Checks: 3/3 verified |
| 6 | [READ] 이벤트 목록 데이터 확인 | READ | ⚠️ | 1011ms | Detail checks: 0/1 matched |
| 7 | [FILTER] 상태별 필터 | FILTER | ✅ | 1ms | Checks: 1/1 verified |
| 8 | [READ] 이벤트 상세 보기 | READ | ✅ | 305ms | Clicked (existed): [class*='event']:first-child, table tbody tr:first-child, [cl |
| 9 | 이벤트 상세 정보 확인 | - | ⚠️ | 1015ms | Detail checks: 0/4 matched |
| 10 | 이벤트 참여 버튼 확인 | - | ✅ | 1ms | Checks: 1/1 verified |
| 11 | 공유 기능 확인 | - | ⚠️ | 1010ms | Checks: 0/1 verified |
| 12 | 목록으로 돌아가기 | - | ✅ | 314ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
| 13 | 페이지네이션 확인 | - | ⚠️ | 1005ms | Checks: 0/1 verified |
| 14 | 테이블 행 클릭 - 상세 페이지 이동 | - | ✅ | 515ms | Clicked first row |
| 15 | 상세 페이지 로딩 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 16 | 상세 페이지 - 콘텐츠 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'D', "Detail pag"... is not valid JSON/raw:Detail pag |
| 17 | 모달/상세 닫기 | - | ✅ | 1ms | No modal open |
| 18 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
| 19 | 이벤트 기간 정보 확인 | - | ⚠️ | 1014ms | 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-02-20_13-31-17 | **결과**: PASS
**소요 시간**: 11.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 16 | 12 | 0 | 4 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 고객센터 > FAQ | - | ✅ | 509ms | Menu navigation: 고객센터 > FAQ |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/customer-center/faq |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 29 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 1ms | 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 | ⚠️ | 1029ms | Detail checks: 0/1 matched |
| 7 | [READ] FAQ 항목 펼치기 | READ | ✅ | 2ms | Element not present (ok): [class*='accordion']:first-child, [class*='faq']:first |
| 8 | FAQ 답변 내용 확인 | - | ⚠️ | 1013ms | Detail checks: 0/1 matched |
| 9 | [FILTER] 카테고리 필터 | FILTER | ✅ | 2ms | Element exists: [class*='category'], [class*='tab'] |
| 10 | [FILTER] 카테고리 선택 후 결과 | FILTER | ⚠️ | 1015ms | Detail checks: 0/1 matched |
| 11 | [SEARCH] FAQ 검색 | SEARCH | ✅ | 308ms | Clicked (existed): input[type='search'], input[placeholder*='검색'] |
| 12 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1020ms | Detail checks: 0/1 matched |
| 13 | FAQ 접기/펼치기 토글 | - | ✅ | 0ms | Checks: 1/1 verified |
| 14 | 페이지네이션 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
| 15 | 콘솔 에러 확인 | - | ✅ | 1ms | 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-02-20_13-31-31 | **결과**: PASS
**소요 시간**: 13.8초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 19 | 15 | 0 | 4 | 79% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 고객센터 > 공지사항 | - | ✅ | 2526ms | Menu navigation: 고객센터 > 공지사항 |
| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/customer-center/notices |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 38 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 4 cards found" is not valid JSON/raw:Sta |
| 5 | 공지사항 목록 구조 확인 | - | ✅ | 0ms | Table: 6 cols, 1 rows |
| 6 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 1" is not valid JSON/raw:Filters |
| 7 | [READ] 공지사항 목록 데이터 확인 | READ | ⚠️ | 1016ms | Detail checks: 0/1 matched |
| 8 | [SEARCH] 공지사항 검색 | SEARCH | ✅ | 218ms | Filled "input[type='search'], input[placeholder*='검색']" with "테스트" |
| 9 | [SEARCH] 검색 결과 확인 | SEARCH | ⚠️ | 1016ms | Detail checks: 0/1 matched |
| 10 | [SEARCH] 검색 초기화 | SEARCH | ✅ | 316ms | Clicked (existed): button:has-text('초기화'), button:has-text('전체'), button[class*= |
| 11 | [READ] 공지사항 상세 보기 | READ | ✅ | 304ms | Clicked (existed): table tbody tr:first-child, [class*='list'] [class*='item']:f |
| 12 | 상세 페이지 구조 확인 | - | ✅ | 0ms | Checks: 1/4 verified |
| 13 | 첨부파일 확인 | - | ⚠️ | 1028ms | Checks: 0/1 verified |
| 14 | 이전/다음 글 네비게이션 | - | ⚠️ | 1002ms | Checks: 0/2 verified |
| 15 | 목록으로 돌아가기 | - | ✅ | 315ms | Clicked (existed): button:has-text('목록'), a:has-text('목록'), [class*='back'] |
| 16 | 페이지네이션 확인 | - | ✅ | 1ms | Checks: 2/2 verified |
| 17 | 정렬 기능 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 18 | 중요 공지 표시 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 19 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 4 | 4 | 0 | 92ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/customer-center/notices |

View File

@@ -0,0 +1,40 @@
# ✅ E2E 테스트 성공: 부서관리 테스트
**테스트 ID**: department-add | **실행**: 2026-02-20_13-31-44 | **결과**: PASS
**소요 시간**: 13.0초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 16 | 12 | 0 | 4 | 75% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 인사관리 > 부서관리 | - | ✅ | 2530ms | Menu navigation: 인사관리 > 부서관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/department-management |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 1 inputs, 78 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 2 cards found" is not valid JSON/raw:Sta |
| 5 | 부서 트리/목록 구조 확인 | - | ✅ | 1ms | Checks: 3/3 verified |
| 6 | [READ] 부서 목록 데이터 확인 | READ | ⚠️ | 1014ms | Detail checks: 0/1 matched |
| 7 | [READ] 첫 번째 부서 노드 클릭 | READ | ✅ | 4ms | Element not present (ok): table tbody tr:first-child, [class*='tree'] > *:first- |
| 8 | [READ] 부서 상세 정보 확인 | READ | ⚠️ | 1009ms | Detail checks: 0/1 matched |
| 9 | 부서 추가 버튼 확인 | - | ✅ | 312ms | Clicked (existed): button:has-text('추가'), button:has-text('등록'), button:has-text |
| 10 | 추가 폼/모달 확인 | - | ✅ | 1ms | Checks: 2/2 verified |
| 11 | 추가 모달 닫기 | - | ✅ | 0ms | No modal open |
| 12 | 부서 트리 구조 확인 | - | ✅ | 0ms | Checks: 1/1 verified |
| 13 | 삭제 버튼 존재 확인 | - | ⚠️ | 1007ms | Checks: 0/1 verified |
| 14 | 페이지네이션 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat |
| 15 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
| 16 | 부서관리 페이지 최종 확인 | - | ⚠️ | 1015ms | Detail checks: 0/1 matched |
## 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-02-20_13-32-11 | **결과**: PASS
**소요 시간**: 27.9초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 21 | 20 | 0 | 1 | 95% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 사이드바 메뉴 전체 펼치기 | - | ⚠️ | 8775ms | scrollAndFind: "sidebar" not found after 10 scrolls / Waited 300ms / eval_type:u |
| 2 | 2단계 메뉴 진입: 회계관리 > 입금관리 | - | ✅ | 11547ms | Found: 회계관리 / Clicked (existed): 회계관리 / Waited 500ms / Found: 입금관리 / Clicked (ex |
| 3 | 목록 페이지 구조 확인 | - | ✅ | 0ms | No action |
| 4 | 계정과목명 드롭다운 옵션 확인 | - | ✅ | 4ms | Element not present (ok): 계정과목명 드롭다운 |
| 5 | 체크박스 선택 후 계정과목명 일괄변경 | - | ✅ | 314ms | Element not present (ok): 첫 번째 행 체크박스 / Element not present (ok): 계정과목명 드롭다운 / E |
| 6 | ⚠️ 필수 검증: 계정과목명 변경 데이터 반영 확인 | - | ✅ | 0ms | No action |
| 7 | 입금 상세 페이지 이동 | - | ✅ | 3ms | Element not present (ok): 테이블 첫 번째 행 |
| 8 | 상세 페이지 읽기 모드 필드 확인 | - | ✅ | 0ms | No action |
| 9 | 수정 모드 전환 | - | ✅ | 0ms | No action |
| 10 | 수정 모드 필드 활성화 검증 | - | ✅ | 0ms | No action |
| 11 | 거래처 드롭다운 옵션 확인 | - | ✅ | 2ms | Element not present (ok): 거래처 드롭다운 |
| 12 | 입금 유형 드롭다운 옵션 확인 | - | ✅ | 2ms | Element not present (ok): 입금 유형 드롭다운 |
| 13 | 수정 데이터 입력 | - | ✅ | 9ms | Element not present (ok): 거래처 드롭다운 / Element not present (ok): 거래처테스트 / Element |
| 14 | 저장 및 결과 확인 | - | ✅ | 0ms | No action |
| 15 | ⚠️ 필수 검증: 수정 데이터 반영 확인 | - | ✅ | 0ms | No action |
| 16 | 취소 버튼 동작 확인 | - | ✅ | 631ms | Clicked (existed): 수정 / Clicked (existed): 취소 |
| 17 | 목록 버튼 동작 확인 | - | ✅ | 0ms | No action |
| 18 | 필터 드롭다운 검증 | - | ✅ | 1ms | No action |
| 19 | 날짜 필터 검증 | - | ✅ | 1ms | Element not present (ok): 당해년도 |
| 20 | 페이지네이션 동작 확인 | - | ✅ | 301ms | Clicked (existed): 다음 |
| 21 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 4 | 4 | 0 | 87ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/deposits |

View File

@@ -0,0 +1,47 @@
# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 회계
**테스트 ID**: detail-roundtrip-acc | **실행**: 2026-02-20_13-32-38 | **결과**: PASS
**소요 시간**: 26.9초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 23 | 23 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 1010ms | Waited 1000ms |
| 2 | [회계관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [회계관리 > 거래처관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
| 4 | [회계관리 > 거래처관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 517ms | CLICK_ROW / urlChg:true |
| 5 | [회계관리 > 거래처관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1517ms | VERIFY_DETAIL / idInUrl:true / match:true |
| 6 | [회계관리 > 거래처관리] 목록으로 복귀 | GO_BACK | ✅ | 2016ms | GO_BACK |
| 7 | [회계관리 > 거래처관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1516ms | LIST_INTACT / intact:true |
| 8 | [회계관리 > 어음관리] 메뉴 이동 | - | ✅ | 517ms | Menu navigation: 회계관리 > 어음관리 |
| 9 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 10 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 11 | [회계관리 > 어음관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
| 12 | [회계관리 > 어음관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 514ms | CLICK_ROW / urlChg:true |
| 13 | [회계관리 > 어음관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1503ms | VERIFY_DETAIL / idInUrl:true / match:true |
| 14 | [회계관리 > 어음관리] 목록으로 복귀 | GO_BACK | ✅ | 2005ms | GO_BACK |
| 15 | [회계관리 > 어음관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1512ms | LIST_INTACT / intact:true |
| 16 | [회계관리 > 입금관리] 메뉴 이동 | - | ✅ | 516ms | Menu navigation: 회계관리 > 입금관리 |
| 17 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 1011ms | Waited 1000ms |
| 18 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 19 | [회계관리 > 입금관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
| 20 | [회계관리 > 입금관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 503ms | CLICK_ROW / urlChg:true |
| 21 | [회계관리 > 입금관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1514ms | VERIFY_DETAIL / idInUrl:true / match:true |
| 22 | [회계관리 > 입금관리] 목록으로 복귀 | GO_BACK | ✅ | 2011ms | GO_BACK |
| 23 | [회계관리 > 입금관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1507ms | LIST_INTACT / intact:true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 12 | 12 | 0 | 82ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/vendors |

View File

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

View File

@@ -0,0 +1,47 @@
# ✅ E2E 테스트 성공: 상세 조회 왕복 검증: 판매
**테스트 ID**: detail-roundtrip-sales | **실행**: 2026-02-20_13-33-27 | **결과**: PASS
**소요 시간**: 26.9초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 23 | 23 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [판매관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 1004ms | Waited 1000ms |
| 2 | [판매관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [판매관리 > 거래처관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
| 4 | [판매관리 > 거래처관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 514ms | CLICK_ROW / urlChg:true |
| 5 | [판매관리 > 거래처관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1501ms | VERIFY_DETAIL / idInUrl:true / match:true |
| 6 | [판매관리 > 거래처관리] 목록으로 복귀 | GO_BACK | ✅ | 2012ms | GO_BACK |
| 7 | [판매관리 > 거래처관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1505ms | LIST_INTACT / intact:true |
| 8 | [판매관리 > 수주관리] 메뉴 이동 | - | ✅ | 520ms | Menu navigation: 판매관리 > 수주관리 |
| 9 | [판매관리 > 수주관리] 페이지 로드 대기 | - | ✅ | 1011ms | Waited 1000ms |
| 10 | [판매관리 > 수주관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 11 | [판매관리 > 수주관리] 테이블 상태 캡처 | CAPTURE | ✅ | 4ms | CAPTURE / rows:20 |
| 12 | [판매관리 > 수주관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 515ms | CLICK_ROW / urlChg:true |
| 13 | [판매관리 > 수주관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1517ms | VERIFY_DETAIL / idInUrl:true / match:true |
| 14 | [판매관리 > 수주관리] 목록으로 복귀 | GO_BACK | ✅ | 2014ms | GO_BACK |
| 15 | [판매관리 > 수주관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1502ms | LIST_INTACT / intact:true |
| 16 | [판매관리 > 견적관리] 메뉴 이동 | - | ✅ | 518ms | Menu navigation: 판매관리 > 견적관리 |
| 17 | [판매관리 > 견적관리] 페이지 로드 대기 | - | ✅ | 1012ms | Waited 1000ms |
| 18 | [판매관리 > 견적관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 19 | [판매관리 > 견적관리] 테이블 상태 캡처 | CAPTURE | ✅ | 1ms | CAPTURE / rows:20 |
| 20 | [판매관리 > 견적관리] 첫 행 클릭 → 상세 이동 | CLICK_ROW | ✅ | 503ms | CLICK_ROW / urlChg:true |
| 21 | [판매관리 > 견적관리] 상세 페이지 데이터 검증 | VERIFY_DETAIL | ✅ | 1511ms | VERIFY_DETAIL / idInUrl:true / match:true |
| 22 | [판매관리 > 견적관리] 목록으로 복귀 | GO_BACK | ✅ | 2004ms | GO_BACK |
| 23 | [판매관리 > 견적관리] 목록 무결성 확인 | LIST_INTACT | ✅ | 1502ms | LIST_INTACT / intact:true |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 21 | 21 | 0 | 72ms | 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-02-20_13-33-44 | **결과**: PASS
**소요 시간**: 17.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 12 | 12 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 1007ms | Waited 1000ms |
| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [회계관리 > 매출관리] [CAPTURE] 첫 행 모든 셀 값 캡처 | CAPTURE | ✅ | 505ms | CAPTURE / rows:20 |
| 4 | [회계관리 > 매출관리] [READ] 첫 행 클릭 → 상세 진입 | READ | ✅ | 2511ms | READ |
| 5 | [회계관리 > 매출관리] [READ] 상세 페이지 로드 대기 | - | ✅ | 1016ms | Waited 1000ms |
| 6 | [회계관리 > 매출관리] [VERIFY] 상세 페이지 필드 1:1 대조 | VERIFY | ✅ | 2ms | DETAIL_VERIFY |
| 7 | [회계관리 > 매출관리] [VERIFY] 세금계산서/거래명세서 Switch 상태 확인 | VERIFY | ✅ | 2ms | SWITCH_VERIFY |
| 8 | [회계관리 > 매출관리] [VERIFY] 수정 모드 진입 가능 확인 | VERIFY | ✅ | 2004ms | EDIT_ACCESS |
| 9 | [회계관리 > 매출관리] [CANCEL] 취소 클릭 | CANCEL | ✅ | 2004ms | CANCEL |
| 10 | [회계관리 > 매출관리] [CANCEL] 목록 복귀 대기 | - | ✅ | 1005ms | Waited 1000ms |
| 11 | [회계관리 > 매출관리] [VERIFY] 목록 복귀 후 테이블 확인 | VERIFY | ✅ | 501ms | BACK_VERIFY / rows:2 |
| 12 | [회계관리 > 매출관리] [VERIFY] 취소 후 데이터 무변경 확인 | VERIFY | ✅ | 501ms | NO_CHANGE_VERIFY |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 9 | 9 | 0 | 79ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/sales |

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,38 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 경계값 입력 (판매 > 거래처관리)
**테스트 ID**: edge-boundary-input-sales | **실행**: 2026-02-20_13-35-15 | **결과**: PASS
**소요 시간**: 20.4초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 14 | 14 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1009ms | Waited 1000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2504ms | OPEN_FORM |
| 4 | 폼 렌더링 대기 | - | ✅ | 1004ms | Waited 1000ms |
| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1014ms | FIND_INPUTS |
| 6 | 경계값: 최대 길이 입력 | - | ✅ | 316ms | Boundary fill [empty]: "" |
| 7 | 최대 길이 결과 확인 | MAX_LENGTH_CHECK | ✅ | 1014ms | MAX_LENGTH_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
| 8 | 경계값: 오버플로우 입력 | - | ✅ | 305ms | Boundary fill [empty]: "" |
| 9 | 오버플로우 결과 확인 | OVERFLOW_CHECK | ✅ | 1012ms | OVERFLOW_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
| 10 | 경계값: 특수문자(XSS) 입력 | - | ✅ | 313ms | Boundary fill [empty]: "" |
| 11 | 특수문자 결과 확인 | SPECIAL_CHARS_CHECK | ✅ | 1007ms | SPECIAL_CHARS_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
| 12 | 경계값: 공백만 입력 | - | ✅ | 315ms | Boundary fill [empty]: "" |
| 13 | 경계값 상태로 저장 시도 | BOUNDARY_SUBMIT_CHECK | ✅ | 2516ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
| 14 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2003ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 2 | 2 | 0 | 88ms | 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-02-20_13-35-27 | **결과**: PASS
**소요 시간**: 11.9초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 5 | 5 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1010ms | Waited 1000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 탭/필터 빠른 전환 테스트 | RAPID_TAB_SWITCH | ✅ | 2651ms | RAPID_TAB_SWITCH / ✅ 빠른 전환 후 정상 상태 |
| 4 | 페이지네이션 빠른 클릭 | RAPID_PAGINATION | ✅ | 1ms | RAPID_PAGINATION / W:페이지네이션 버튼 부족 |
| 5 | 다중 버튼 동시 클릭 시뮬레이션 | MULTI_BUTTON_CLICK | ✅ | 2133ms | 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-02-20_13-35-43 | **결과**: PASS
**소요 시간**: 16.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 7 | 7 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2513ms | OPEN_FORM |
| 4 | 폼 렌더링 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2517ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
| 6 | 결과 확인 대기 | - | ✅ | 1005ms | Waited 1000ms |
| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2012ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 5 | 5 | 0 | 106ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/deposits |

View File

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

View File

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

View File

@@ -0,0 +1,31 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 빈 폼 제출 (판매 > 거래처관리)
**테스트 ID**: edge-empty-submit-sales | **실행**: 2026-02-20_13-36-32 | **결과**: PASS
**소요 시간**: 16.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 7 | 7 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1005ms | Waited 1000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2520ms | OPEN_FORM |
| 4 | 폼 렌더링 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 5 | 빈 상태로 저장 클릭 | EMPTY_SUBMIT_CHECK | ✅ | 2519ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
| 6 | 결과 확인 대기 | - | ✅ | 1013ms | Waited 1000ms |
| 7 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2018ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 2 | 2 | 0 | 137ms | 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-02-20_13-36-53 | **결과**: PASS
**소요 시간**: 20.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 13 | 13 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1013ms | Waited 1000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2516ms | OPEN_FORM |
| 4 | 폼 렌더링 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 5 | 입력 필드 탐색 | FIND_INPUTS | ✅ | 1001ms | FIND_INPUTS |
| 6 | 숫자 필드 탐색 및 0 입력 | NUMERIC_ZERO | ✅ | 515ms | NUMERIC_ZERO |
| 7 | 0 입력 결과 확인 | NUMERIC_ZERO_CHECK | ✅ | 1004ms | NUMERIC_ZERO_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
| 8 | 숫자 필드에 음수 입력 | NUMERIC_NEGATIVE | ✅ | 513ms | NUMERIC_NEGATIVE |
| 9 | 음수 입력 결과 확인 | NUMERIC_NEGATIVE_CHECK | ✅ | 1002ms | NUMERIC_NEGATIVE_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
| 10 | 숫자 필드에 최대값 입력 | NUMERIC_MAX | ✅ | 516ms | NUMERIC_MAX |
| 11 | 최대값 입력 결과 확인 | NUMERIC_MAX_CHECK | ✅ | 1015ms | NUMERIC_MAX_CHECK / ✅ 경계값 입력 시 에러/경고 감지 |
| 12 | 경계값 상태로 저장 시도 | NUMERIC_SUBMIT_CHECK | ✅ | 2519ms | EMPTY_SUBMIT_CHECK / ✅ 유효성 검사 정상 동작 |
| 13 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2016ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 5 | 5 | 0 | 116ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/deposits |

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,31 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 저장 버튼 연타 (판매 > 거래처관리)
**테스트 ID**: edge-rapid-click-save-sales | **실행**: 2026-02-20_13-38-02 | **결과**: PASS
**소요 시간**: 17.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 7 | 7 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1002ms | Waited 1000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 3 | 등록 폼 열기 | OPEN_FORM | ✅ | 2514ms | OPEN_FORM |
| 4 | 폼 렌더링 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 6 | 저장 버튼 연타 (5회, 50ms 간격) | RAPID_CLICK_SAVE | ✅ | 2291ms | RAPID_CLICK_SAVE |
| 7 | 연타 후 상태 확인 | RAPID_CLICK_RESULT | ✅ | 2010ms | RAPID_CLICK_RESULT / ✅ 연타 클릭 후 정상 상태 |
| 8 | 폼/모달 닫기 | CLOSE_FORM | ✅ | 2013ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 2 | 2 | 0 | 38ms | 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-02-20_13-38-32 | **결과**: PASS
**소요 시간**: 30.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 14 | 14 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1015ms | Waited 1000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
| 3 | 특수문자 검색: <script> | SEARCH_XSS | ✅ | 2229ms | FILL_SEARCH |
| 4 | 특수문자 검색 결과 확인 | SEARCH_XSS_CHECK | ✅ | 2004ms | SEARCH_XSS_CHECK / ✅ 특수문자 검색 시 에러 없음 (정상) / rows:1 |
| 5 | 검색 초기화 | - | ✅ | 1515ms | CLEAR_SEARCH |
| 6 | SQL 인젝션 검색 | SEARCH_SQL | ✅ | 2217ms | FILL_SEARCH |
| 7 | SQL 인젝션 검색 결과 확인 | SEARCH_SQL_CHECK | ✅ | 2019ms | SEARCH_SQL_CHECK / ✅ 특수문자 검색 시 에러 없음 (정상) / rows:1 |
| 8 | 검색 초기화 | - | ✅ | 1516ms | CLEAR_SEARCH |
| 9 | 유니코드/이모지 검색 | SEARCH_UNICODE | ✅ | 2230ms | FILL_SEARCH |
| 10 | 유니코드 검색 결과 확인 | SEARCH_UNICODE_CHECK | ✅ | 2004ms | SEARCH_UNICODE_CHECK / ✅ 특수문자 검색 시 에러 없음 (정상) / rows:1 |
| 11 | 검색 초기화 | - | ✅ | 1515ms | CLEAR_SEARCH |
| 12 | 초장문 검색 | SEARCH_LONG | ✅ | 2232ms | FILL_SEARCH |
| 13 | 초장문 검색 결과 확인 | SEARCH_LONG_CHECK | ✅ | 2003ms | SEARCH_LONG_CHECK / ✅ 특수문자 검색 시 에러 없음 (정상) / rows:1 |
| 14 | 검색 초기화 | - | ✅ | 1515ms | CLEAR_SEARCH |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/boards/free |

View File

@@ -0,0 +1,46 @@
# ✅ E2E 테스트 성공: 엣지 케이스: 특수문자 검색 (판매 > 거래처관리)
**테스트 ID**: edge-special-chars-search | **실행**: 2026-02-20_13-39-03 | **결과**: PASS
**소요 시간**: 30.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 14 | 14 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 페이지 로드 대기 | - | ✅ | 1005ms | Waited 1000ms |
| 2 | 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 3 | 특수문자 검색: <script> | SEARCH_XSS | ✅ | 2231ms | FILL_SEARCH |
| 4 | 특수문자 검색 결과 확인 | SEARCH_XSS_CHECK | ✅ | 2004ms | SEARCH_XSS_CHECK / ✅ 특수문자 검색 시 에러 없음 (정상) / rows:1 |
| 5 | 검색 초기화 | - | ✅ | 1510ms | CLEAR_SEARCH |
| 6 | SQL 인젝션 검색 | SEARCH_SQL | ✅ | 2217ms | FILL_SEARCH |
| 7 | SQL 인젝션 검색 결과 확인 | SEARCH_SQL_CHECK | ✅ | 2005ms | SEARCH_SQL_CHECK / ✅ 특수문자 검색 시 에러 없음 (정상) / rows:1 |
| 8 | 검색 초기화 | - | ✅ | 1515ms | CLEAR_SEARCH |
| 9 | 유니코드/이모지 검색 | SEARCH_UNICODE | ✅ | 2233ms | FILL_SEARCH |
| 10 | 유니코드 검색 결과 확인 | SEARCH_UNICODE_CHECK | ✅ | 2003ms | SEARCH_UNICODE_CHECK / ✅ 특수문자 검색 시 에러 없음 (정상) / rows:1 |
| 11 | 검색 초기화 | - | ✅ | 1515ms | CLEAR_SEARCH |
| 12 | 초장문 검색 | SEARCH_LONG | ✅ | 2233ms | FILL_SEARCH |
| 13 | 초장문 검색 결과 확인 | SEARCH_LONG_CHECK | ✅ | 2017ms | SEARCH_LONG_CHECK / ✅ 특수문자 검색 시 에러 없음 (정상) / rows:1 |
| 14 | 검색 초기화 | - | ✅ | 1514ms | CLEAR_SEARCH |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 0 | 0 | 0 | 0ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |
### 콘솔 에러 (Health Check)
1. `[Menu] 메뉴 갱신 실패: TypeError: Failed to fetch
at window.fetch (eval at evaluate (:290:30), <anonymous>:45:40)
at l (https://dev.codebridge-x.com/_next/static/chunks/app/%5Blocale%5D/(protected)/`
2. `[Notification] 알림 조회 실패: TypeError: Failed to fetch
at window.fetch (eval at evaluate (:290:30), <anonymous>:45:40)
at M (https://dev.codebridge-x.com/_next/static/chunks/1255-3f38644fe3778fb2`

View File

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

View File

@@ -0,0 +1,45 @@
# ✅ E2E 테스트 성공: 직원 등록 테스트
**테스트 ID**: employee-register | **실행**: 2026-02-20_13-39-30 | **결과**: PASS
**소요 시간**: 9.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 21 | 21 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 사이드바 메뉴 전체 펼치기 | - | ✅ | 2312ms | eval_type:undefined/isPromise:false/val:undefined / Waited 300ms / eval_type:und |
| 2 | 인사관리 메뉴 진입 | - | ✅ | 0ms | No action |
| 3 | 사원 등록 페이지 이동 | - | ✅ | 0ms | No action |
| 4 | 사원 정보 입력 | - | ✅ | 0ms | No action |
| 5 | 급여계좌 정보 입력 | - | ✅ | 1ms | No action |
| 6 | 사원 상세 정보 입력 | - | ✅ | 0ms | No action |
| 7 | 인사 정보 입력 | - | ✅ | 317ms | Element not present (ok): 고용형태 선택 / Element not present (ok): 정규직 / Element not |
| 8 | 사용자 정보 입력 | - | ✅ | 0ms | No action |
| 9 | 등록 완료 | - | ✅ | 0ms | No action |
| 10 | 검색 기간 설정 - 유효 기간 | - | ✅ | 12ms | Element not present (ok): input[placeholder*='시작'], input[name*='startDate'], in |
| 11 | 검색 기간 설정 - 범위 외 기간 | - | ✅ | 7ms | Element not present (ok): input[placeholder*='시작'], input[name*='startDate'], in |
| 12 | 검색 기간 초기화 및 전체 조회 | - | ✅ | 614ms | Clicked (existed): 초기화 / Clicked (existed): 검색 |
| 13 | 등록된 직원 상세 페이지 이동 | - | ✅ | 310ms | Clicked (existed): table tbody tr:has-text('E2E_TEST_사원') |
| 14 | 직원 수정 모드 전환 | - | ✅ | 0ms | No action |
| 15 | 직원 정보 수정 | - | ✅ | 0ms | No action |
| 16 | 수정 저장 | - | ✅ | 0ms | No action |
| 17 | ⚠️ 필수 검증: 수정 데이터 반영 확인 | - | ✅ | 0ms | No action |
| 18 | 직원 삭제 | - | ✅ | 0ms | No action |
| 19 | 삭제 확인 | - | ✅ | 0ms | No action |
| 20 | ⚠️ 필수 검증: 삭제 데이터 반영 확인 | - | ✅ | 0ms | No action |
| 21 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 4 | 4 | 0 | 55ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/employee-management |

View File

@@ -0,0 +1,44 @@
# ✅ E2E 테스트 성공: 폼 유효성 검증 감사: 회계 (어음/입금/출금)
**테스트 ID**: form-validation-acc | **실행**: 2026-02-20_13-40-04 | **결과**: PASS
**소요 시간**: 34.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 20 | 20 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 1006ms | Waited 1000ms |
| 2 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [회계관리 > 어음관리] 등록 폼 열기 | - | ✅ | 2513ms | OPEN_FORM |
| 4 | [회계관리 > 어음관리] 폼 렌더링 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 5 | [회계관리 > 어음관리] 빈 폼 제출 유효성 감사 | VALIDATE | ✅ | 2022ms | VALIDATION_AUDIT / urlChg:false |
| 6 | [회계관리 > 어음관리] 폼 닫기 | - | ✅ | 2017ms | CLOSE_FORM |
| 7 | [회계관리 > 입금관리] 메뉴 이동 | - | ✅ | 514ms | Menu navigation: 회계관리 > 입금관리 |
| 8 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 9 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 10 | [회계관리 > 입금관리] 등록 폼 열기 | - | ✅ | 2513ms | OPEN_FORM |
| 11 | [회계관리 > 입금관리] 폼 렌더링 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 12 | [회계관리 > 입금관리] 빈 폼 제출 유효성 감사 | VALIDATE | ✅ | 2020ms | VALIDATION_AUDIT / urlChg:false |
| 13 | [회계관리 > 입금관리] 폼 닫기 | - | ✅ | 2014ms | CLOSE_FORM |
| 14 | [회계관리 > 출금관리] 메뉴 이동 | - | ✅ | 2018ms | Menu navigation: 회계관리 > 출금관리 |
| 15 | [회계관리 > 출금관리] 페이지 로드 대기 | - | ✅ | 1011ms | Waited 1000ms |
| 16 | [회계관리 > 출금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 17 | [회계관리 > 출금관리] 등록 폼 열기 | - | ✅ | 2520ms | OPEN_FORM |
| 18 | [회계관리 > 출금관리] 폼 렌더링 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 19 | [회계관리 > 출금관리] 빈 폼 제출 유효성 감사 | VALIDATE | ✅ | 2015ms | VALIDATION_AUDIT / urlChg:false |
| 20 | [회계관리 > 출금관리] 폼 닫기 | - | ✅ | 2006ms | CLOSE_FORM |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 14 | 14 | 0 | 70ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/bills |

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,44 @@
# ✅ E2E 테스트 성공: Full CRUD 테스트: 어음관리
**테스트 ID**: full-crud-acc-bills | **실행**: 2026-02-20_13-41-51 | **결과**: PASS
**소요 시간**: 39.3초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 20 | 20 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 1010ms | Waited 1000ms |
| 2 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 3 | [회계관리 > 어음관리] [CREATE] 데이터 생성 | CREATE | ✅ | 7197ms | CREATE |
| 4 | [회계관리 > 어음관리] [CREATE] 생성 후 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 5 | [회계관리 > 어음관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2011ms | evaluate ok |
| 6 | [회계관리 > 어음관리] [CREATE] 목록 안정화 대기 | - | ✅ | 1004ms | Waited 1000ms |
| 7 | [회계관리 > 어음관리] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 503ms | VERIFY_CREATE / rows:20 |
| 8 | [회계관리 > 어음관리] [READ] 상세 페이지 진입 | READ | ✅ | 2512ms | READ |
| 9 | [회계관리 > 어음관리] [READ] 상세 페이지 대기 | - | ✅ | 1002ms | Waited 1000ms |
| 10 | [회계관리 > 어음관리] [READ] 상세 데이터 검증 | READ | ✅ | 1ms | READ_VERIFY |
| 11 | [회계관리 > 어음관리] [UPDATE] 수정 및 저장 | UPDATE | ✅ | 5253ms | UPDATE |
| 12 | [회계관리 > 어음관리] [UPDATE] 저장 후 대기 | - | ✅ | 1009ms | Waited 1000ms |
| 13 | [회계관리 > 어음관리] [UPDATE] 수정 내용 검증 | UPDATE | ✅ | 3ms | VERIFY_UPDATE |
| 14 | [회계관리 > 어음관리] [UPDATE] 목록 복귀 | UPDATE | ✅ | 0ms | evaluate ok |
| 15 | [회계관리 > 어음관리] [UPDATE] 목록 안정화 대기 | - | ✅ | 1009ms | Waited 1000ms |
| 16 | [회계관리 > 어음관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6526ms | DELETE |
| 17 | [회계관리 > 어음관리] [DELETE] 삭제 후 대기 | - | ✅ | 1005ms | Waited 1000ms |
| 18 | [회계관리 > 어음관리] [DELETE] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
| 19 | [회계관리 > 어음관리] [DELETE] 목록 안정화 대기 | - | ✅ | 1010ms | Waited 1000ms |
| 20 | [회계관리 > 어음관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1020ms | VERIFY_DELETE / rows:24 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 22 | 22 | 0 | 75ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/bills |

View File

@@ -0,0 +1,44 @@
# ✅ E2E 테스트 성공: Full CRUD 테스트: 입금관리
**테스트 ID**: full-crud-acc-deposit | **실행**: 2026-02-20_13-42-29 | **결과**: PASS
**소요 시간**: 38.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 20 | 20 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 1007ms | Waited 1000ms |
| 2 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 3 | [회계관리 > 입금관리] [CREATE] 데이터 생성 | CREATE | ✅ | 6177ms | CREATE |
| 4 | [회계관리 > 입금관리] [CREATE] 생성 후 대기 | - | ✅ | 1003ms | Waited 1000ms |
| 5 | [회계관리 > 입금관리] [CREATE] 목록 복귀 | CREATE | ✅ | 2005ms | evaluate ok |
| 6 | [회계관리 > 입금관리] [CREATE] 목록 안정화 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 7 | [회계관리 > 입금관리] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 514ms | VERIFY_CREATE / rows:20 |
| 8 | [회계관리 > 입금관리] [READ] 상세 페이지 진입 | READ | ✅ | 2514ms | READ |
| 9 | [회계관리 > 입금관리] [READ] 상세 페이지 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 10 | [회계관리 > 입금관리] [READ] 상세 데이터 검증 | READ | ✅ | 1ms | READ_VERIFY |
| 11 | [회계관리 > 입금관리] [UPDATE] 수정 및 저장 | UPDATE | ✅ | 5238ms | UPDATE |
| 12 | [회계관리 > 입금관리] [UPDATE] 저장 후 대기 | - | ✅ | 1014ms | Waited 1000ms |
| 13 | [회계관리 > 입금관리] [UPDATE] 수정 내용 검증 | UPDATE | ✅ | 4ms | VERIFY_UPDATE |
| 14 | [회계관리 > 입금관리] [UPDATE] 목록 복귀 | UPDATE | ✅ | 0ms | evaluate ok |
| 15 | [회계관리 > 입금관리] [UPDATE] 목록 안정화 대기 | - | ✅ | 1011ms | Waited 1000ms |
| 16 | [회계관리 > 입금관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6536ms | DELETE |
| 17 | [회계관리 > 입금관리] [DELETE] 삭제 후 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 18 | [회계관리 > 입금관리] [DELETE] 목록 복귀 | DELETE | ✅ | 0ms | evaluate ok |
| 19 | [회계관리 > 입금관리] [DELETE] 목록 안정화 대기 | - | ✅ | 1010ms | Waited 1000ms |
| 20 | [회계관리 > 입금관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1007ms | VERIFY_DELETE / rows:24 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 27 | 27 | 0 | 90ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/deposits |

View File

@@ -0,0 +1,44 @@
# ✅ E2E 테스트 성공: Full CRUD 테스트: 매출관리
**테스트 ID**: full-crud-acc-sales | **실행**: 2026-02-20_13-43-10 | **결과**: PASS
**소요 시간**: 40.6초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 20 | 20 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 매출관리] 페이지 로드 대기 | - | ✅ | 1010ms | Waited 1000ms |
| 2 | [회계관리 > 매출관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [회계관리 > 매출관리] [CREATE] 매출 등록 버튼 클릭 | CREATE | ✅ | 2516ms | CREATE_OPEN |
| 4 | [회계관리 > 매출관리] [CREATE] 등록 폼 로드 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 5 | [회계관리 > 매출관리] [CREATE] 거래처 선택 + 매출유형 + 품목 입력 + 등록 | CREATE | ✅ | 6641ms | CREATE |
| 6 | [회계관리 > 매출관리] [CREATE] 생성 후 대기 | - | ✅ | 1009ms | Waited 1000ms |
| 7 | [회계관리 > 매출관리] [CREATE] 목록 복귀 | CREATE | ✅ | 0ms | evaluate ok |
| 8 | [회계관리 > 매출관리] [CREATE] 목록 안정화 대기 | - | ✅ | 1002ms | Waited 1000ms |
| 9 | [회계관리 > 매출관리] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 503ms | VERIFY_CREATE / rows:20 |
| 10 | [회계관리 > 매출관리] [READ] 상세 페이지 진입 | READ | ✅ | 2514ms | READ |
| 11 | [회계관리 > 매출관리] [READ] 상세 페이지 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 12 | [회계관리 > 매출관리] [READ] 상세 데이터 검증 (품목/수량/단가/공급가액) | READ | ✅ | 2ms | READ_VERIFY |
| 13 | [회계관리 > 매출관리] [UPDATE] 수정 모드 진입 + 수량 변경 + 저장 | UPDATE | ✅ | 5751ms | UPDATE |
| 14 | [회계관리 > 매출관리] [UPDATE] 저장 후 대기 | - | ✅ | 1013ms | Waited 1000ms |
| 15 | [회계관리 > 매출관리] [UPDATE] 수정 내용 검증 (공급가액 1,000,000 재계산) | UPDATE | ✅ | 4ms | VERIFY_UPDATE |
| 16 | [회계관리 > 매출관리] [UPDATE] 목록 복귀 | UPDATE | ✅ | 0ms | evaluate ok |
| 17 | [회계관리 > 매출관리] [UPDATE] 목록 안정화 대기 | - | ✅ | 1011ms | Waited 1000ms |
| 18 | [회계관리 > 매출관리] [DELETE] 데이터 삭제 | DELETE | ✅ | 6537ms | DELETE |
| 19 | [회계관리 > 매출관리] [DELETE] 목록 복귀 + 대기 | DELETE | ✅ | 2014ms | evaluate ok |
| 20 | [회계관리 > 매출관리] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1003ms | VERIFY_DELETE / rows:24 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 27 | 27 | 0 | 68ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/sales |

View File

@@ -0,0 +1,44 @@
# ✅ E2E 테스트 성공: Full CRUD 테스트: 자유게시판
**테스트 ID**: full-crud-board | **실행**: 2026-02-20_13-43-50 | **결과**: PASS
**소요 시간**: 40.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 20 | 20 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [게시판 > 자유게시판] 페이지 로드 대기 | - | ✅ | 1002ms | Waited 1000ms |
| 2 | [게시판 > 자유게시판] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
| 3 | [게시판 > 자유게시판] [CREATE] 데이터 생성 | CREATE | ✅ | 5964ms | CREATE |
| 4 | [게시판 > 자유게시판] [CREATE] 생성 후 대기 | - | ✅ | 1002ms | Waited 1000ms |
| 5 | [게시판 > 자유게시판] [CREATE] 목록 복귀 | CREATE | ✅ | 2014ms | evaluate ok |
| 6 | [게시판 > 자유게시판] [CREATE] 목록 안정화 대기 | - | ✅ | 1002ms | Waited 1000ms |
| 7 | [게시판 > 자유게시판] [VERIFY] 생성 데이터 확인 | VERIFY | ✅ | 517ms | VERIFY_CREATE / rows:10 |
| 8 | [게시판 > 자유게시판] [READ] 상세 페이지 진입 | READ | ✅ | 2516ms | READ |
| 9 | [게시판 > 자유게시판] [READ] 상세 페이지 대기 | - | ✅ | 1013ms | Waited 1000ms |
| 10 | [게시판 > 자유게시판] [READ] 상세 데이터 검증 | READ | ✅ | 0ms | READ_VERIFY |
| 11 | [게시판 > 자유게시판] [UPDATE] 수정 및 저장 | UPDATE | ✅ | 5242ms | UPDATE |
| 12 | [게시판 > 자유게시판] [UPDATE] 저장 후 대기 | - | ✅ | 1006ms | Waited 1000ms |
| 13 | [게시판 > 자유게시판] [UPDATE] 수정 내용 검증 | UPDATE | ✅ | 1ms | VERIFY_UPDATE |
| 14 | [게시판 > 자유게시판] [UPDATE] 목록 복귀 | UPDATE | ✅ | 2003ms | evaluate ok |
| 15 | [게시판 > 자유게시판] [UPDATE] 목록 안정화 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 16 | [게시판 > 자유게시판] [DELETE] 데이터 삭제 | DELETE | ✅ | 6532ms | DELETE |
| 17 | [게시판 > 자유게시판] [DELETE] 삭제 후 대기 | - | ✅ | 1016ms | Waited 1000ms |
| 18 | [게시판 > 자유게시판] [DELETE] 목록 복귀 | DELETE | ✅ | 1ms | evaluate ok |
| 19 | [게시판 > 자유게시판] [DELETE] 목록 안정화 대기 | - | ✅ | 1003ms | Waited 1000ms |
| 20 | [게시판 > 자유게시판] [VERIFY] 삭제 확인 | VERIFY | ✅ | 1015ms | VERIFY_DELETE / rows:10 |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 41 | 41 | 0 | 65ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/boards/free |

View File

@@ -0,0 +1,38 @@
# ✅ E2E 테스트 성공: 근태관리 테스트
**테스트 ID**: hr-attendance-admin | **실행**: 2026-02-20_13-44-00 | **결과**: PASS
**소요 시간**: 10.4초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 14 | 14 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 인사관리 > 근태관리 | - | ✅ | 2521ms | Menu navigation: 인사관리 > 근태관리 |
| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/hr/attendance-management |
| 3 | 목업 감지 | - | ✅ | 1ms | Real page: 1 inputs, 82 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 3ms | 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 | 필터/검색 시도 | - | ✅ | 310ms | Clicked (existed): input[type='search'], input[type='date'], input[placeholder*= |
| 8 | 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 9 | 행 클릭 시도 | - | ✅ | 315ms | Clicked (existed): table tbody tr, [role='row']:not(:first-child), [class*='list |
| 10 | 상세 확인 | - | ✅ | 1ms | Detail checks: 1/1 |
| 11 | 모달 닫기 | - | ✅ | 2ms | No modal open |
| 12 | 페이지네이션 확인 | - | ✅ | 3ms | 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,47 @@
# ✅ E2E 테스트 성공: 근태현황 테스트
**테스트 ID**: hr-attendance-status | **실행**: 2026-02-20_13-44-12 | **결과**: PASS
**소요 시간**: 11.9초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 19 | 14 | 0 | 5 | 74% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 인사관리 > 근태현황 | - | ✅ | 517ms | Menu navigation: 인사관리 > 근태현황 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/attendance |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 0 inputs, 31 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No stat cards (ok)" is not valid JSON/raw:No st |
| 5 | 근태 현황 테이블 구조 확인 | - | ✅ | 0ms | Table: 0 cols, 10 rows |
| 6 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No filter "... is not valid JSON/raw:No filter |
| 7 | 오늘 근태 상태 확인 | - | ✅ | 0ms | Checks: 1/2 verified |
| 8 | 출근 버튼 확인 | - | ✅ | 1ms | 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 | ✅ | 2ms | Element not present (ok): button:has-text('조회'), button:has-text('검색'), button:h |
| 12 | [FILTER] 필터 결과 확인 | FILTER | ⚠️ | 1009ms | Detail checks: 0/1 matched |
| 13 | 근무 시간 통계 확인 | - | ✅ | 1ms | Checks: 1/2 verified |
| 14 | 지각/조퇴/결근 통계 확인 | - | ⚠️ | 1012ms | Checks: 0/3 verified |
| 15 | [READ] 특정 일자 상세 보기 | READ | ✅ | 304ms | Clicked (existed): table tbody tr:first-child |
| 16 | 상세 근태 정보 확인 | - | ⚠️ | 1015ms | Detail checks: 0/3 matched |
| 17 | 엑셀 다운로드 버튼 확인 | - | ⚠️ | 1004ms | Checks: 0/1 verified |
| 18 | 인쇄 버튼 확인 | - | ⚠️ | 1013ms | Checks: 0/1 verified |
| 19 | 콘솔 에러 확인 | - | ✅ | 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-02-20_13-44-22 | **결과**: PASS
**소요 시간**: 10.0초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 14 | 14 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 인사관리 > 부서관리 | - | ✅ | 2531ms | Menu navigation: 인사관리 > 부서관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/department-management |
| 3 | 목업 감지 | - | ✅ | 1ms | Real page: 1 inputs, 78 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 2 cards found" is not valid JSON/raw:Sta |
| 5 | 부서관리 페이지 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 6 | UI 요소 확인 | - | ✅ | 1ms | Detail checks: 1/1 |
| 7 | 검색 입력 시도 | - | ✅ | 315ms | Clicked (existed): input[type='search'], input[placeholder*='검색'], input[placeho |
| 8 | 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 9 | 행 클릭 시도 | - | ✅ | 3ms | Element not present (ok): table tbody tr, [role='row']:not(:first-child), [class |
| 10 | 상세 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 11 | 모달 닫기 | - | ✅ | 1ms | No modal open |
| 12 | 페이지네이션 확인 | - | ✅ | 2ms | 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-02-20_13-44-36 | **결과**: PASS
**소요 시간**: 13.5초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 22 | 22 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 인사관리 > 사원관리 | - | ✅ | 2514ms | Menu navigation: 인사관리 > 사원관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/employee-management |
| 3 | 목업 감지 | - | ✅ | 1ms | Real page: 1 inputs, 88 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Stats: 46 "... is not valid JSON/raw:Stats: 46 |
| 5 | 사원관리 페이지 확인 | - | ✅ | 1ms | Detail checks: 1/1 |
| 6 | 테이블 확인 | - | ✅ | 0ms | Table: 14 cols, 20 rows |
| 7 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 2" is not valid JSON/raw:Filters |
| 8 | 검색 기능 | - | ✅ | 1012ms | Searched: "테스트" |
| 9 | 검색 결과 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 10 | 검색 결과 데이터 검증 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Search res"... is not valid JSON/raw:Search res |
| 11 | 검색 초기화 | - | ✅ | 2ms | json_fail:Unexpected token 'S', "Search cleared" is not valid JSON/raw:Search cl |
| 12 | 검색 초기화 결과 대기 | - | ✅ | 1013ms | Waited 1000ms |
| 13 | 검색 초기화 및 복원 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'R', "Restored: 7 rows" is not valid JSON/raw:Restore |
| 14 | 검색 후 확인 | - | ✅ | 1ms | Detail checks: 1/1 |
| 15 | 첫 번째 행 클릭 | - | ✅ | 515ms | Clicked first row |
| 16 | 상세 페이지 로딩 대기 | - | ✅ | 1001ms | 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 | 모달 닫기 | - | ✅ | 1ms | 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 | 목록 복귀 | - | ✅ | 315ms | Clicked (existed): button:has-text('목록'), a:has-text('목록') |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 7 | 7 | 0 | 63ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/employee-management |

View File

@@ -0,0 +1,46 @@
# ✅ E2E 테스트 성공: 급여관리 테스트
**테스트 ID**: hr-salary | **실행**: 2026-02-20_13-44-49 | **결과**: PASS
**소요 시간**: 13.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 22 | 22 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 인사관리 > 급여관리 | - | ✅ | 2524ms | Menu navigation: 인사관리 > 급여관리 |
| 2 | URL 검증 | - | ✅ | 1ms | URL verified: https://dev.codebridge-x.com/hr/salary-management |
| 3 | 목업 감지 | - | ✅ | 0ms | Real page: 1 inputs, 31 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'S', "Stats: 9 cards found" is not valid JSON/raw:Sta |
| 5 | 급여관리 페이지 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 6 | 테이블 확인 | - | ✅ | 0ms | Table: 13 cols, 1 rows |
| 7 | 목록 필터 테스트 | - | ✅ | 0ms | json_fail:Unexpected token 'F', "Filters found: 1" is not valid JSON/raw:Filters |
| 8 | 검색 기능 | - | ✅ | 1006ms | Searched: "테스트" |
| 9 | 검색 결과 대기 | - | ✅ | 1002ms | Waited 1000ms |
| 10 | 검색 결과 데이터 검증 | - | ✅ | 1ms | 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 | 검색 초기화 결과 대기 | - | ✅ | 1014ms | Waited 1000ms |
| 13 | 검색 초기화 및 복원 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'R', "Restored: 1 rows" is not valid JSON/raw:Restore |
| 14 | 검색 후 확인 | - | ✅ | 0ms | Detail checks: 1/1 |
| 15 | 첫 번째 행 클릭 | - | ✅ | 516ms | Clicked first row |
| 16 | 상세 페이지 로딩 대기 | - | ✅ | 1000ms | 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 | 목록 복귀 | - | ✅ | 0ms | Element not present (ok): button:has-text('목록'), a:has-text('목록') |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 1 | 1 | 0 | 96ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/salary-management |

View File

@@ -0,0 +1,49 @@
# ✅ E2E 테스트 성공: 휴가관리 테스트
**테스트 ID**: hr-vacation | **실행**: 2026-02-20_13-45-08 | **결과**: PASS
**소요 시간**: 19.1초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 25 | 19 | 0 | 6 | 76% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | 메뉴 진입: 인사관리 > 휴가관리 | - | ✅ | 2511ms | Menu navigation: 인사관리 > 휴가관리 |
| 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/hr/vacation-management |
| 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 1ms | Real page: 1 inputs, 83 buttons |
| 4 | 통계 카드 확인 | - | ✅ | 3ms | json_fail:Unexpected token 'S', "Stats: 46 "... is not valid JSON/raw:Stats: 46 |
| 5 | 휴가 현황 카드 확인 | - | ✅ | 0ms | Checks: 3/3 verified |
| 6 | 휴가 테이블 구조 확인 | - | ✅ | 0ms | Table: 11 cols, 20 rows |
| 7 | 목록 필터 테스트 | - | ✅ | 1ms | json_fail:Unexpected token 'F', "Filters found: 2" is not valid JSON/raw:Filters |
| 8 | [CREATE] 휴가 신청 버튼 클릭 | CREATE | ✅ | 311ms | Clicked (existed): button:has-text('신청'), button:has-text('휴가 신청'), button:has-t |
| 9 | [CREATE] 휴가 정보 입력 | CREATE | ✅ | 3ms | Element not present (ok): form input, [role="dialog"] input, .modal input |
| 10 | [CREATE] 필수 검증 #2: 신청 저장 | CREATE | ✅ | 315ms | Clicked (existed): button:has-text('신청'), button:has-text('저장'), button:has-text |
| 11 | [CREATE] 저장 완료 토스트 확인 | CREATE | ⚠️ | 2535ms | No toast/notification found |
| 12 | [CREATE] 모달 닫기 확인 | CREATE | ✅ | 1ms | No modal open |
| 13 | [CREATE] 신청 결과 확인 | CREATE | ⚠️ | 1013ms | Detail checks: 0/0 matched |
| 14 | [READ] 휴가 상세 페이지 진입 | READ | ✅ | 315ms | Clicked (existed): table tbody tr:first-child, table tbody tr:nth-child(1), tabl |
| 15 | [READ] 상세 정보 확인 | READ | ✅ | 0ms | Detail checks: 2/5 |
| 16 | [UPDATE] 수정 모드 진입 | UPDATE | ✅ | 2ms | Element not present (ok): button:has-text('수정') |
| 17 | [UPDATE] 사유 수정 | UPDATE | ✅ | 4ms | Element not present (ok): textarea[name*='reason'], input[placeholder*='사유'] |
| 18 | [UPDATE] 필수 검증 #2: 수정 저장 | UPDATE | ✅ | 2ms | Element not present (ok): button:has-text('저장'), button:has-text('수정') |
| 19 | [UPDATE] 수정 완료 토스트 확인 | UPDATE | ⚠️ | 2547ms | No toast/notification found |
| 20 | [UPDATE] 수정 결과 확인 | UPDATE | ⚠️ | 1014ms | Detail checks: 0/1 matched |
| 21 | [DELETE] 취소 버튼 클릭 | DELETE | ✅ | 316ms | Clicked (existed): button:has-text('취소'), button:has-text('신청 취소') |
| 22 | [DELETE] 필수 검증 #6: 취소 확인 | DELETE | ✅ | 3ms | Element not present (ok): [role='alertdialog'] button:has-text('확인'), [role='dia |
| 23 | [DELETE] 취소 결과 확인 | DELETE | ⚠️ | 1013ms | Detail checks: 0/0 matched |
| 24 | [VERIFY] 연차 잔여일 확인 | VERIFY | ⚠️ | 1018ms | Checks: 0/1 verified |
| 25 | 콘솔 에러 확인 | - | ✅ | 1ms | Element exists: body |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 1 | 1 | 0 | 121ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/hr/vacation-management |

View File

@@ -0,0 +1,44 @@
# ✅ E2E 테스트 성공: 입력 필드 전수 테스트: 어음/입금/출금 (1/5)
**테스트 ID**: input-fields-acc-1 | **실행**: 2026-02-20_13-45-55 | **결과**: PASS
**소요 시간**: 46.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 20 | 20 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 어음관리] 페이지 로드 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 2 | [회계관리 > 어음관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [회계관리 > 어음관리] 등록 폼 열기 | - | ✅ | 2825ms | urlChg:true |
| 4 | [회계관리 > 어음관리] 폼 렌더링 대기 | - | ✅ | 1005ms | Waited 1000ms |
| 5 | [회계관리 > 어음관리] 입력 필드 전수 테스트 | - | ✅ | 6339ms | [object Object] |
| 6 | [회계관리 > 어음관리] 모달/폼 닫기 | - | ✅ | 1515ms | evaluate ok |
| 7 | [회계관리 > 입금관리] 메뉴 이동 | - | ✅ | 510ms | Menu navigation: 회계관리 > 입금관리 |
| 8 | [회계관리 > 입금관리] 페이지 로드 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 9 | [회계관리 > 입금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 10 | [회계관리 > 입금관리] 등록 폼 열기 | - | ✅ | 2822ms | urlChg:true |
| 11 | [회계관리 > 입금관리] 폼 렌더링 대기 | - | ✅ | 1000ms | Waited 1000ms |
| 12 | [회계관리 > 입금관리] 입력 필드 전수 테스트 | - | ✅ | 6301ms | [object Object] |
| 13 | [회계관리 > 입금관리] 모달/폼 닫기 | - | ✅ | 1515ms | evaluate ok |
| 14 | [회계관리 > 출금관리] 메뉴 이동 | - | ✅ | 2023ms | Menu navigation: 회계관리 > 출금관리 |
| 15 | [회계관리 > 출금관리] 페이지 로드 대기 | - | ✅ | 1013ms | Waited 1000ms |
| 16 | [회계관리 > 출금관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 17 | [회계관리 > 출금관리] 등록 폼 열기 | - | ✅ | 2808ms | urlChg:true |
| 18 | [회계관리 > 출금관리] 폼 렌더링 대기 | - | ✅ | 1006ms | Waited 1000ms |
| 19 | [회계관리 > 출금관리] 입력 필드 전수 테스트 | - | ✅ | 6320ms | [object Object] |
| 20 | [회계관리 > 출금관리] 모달/폼 닫기 | - | ✅ | 1510ms | evaluate ok |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 14 | 14 | 0 | 84ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/bills |

View File

@@ -0,0 +1,37 @@
# ✅ E2E 테스트 성공: 입력 필드 전수 테스트: 거래처(회계)/악성채권 (2/5)
**테스트 ID**: input-fields-acc-2 | **실행**: 2026-02-20_13-46-51 | **결과**: PASS
**소요 시간**: 56.9초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 13 | 13 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [회계관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 1004ms | Waited 1000ms |
| 2 | [회계관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [회계관리 > 거래처관리] 등록 폼 열기 | - | ✅ | 2820ms | urlChg:true |
| 4 | [회계관리 > 거래처관리] 폼 렌더링 대기 | - | ✅ | 1015ms | Waited 1000ms |
| 5 | [회계관리 > 거래처관리] 입력 필드 전수 테스트 | - | ✅ | 18801ms | [object Object] |
| 6 | [회계관리 > 거래처관리] 모달/폼 닫기 | - | ✅ | 1508ms | evaluate ok |
| 7 | [회계관리 > 악성채권추심관리] 메뉴 이동 | - | ✅ | 530ms | Menu navigation: 회계관리 > 악성채권추심관리 |
| 8 | [회계관리 > 악성채권추심관리] 페이지 로드 대기 | - | ✅ | 1007ms | Waited 1000ms |
| 9 | [회계관리 > 악성채권추심관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 20 rows |
| 10 | [회계관리 > 악성채권추심관리] 등록 폼 열기 | - | ✅ | 2826ms | urlChg:true |
| 11 | [회계관리 > 악성채권추심관리] 폼 렌더링 대기 | - | ✅ | 1009ms | Waited 1000ms |
| 12 | [회계관리 > 악성채권추심관리] 입력 필드 전수 테스트 | - | ✅ | 18719ms | [object Object] |
| 13 | [회계관리 > 악성채권추심관리] 모달/폼 닫기 | - | ✅ | 1515ms | evaluate ok |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 8 | 8 | 0 | 86ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/accounting/vendors |

View File

@@ -0,0 +1,37 @@
# ✅ E2E 테스트 성공: 입력 필드 전수 테스트: 입고/제품검사 (5/5)
**테스트 ID**: input-fields-material-quality | **실행**: 2026-02-20_13-47-19 | **결과**: PASS
**소요 시간**: 27.6초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 13 | 13 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [자재관리 > 입고관리] 페이지 로드 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 2 | [자재관리 > 입고관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 10 rows |
| 3 | [자재관리 > 입고관리] 등록 폼 열기 | - | ✅ | 2809ms | urlChg:true |
| 4 | [자재관리 > 입고관리] 폼 렌더링 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 5 | [자재관리 > 입고관리] 입력 필드 전수 테스트 | - | ✅ | 2599ms | [object Object] |
| 6 | [자재관리 > 입고관리] 모달/폼 닫기 | - | ✅ | 1517ms | evaluate ok |
| 7 | [품질관리 > 제품검사관리] 메뉴 이동 | - | ✅ | 2521ms | Menu navigation: 품질관리 > 제품검사관리 |
| 8 | [품질관리 > 제품검사관리] 페이지 로드 대기 | - | ✅ | 1009ms | Waited 1000ms |
| 9 | [품질관리 > 제품검사관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 1 rows |
| 10 | [품질관리 > 제품검사관리] 등록 폼 열기 | - | ✅ | 2827ms | urlChg:true |
| 11 | [품질관리 > 제품검사관리] 폼 렌더링 대기 | - | ✅ | 1003ms | Waited 1000ms |
| 12 | [품질관리 > 제품검사관리] 입력 필드 전수 테스트 | - | ✅ | 3686ms | [object Object] |
| 13 | [품질관리 > 제품검사관리] 모달/폼 닫기 | - | ✅ | 1503ms | evaluate ok |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 16 | 16 | 0 | 161ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/material/receiving-management |

View File

@@ -0,0 +1,42 @@
# ✅ E2E 테스트 성공: 입력 필드 전수 테스트: 작업지시/작업실적 (4/5)
**테스트 ID**: input-fields-production | **실행**: 2026-02-20_13-47-35 | **결과**: PASS
**소요 시간**: 15.7초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 13 | 13 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [생산관리 > 작업지시 관리] 페이지 로드 대기 | - | ✅ | 1002ms | Waited 1000ms |
| 2 | [생산관리 > 작업지시 관리] 테이블 로드 대기 | - | ✅ | 1ms | Table loaded: 15 rows |
| 3 | [생산관리 > 작업지시 관리] 등록 폼 열기 | - | ✅ | 2512ms | urlChg:true |
| 4 | [생산관리 > 작업지시 관리] 폼 렌더링 대기 | - | ✅ | 1014ms | Waited 1000ms |
| 5 | [생산관리 > 작업지시 관리] 입력 필드 전수 테스트 | - | ✅ | 1ms | [object Object] |
| 6 | [생산관리 > 작업지시 관리] 모달/폼 닫기 | - | ✅ | 0ms | evaluate ok |
| 7 | [생산관리 > 작업실적] 메뉴 이동 | - | ✅ | 507ms | Menu navigation: 생산관리 > 작업실적 |
| 8 | [생산관리 > 작업실적] 페이지 로드 대기 | - | ✅ | 1008ms | Waited 1000ms |
| 9 | [생산관리 > 작업실적] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 18 rows |
| 10 | [생산관리 > 작업실적] 등록 폼 열기 | - | ✅ | 2513ms | urlChg:false |
| 11 | [생산관리 > 작업실적] 폼 렌더링 대기 | - | ✅ | 1003ms | Waited 1000ms |
| 12 | [생산관리 > 작업실적] 입력 필드 전수 테스트 | - | ✅ | 2ms | [object Object] |
| 13 | [생산관리 > 작업실적] 모달/폼 닫기 | - | ✅ | 0ms | evaluate ok |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 2 | 2 | 0 | 151ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/production/work-orders |
### 콘솔 에러 (Health Check)
1. `[InspectionList] loadCalendarData error: TypeError: Failed to fetch
at window.fetch (eval at evaluate (:290:30), <anonymous>:45:40)
at M (https://dev.codebridge-x.com/_next/static/chunks/1255-`

View File

@@ -0,0 +1,44 @@
# ✅ E2E 테스트 성공: 입력 필드 전수 테스트: 거래처(판매)/수주/견적 (3/5)
**테스트 ID**: input-fields-sales | **실행**: 2026-02-20_13-48-09 | **결과**: PASS
**소요 시간**: 34.2초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 20 | 20 | 0 | 0 | 100% |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 1 | [판매관리 > 거래처관리] 페이지 로드 대기 | - | ✅ | 1003ms | Waited 1000ms |
| 2 | [판매관리 > 거래처관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 3 | [판매관리 > 거래처관리] 등록 폼 열기 | - | ✅ | 2831ms | urlChg:true |
| 4 | [판매관리 > 거래처관리] 폼 렌더링 대기 | - | ✅ | 1003ms | Waited 1000ms |
| 5 | [판매관리 > 거래처관리] 입력 필드 전수 테스트 | - | ✅ | 2149ms | [object Object] |
| 6 | [판매관리 > 거래처관리] 모달/폼 닫기 | - | ✅ | 1510ms | evaluate ok |
| 7 | [판매관리 > 수주관리] 메뉴 이동 | - | ✅ | 525ms | Menu navigation: 판매관리 > 수주관리 |
| 8 | [판매관리 > 수주관리] 페이지 로드 대기 | - | ✅ | 1014ms | Waited 1000ms |
| 9 | [판매관리 > 수주관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 10 | [판매관리 > 수주관리] 등록 폼 열기 | - | ✅ | 2817ms | urlChg:true |
| 11 | [판매관리 > 수주관리] 폼 렌더링 대기 | - | ✅ | 1017ms | Waited 1000ms |
| 12 | [판매관리 > 수주관리] 입력 필드 전수 테스트 | - | ✅ | 2217ms | [object Object] |
| 13 | [판매관리 > 수주관리] 모달/폼 닫기 | - | ✅ | 1515ms | evaluate ok |
| 14 | [판매관리 > 견적관리] 메뉴 이동 | - | ✅ | 2017ms | Menu navigation: 판매관리 > 견적관리 |
| 15 | [판매관리 > 견적관리] 페이지 로드 대기 | - | ✅ | 1001ms | Waited 1000ms |
| 16 | [판매관리 > 견적관리] 테이블 로드 대기 | - | ✅ | 0ms | Table loaded: 20 rows |
| 17 | [판매관리 > 견적관리] 등록 폼 열기 | - | ✅ | 2815ms | urlChg:true |
| 18 | [판매관리 > 견적관리] 폼 렌더링 대기 | - | ✅ | 1014ms | Waited 1000ms |
| 19 | [판매관리 > 견적관리] 입력 필드 전수 테스트 | - | ✅ | 2154ms | [object Object] |
| 20 | [판매관리 > 견적관리] 모달/폼 닫기 | - | ✅ | 1516ms | evaluate ok |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 8 | 8 | 0 | 97ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/sales/client-management-sales-admin |

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