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