Files
sam-hotfix/Fail-board-test_2026-03-07_21-10-08.md

126 lines
9.7 KiB
Markdown
Raw Permalink Normal View History

# ❌ E2E 테스트 실패: 게시판 테스트 E2E 테스트
**테스트 ID**: board-test | **실행**: 2026-03-07_21-10-08 | **결과**: FAIL
**소요 시간**: 37.9초
## 테스트 요약
| 전체 | 성공 | 실패 | 경고 | 성공률 |
|------|------|------|------|--------|
| 78 | 56 | 5 | 17 | 72% |
## 실패 스텝
| # | 스텝 | Phase | 에러 |
|---|------|-------|------|
| 12 | 상태 필터 클릭 테스트 | - | Element not found: [role='combobox']:first [context: btn:69,input:1] |
| 42 | 댓글 내용 수정 | - | Input not found: textarea:first [context: btn:30,input:2] |
| 62 | 게시글 클릭하여 상세 페이지 재진입 | - | Element not found: row:has-text('E2E 테스트 게시글 (수정됨)') [context: btn:75,input:1,text:not-on-page] |
| 63 | 삭제 버튼 클릭 | - | Element not found: button:has-text('삭제'):first [context: btn:75,input:1,text:not-on-page] |
| 65 | 삭제 확인 버튼 클릭 | - | Element not found: button:has-text('삭제'):last [context: btn:75,input:1,text:not-on-page] |
## 전체 스텝 결과
| # | 스텝 | Phase | 상태 | 소요시간 | 비고 |
|---|------|-------|------|---------|------|
| 0 | 사이드바 준비 | - | ✅ | 510ms | eval_type:undefined/isPromise:false/val:undefined / Waited 500ms |
| 1 | 2단계 메뉴 진입: 게시판 > 게시판 테스트 | - | ✅ | 2724ms | Found: 게시판 / Clicked: 게시판 / Waited 500ms / Found: 게시판 테스트 / Clicked: 게시판 테스트 / W |
| 2 | 초기 게시글 목록 확인 | - | ✅ | 0ms | Table: 7 cols, 10 rows |
| 3 | 게시글 총 건수 확인 | - | ✅ | 1ms | Text pattern found: 총 \d+건 |
| 4 | 검색창 존재 확인 | - | ✅ | 0ms | Element exists: input[placeholder*='제목'] |
| 5 | 상태 필터 드롭다운 확인 | - | ✅ | 0ms | Count 2 >= 2: [role='combobox'] |
| 6 | 정렬 필터 드롭다운 확인 | - | ✅ | 1ms | Element exists: [role='combobox']:has-text('최신순') |
| 7 | 날짜 범위 선택 버튼 확인 | - | ✅ | 0ms | No checks defined |
| 8 | 글쓰기 버튼 확인 | - | ✅ | 0ms | Element exists: button:has-text('글쓰기') |
| 9 | 테이블 체크박스 확인 | - | ⚠️ | 1517ms | Element not found: table th checkbox |
| 10 | 테이블 컬럼 헤더 확인 | - | ⚠️ | 0ms | Unknown action type: verify_table_headers |
| 11 | 초기 게시글 수 저장 | - | ⚠️ | 0ms | Unknown action type: store_value |
| 12 | 상태 필터 클릭 테스트 | - | ❌ | 1515ms | Element not found: [role='combobox']:first [context: btn:69,input:1] |
| 13 | 상태 필터 옵션 확인 | - | ⚠️ | 0ms | Unknown action type: verify_dropdown_options |
| 14 | 상태 필터 닫기 (ESC) | - | ✅ | 202ms | Pressed key: Escape |
| 15 | 글쓰기 버튼 클릭 | - | ✅ | 417ms | Clicked: button:has-text('글쓰기') |
| 16 | 글쓰기 페이지 URL 확인 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/boards/board_mjsgri54_1fmg?mode=new |
| 17 | 작성 폼 구조 확인 | - | ⚠️ | 0ms | Unknown action type: verify_form_structure |
| 18 | 제목 입력 필드 확인 | - | ✅ | 0ms | Element exists: #title |
| 19 | 내용 입력 필드 확인 | - | ✅ | 0ms | Element exists: #content |
| 20 | 제목 입력 | - | ✅ | 207ms | Filled "#title" with "E2E 테스트 게시글" |
| 21 | 내용 입력 | - | ✅ | 232ms | Filled "#content" with "E2E 자동화 테스트를 위한 게시글입니다." |
| 22 | 등록 버튼 클릭 | - | ✅ | 404ms | Clicked: button:has-text('등록') |
| 23 | 페이지 이동 대기 (1초) | - | ✅ | 1002ms | Waited 1000ms |
| 24 | URL 안정성 검증 - 게시글 상세 페이지로 정상 이동 | - | ✅ | 2016ms | URL stable: https://dev.codebridge-x.com/boards/board_mjsgri54_1fmg/540?mode=vie |
| 25 | 게시글 제목 표시 확인 | - | ✅ | 0ms | No text to verify |
| 26 | 게시글 내용 표시 확인 | - | ⚠️ | 0ms | Unknown action type: verify_content |
| 27 | 작성자 정보 확인 | - | ✅ | 0ms | No text to verify |
| 28 | 등록일 표시 확인 | - | ⚠️ | 1521ms | Element not found: text*='2026-01' |
| 29 | 조회수 확인 | - | ✅ | 0ms | Text pattern found: \d+ |
| 30 | 수정 버튼 존재 확인 (작성자) | - | ✅ | 0ms | Element exists: button:has-text('수정') |
| 31 | 삭제 버튼 존재 확인 (작성자) | - | ✅ | 0ms | Element exists: button:has-text('삭제') |
| 32 | 목록으로 버튼 존재 확인 | - | ✅ | 1ms | Element exists: button:has-text('목록으로') |
| 33 | 댓글 섹션 확인 | - | ✅ | 0ms | Element exists: h4:has-text('댓글') |
| 34 | 초기 댓글 수 확인 | - | ✅ | 0ms | No text to verify |
| 35 | 첫 번째 댓글 입력 | - | ✅ | 207ms | Filled "textarea[placeholder*='댓글']" with "첫 번째 테스트 댓글입니다." |
| 36 | 댓글 등록 버튼 클릭 | - | ✅ | 417ms | Clicked: button:has-text('댓글 등록') |
| 37 | 댓글 수 업데이트 확인 (0 → 1) | - | ✅ | 0ms | No text to verify |
| 38 | 두 번째 댓글 입력 | - | ✅ | 202ms | Filled "textarea[placeholder*='댓글']" with "두 번째 테스트 댓글입니다." |
| 39 | 두 번째 댓글 등록 및 댓글 수 확인 (1 → 2) | - | ⚠️ | 0ms | Unknown action type: click_and_verify |
| 40 | 첫 번째 댓글 수정 버튼 클릭 | - | ✅ | 407ms | Clicked: button:has-text('수정'):first |
| 41 | 댓글 수정 폼 표시 확인 | - | ✅ | 0ms | Element exists: textarea |
| 42 | 댓글 내용 수정 | - | ❌ | 1521ms | Input not found: textarea:first [context: btn:30,input:2] |
| 43 | 댓글 저장 버튼 클릭 | - | ✅ | 424ms | Clicked: button:has-text('저장') |
| 44 | 수정된 댓글 내용 확인 | - | ✅ | 0ms | No text to verify |
| 45 | 두 번째 댓글 삭제 버튼 클릭 | - | ✅ | 917ms | [retry 1] Clicked: button:has-text('삭제'):nth(1) |
| 46 | 댓글 삭제 대기 (1초) | - | ✅ | 1007ms | Waited 1000ms |
| 47 | 댓글 수 업데이트 확인 (2 → 1) | - | ✅ | 0ms | No text to verify |
| 48 | 수정 버튼 클릭 | - | ✅ | 410ms | Clicked: button:has-text('수정'):first |
| 49 | 수정 페이지 URL 확인 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/boards/board_mjsgri54_1fmg/540?mode=e |
| 50 | 수정 폼 기존 데이터 로드 확인 (제목) | - | ✅ | 1ms | Input value: "E2E 테스트 게시글" |
| 51 | 수정 폼 기존 데이터 로드 확인 (내용) | - | ⚠️ | 0ms | Unknown action type: verify_textarea_value |
| 52 | 제목 수정 | - | ✅ | 203ms | Filled "#title" with "E2E 테스트 게시글 (수정됨)" |
| 53 | 내용 수정 | - | ✅ | 219ms | Filled "#content" with "수정된 내용입니다. E2E 자동화 테스트를 위한 게시글" |
| 54 | 비밀글 체크박스 선택 | - | ✅ | 208ms | Checked: #isSecret |
| 55 | 저장 버튼 클릭 | - | ✅ | 416ms | Clicked: button:has-text('저장') |
| 56 | URL 안정성 검증 - 상세 페이지로 정상 이동 | - | ✅ | 2000ms | URL stable: https://dev.codebridge-x.com/boards/board_mjsgri54_1fmg/540?mode=vie |
| 57 | 수정된 제목 표시 확인 | - | ✅ | 0ms | No text to verify |
| 58 | 수정된 내용 표시 확인 | - | ⚠️ | 0ms | Unknown action type: verify_content |
| 59 | 목록으로 버튼 클릭 | - | ✅ | 424ms | Clicked: button:has-text('목록으로') |
| 60 | 목록 페이지 URL 확인 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/boards/board_mjsgri54_1fmg |
| 61 | 목록에서 수정된 게시글 확인 | - | ⚠️ | 0ms | Unknown action type: verify_table_row |
| 62 | 게시글 클릭하여 상세 페이지 재진입 | - | ❌ | 1517ms | Element not found: row:has-text('E2E 테스트 게시글 (수정됨)') [context: btn:75,input:1,te |
| 63 | 삭제 버튼 클릭 | - | ❌ | 1511ms | Element not found: button:has-text('삭제'):first [context: btn:75,input:1,text:not |
| 64 | 삭제 확인 다이얼로그 표시 확인 | - | ⚠️ | 1509ms | No dialog found |
| 65 | 삭제 확인 버튼 클릭 | - | ❌ | 1512ms | Element not found: button:has-text('삭제'):last [context: btn:75,input:1,text:not- |
| 66 | 페이지 이동 대기 (1초) | - | ✅ | 1007ms | Waited 1000ms |
| 67 | URL 안정성 검증 - 목록 페이지로 정상 이동 | - | ✅ | 2002ms | URL stable: https://dev.codebridge-x.com/boards/board_mjsgri54_1fmg |
| 68 | 게시글 삭제 확인 (목록에서 제거됨) | - | ⚠️ | 0ms | Unknown action type: verify_table_not_contains |
| 69 | 게시글 수 감소 확인 | - | ⚠️ | 0ms | Unknown action type: verify_count_decreased |
| 70 | 테이블 구조 유지 확인 | - | ✅ | 0ms | Table: 7 cols, 10 rows |
| 71 | 검색창 기능 유지 확인 | - | ✅ | 1ms | Element exists: input[placeholder*='제목'] |
| 72 | 페이지네이션 확인 (조건부) | - | ✅ | 0ms | No checks defined |
| 73 | 전체 선택 체크박스 확인 | - | ⚠️ | 1504ms | Element not found: table th checkbox |
| 74 | 글쓰기 버튼 확인 | - | ✅ | 0ms | Element exists: button:has-text('글쓰기') |
| 75 | 필터 드롭다운 확인 | - | ✅ | 0ms | Count 2 >= 2: [role='combobox'] |
| 76 | 콘솔 에러 확인 | - | ⚠️ | 0ms | Unknown action type: check_console_errors |
| 77 | 테스트 완료 확인 | - | ⚠️ | 0ms | Unknown action type: verify_test_completion |
## API 요약
| 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) |
|---------|------|------|----------|--------------|
| 35 | 35 | 0 | 50ms | 0 |
## 페이지 건강 검사
| 항목 | 결과 |
|------|------|
| 상태 | ✅ 정상 |
| URL | https://dev.codebridge-x.com/boards/board_mjsgri54_1fmg |
## 자동 진단
| 항목 | 내용 |
|------|------|
| 근본 원인 | **unknown** |
| 스크린샷 | diag_board-test_2026-03-07_21-10-08.png |
### 페이지 상태
| 항목 | 값 |
|------|----|
| DOM 노드 | 912 |
| 테이블 행 | 10 |
| API 호출 수 | 35 |
| 로딩 스피너 | No |