156 lines
3.8 KiB
JSON
156 lines
3.8 KiB
JSON
|
|
{
|
||
|
|
"id": "hr-employee",
|
||
|
|
"name": "사원관리 테스트",
|
||
|
|
"screenshotPolicy": {
|
||
|
|
"onErrorOnly": true,
|
||
|
|
"captureOn": ["error", "fail", "timeout", "404", "500", "blocked"]
|
||
|
|
},
|
||
|
|
"description": "인사관리 > 사원관리 메뉴의 목록 조회, 검색, CRUD 기능 테스트",
|
||
|
|
"baseUrl": "https://dev.codebridge-x.com",
|
||
|
|
"menuNavigation": {
|
||
|
|
"level1": "인사관리",
|
||
|
|
"level2": "사원관리",
|
||
|
|
"expectedUrl": "/hr/employee-management"
|
||
|
|
},
|
||
|
|
"auth": {
|
||
|
|
"username": "TestUser5",
|
||
|
|
"password": "password123!"
|
||
|
|
},
|
||
|
|
"steps": [
|
||
|
|
{
|
||
|
|
"id": 1,
|
||
|
|
"name": "메뉴 진입: 인사관리 > 사원관리",
|
||
|
|
"action": "menu_navigate",
|
||
|
|
"level1": "인사관리",
|
||
|
|
"level2": "사원관리",
|
||
|
|
"expected": {
|
||
|
|
"url_contains": "/hr/employee",
|
||
|
|
"visible": ["사원관리", "사원"]
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": 2,
|
||
|
|
"name": "필수 검증 #5: 목업 페이지 감지",
|
||
|
|
"action": "verify_not_mockup",
|
||
|
|
"checks": [
|
||
|
|
"검색 입력 필드 존재",
|
||
|
|
"테이블 데이터 표시",
|
||
|
|
"사원 등록 버튼 존재"
|
||
|
|
],
|
||
|
|
"expected": "정상 페이지 (목업 아님)"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": 3,
|
||
|
|
"name": "테이블 구조 확인",
|
||
|
|
"action": "verify_table",
|
||
|
|
"checks": [
|
||
|
|
"사원명 컬럼",
|
||
|
|
"부서 컬럼",
|
||
|
|
"직급 컬럼",
|
||
|
|
"입사일 컬럼"
|
||
|
|
],
|
||
|
|
"expected": "주요 컬럼 존재"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": 4,
|
||
|
|
"name": "검색 기능 테스트",
|
||
|
|
"action": "fill",
|
||
|
|
"target": "input[placeholder*='검색']",
|
||
|
|
"value": "홍길동",
|
||
|
|
"expected": "검색어 입력됨"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": 5,
|
||
|
|
"name": "검색 결과 확인",
|
||
|
|
"action": "wait",
|
||
|
|
"duration": 500,
|
||
|
|
"expected": "검색 결과 표시"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": 6,
|
||
|
|
"name": "검색 초기화",
|
||
|
|
"action": "clear",
|
||
|
|
"target": "input[placeholder*='검색']",
|
||
|
|
"expected": "검색어 삭제"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": 7,
|
||
|
|
"name": "사원 등록 버튼 클릭",
|
||
|
|
"action": "click",
|
||
|
|
"target": "사원 등록",
|
||
|
|
"expected": "등록 폼/모달 열림"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": 8,
|
||
|
|
"name": "등록 폼 확인",
|
||
|
|
"action": "verify_elements",
|
||
|
|
"checks": [
|
||
|
|
"이름 입력 필드",
|
||
|
|
"이메일 입력 필드",
|
||
|
|
"아이디 입력 필드",
|
||
|
|
"비밀번호 입력 필드",
|
||
|
|
"입사일 입력 필드"
|
||
|
|
],
|
||
|
|
"expected": "등록 폼 표시"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": 9,
|
||
|
|
"name": "등록 폼 닫기",
|
||
|
|
"action": "click",
|
||
|
|
"target": "취소",
|
||
|
|
"expected": "등록 폼 닫힘"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": 10,
|
||
|
|
"name": "테이블 행 클릭 - 상세 페이지",
|
||
|
|
"action": "click",
|
||
|
|
"target": "table tbody tr:first-child",
|
||
|
|
"expected": "상세 페이지로 이동"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": 11,
|
||
|
|
"name": "상세 페이지 요소 확인",
|
||
|
|
"action": "verify_elements",
|
||
|
|
"checks": [
|
||
|
|
"사원 정보 표시",
|
||
|
|
"목록 버튼 존재",
|
||
|
|
"수정 버튼 존재"
|
||
|
|
],
|
||
|
|
"expected": "상세 정보 정상 표시"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": 12,
|
||
|
|
"name": "목록으로 돌아가기",
|
||
|
|
"action": "click",
|
||
|
|
"target": "목록",
|
||
|
|
"expected": "목록 페이지로 복귀"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"requiredVerifications": [
|
||
|
|
{
|
||
|
|
"id": 3,
|
||
|
|
"name": "검색/필터",
|
||
|
|
"steps": [4, 5, 6],
|
||
|
|
"criteria": "검색 시 데이터 변화 확인"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"id": 5,
|
||
|
|
"name": "목업 페이지 감지",
|
||
|
|
"steps": [2],
|
||
|
|
"criteria": "입력 필드, 동작 버튼, 테이블 데이터 확인"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"expectedAPIs": [
|
||
|
|
{
|
||
|
|
"method": "GET",
|
||
|
|
"endpoint": "/api/v1/employees",
|
||
|
|
"description": "사원 목록 조회"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"method": "POST",
|
||
|
|
"endpoint": "/api/v1/employees",
|
||
|
|
"description": "사원 등록"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|