# ✅ E2E 테스트 성공: 근무일정 테스트 **테스트 ID**: settings-work-schedule | **실행**: 2026-03-08_10-34-40 | **결과**: PASS **소요 시간**: 10.3초 ## 테스트 요약 | 전체 | 성공 | 실패 | 경고 | 성공률 | |------|------|------|------|--------| | 16 | 15 | 0 | 1 | 94% | ## 전체 스텝 결과 | # | 스텝 | Phase | 상태 | 소요시간 | 비고 | |---|------|-------|------|---------|------| | 1 | 메뉴 진입: 설정 > 근무일정 | - | ✅ | 503ms | Menu navigation: 설정 > 근무일정 | | 2 | URL 검증 | - | ✅ | 0ms | URL verified: https://dev.codebridge-x.com/settings/work-schedule | | 3 | 필수 검증 #5: 목업 페이지 감지 | - | ✅ | 0ms | Real page: 2 inputs, 34 buttons | | 4 | 통계 카드 확인 | - | ✅ | 0ms | json_fail:Unexpected token 'S', "Stats: 10 "... is not valid JSON/raw:Stats: 10 | | 5 | 근무일정 폼 구조 확인 | - | ✅ | 0ms | Checks: 4/4 verified | | 6 | [READ] 현재 근무일정 확인 | READ | ⚠️ | 1504ms | Detail checks: 0/3 matched | | 7 | [UPDATE] 출근 시간 확인 | UPDATE | ✅ | 422ms | Clicked: input[type='time']:first-of-type, input[placeholder*='출근'], input[place | | 8 | [UPDATE] 퇴근 시간 확인 | UPDATE | ✅ | 405ms | Clicked: input[type='time']:last-of-type, input[placeholder*='퇴근'], input[placeh | | 9 | [UPDATE] 휴게 시간 설정 | UPDATE | ✅ | 1ms | Element not present (ok): input[name*='break'], input[placeholder*='휴게'] | | 10 | [UPDATE] 필수 검증 #2: 근무일정 저장 | UPDATE | ✅ | 1424ms | [retry 1] Clicked: button:has-text('저장'), button:has-text('적용') | | 11 | [UPDATE] 저장 결과 확인 | UPDATE | ✅ | 0ms | Detail checks: 2/3 | | 12 | 휴무일 설정 확인 | - | ✅ | 0ms | Checks: 3/3 verified | | 13 | 주간 근무시간 계산 확인 | - | ✅ | 0ms | Checks: 1/1 verified | | 14 | 페이지네이션 확인 | - | ✅ | 1ms | json_fail:Unexpected token 'N', "No paginat"... is not valid JSON/raw:No paginat | | 15 | 콘솔 에러 확인 | - | ✅ | 0ms | Element exists: body | | 16 | 부서별 근무일정 확인 | - | ✅ | 0ms | Checks: 1/1 verified | ## API 요약 | 총 호출 | 성공 | 실패 | 평균 응답 | 느린 호출(>2s) | |---------|------|------|----------|--------------| | 0 | 0 | 0 | 0ms | 0 | ## 페이지 건강 검사 | 항목 | 결과 | |------|------| | 상태 | ✅ 정상 | | URL | https://dev.codebridge-x.com/settings/work-schedule |