From 24e5bba1ee9fecd4b28aa2f606d4dac5a8e82792 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Tue, 10 Feb 2026 09:41:57 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20CRUD=20fill=5Fform=20=EA=B0=95=ED=99=94?= =?UTF-8?q?=20-=209=EA=B0=9C=20=EC=8B=9C=EB=82=98=EB=A6=AC=EC=98=A4=20?= =?UTF-8?q?=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20?= =?UTF-8?q?=EC=9E=85=EB=A0=A5=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- accounting-bill.json | 10 +++++++--- accounting-client.json | 18 ++++++++++++------ accounting-deposit.json | 10 +++++++--- accounting-withdrawal.json | 10 +++++++--- material-receiving.json | 10 +++++++--- quality-inspection.json | 11 ++++++++--- sales-client.json | 33 +++++++++++++++++++++++---------- sales-order.json | 12 +++++++++--- sales-quotation.json | 11 ++++++++--- 9 files changed, 88 insertions(+), 37 deletions(-) diff --git a/accounting-bill.json b/accounting-bill.json index 89571ea..5655d73 100644 --- a/accounting-bill.json +++ b/accounting-bill.json @@ -121,9 +121,13 @@ "id": 9, "phase": "CREATE", "name": "[CREATE] 어음 정보 입력", - "action": "click_if_exists", - "note": "타임스탬프로 고유성 보장", - "target": "body" + "action": "fill_form", + "fields": [ + {"name": "어음번호", "value": "E2E_TEST_어음_{timestamp}"}, + {"name": "금액", "value": "1000000"}, + {"name": "비고", "value": "E2E 자동화 테스트 어음"} + ], + "note": "combobox(구분,거래처,상태) 및 datepicker(발행일,만기일)는 fill_form 미지원" }, { "id": 10, diff --git a/accounting-client.json b/accounting-client.json index e05a628..1410175 100644 --- a/accounting-client.json +++ b/accounting-client.json @@ -101,24 +101,30 @@ "phase": "CREATE", "name": "[CREATE] 거래처 등록 버튼 클릭", "action": "click_if_exists", - "target": "button:has-text('등록'), button:has-text('추가'), button:has-text('신규')", + "target": "button:has-text('거래처 등록'), button:has-text('등록'), button:has-text('추가'), button:has-text('신규')", "expected": { - "modal_open": true + "url_contains": "mode=new" } }, { "id": 8, "phase": "CREATE", - "name": "[CREATE] 거래처명 입력", - "action": "click_if_exists", - "target": "input[name*='name'], input[placeholder*='거래처명']" + "name": "[CREATE] 거래처 정보 입력", + "action": "fill_form", + "fields": [ + {"name": "사업자등록번호", "value": "123-45-67890"}, + {"name": "거래처명", "value": "E2E_TEST_회계거래처_{timestamp}"}, + {"name": "대표자명", "value": "테스트 대표"}, + {"name": "업태", "value": "제조업"}, + {"name": "종목", "value": "철강"} + ] }, { "id": 9, "phase": "CREATE", "name": "[CREATE] 거래처 구분 선택", "action": "click_if_exists", - "target": "select[name*='type'], button:has-text('매출')", + "target": "#clientType-매출, label:has-text('매출') input[type='radio'], button:has-text('매출')", "expected": "거래처 구분 선택" }, { diff --git a/accounting-deposit.json b/accounting-deposit.json index dd5fb00..190f014 100644 --- a/accounting-deposit.json +++ b/accounting-deposit.json @@ -121,9 +121,13 @@ "id": 9, "phase": "CREATE", "name": "[CREATE] 입금 정보 입력", - "action": "click_if_exists", - "note": "타임스탬프로 고유성 보장", - "target": "body" + "action": "fill_form", + "fields": [ + {"name": "입금자명", "value": "E2E_TEST_입금자_{timestamp}"}, + {"name": "입금금액", "value": "100000"}, + {"name": "적요", "value": "E2E 자동화 테스트 입금"} + ], + "note": "combobox(입금계좌,거래처,입금유형)는 fill_form 미지원" }, { "id": 10, diff --git a/accounting-withdrawal.json b/accounting-withdrawal.json index dc0178b..13ec9a2 100644 --- a/accounting-withdrawal.json +++ b/accounting-withdrawal.json @@ -121,9 +121,13 @@ "id": 9, "phase": "CREATE", "name": "[CREATE] 출금 정보 입력", - "action": "click_if_exists", - "note": "타임스탬프로 고유성 보장", - "target": "body" + "action": "fill_form", + "fields": [ + {"name": "수취인명", "value": "E2E_TEST_수취인_{timestamp}"}, + {"name": "출금금액", "value": "50000"}, + {"name": "적요", "value": "E2E 자동화 테스트 출금"} + ], + "note": "combobox(출금계좌,거래처,출금유형)는 fill_form 미지원" }, { "id": 10, diff --git a/material-receiving.json b/material-receiving.json index c263005..ea363bb 100644 --- a/material-receiving.json +++ b/material-receiving.json @@ -121,9 +121,13 @@ "id": 9, "phase": "CREATE", "name": "[CREATE] 입고 정보 입력", - "action": "click_if_exists", - "note": "타임스탬프로 고유성 보장", - "target": "body" + "action": "fill_form", + "fields": [ + {"name": "제조사", "value": "E2E_TEST_제조사"}, + {"name": "입고수량", "value": "100"}, + {"name": "비고", "value": "E2E 자동화 테스트 입고_{timestamp}"} + ], + "note": "자재번호/원자재로트/품목코드는 자동생성 필드, combobox(상태)는 fill_form 미지원" }, { "id": 10, diff --git a/quality-inspection.json b/quality-inspection.json index d0fea38..740ae66 100644 --- a/quality-inspection.json +++ b/quality-inspection.json @@ -124,9 +124,14 @@ "id": 9, "phase": "CREATE", "name": "[CREATE] 제품검사 정보 입력", - "action": "click_if_exists", - "note": "타임스탬프로 고유성 보장", - "target": "body" + "action": "fill_form", + "fields": [ + {"name": "현장명", "value": "E2E_TEST_현장_{timestamp}"}, + {"name": "수주처", "value": "E2E_TEST_수주처"}, + {"name": "담당자", "value": "홍길동"}, + {"name": "연락처", "value": "010-1234-5678"}, + {"name": "비고", "value": "E2E 자동화 테스트 제품검사"} + ] }, { "id": 10, diff --git a/sales-client.json b/sales-client.json index 6015642..df7ad97 100644 --- a/sales-client.json +++ b/sales-client.json @@ -96,31 +96,44 @@ "phase": "CREATE", "name": "[CREATE] 거래처 등록 버튼 클릭", "action": "click_if_exists", - "target": "button:has-text('등록'), button:has-text('추가'), button:has-text('신규')", + "target": "button:has-text('거래처 등록'), button:has-text('등록'), button:has-text('추가'), button:has-text('신규')", "expected": { - "modal_open": true + "url_contains": "mode=new" } }, { "id": 8, "phase": "CREATE", - "name": "[CREATE] 거래처명 입력", - "action": "click_if_exists", - "target": "input[name*='name'], input[placeholder*='거래처명']" + "name": "[CREATE] 거래처 정보 입력", + "action": "fill_form", + "fields": [ + {"name": "사업자등록번호", "value": "987-65-43210"}, + {"name": "거래처명", "value": "E2E_TEST_판매처_{timestamp}"}, + {"name": "대표자명", "value": "테스트 대표"}, + {"name": "업태", "value": "제조업"}, + {"name": "종목", "value": "철강"} + ] }, { "id": 9, "phase": "CREATE", - "name": "[CREATE] 사업자번호 입력", - "action": "click_if_exists", - "target": "input[name*='business'], input[placeholder*='사업자']" + "name": "[CREATE] 추가 정보 입력", + "action": "fill_form", + "fields": [ + {"name": "주소", "value": "서울시 강남구 테스트로 123"}, + {"name": "전화번호", "value": "02-1234-5678"}, + {"name": "이메일", "value": "e2e-test@example.com"}, + {"name": "담당자명", "value": "E2E 담당자"}, + {"name": "메모", "value": "E2E 자동화 테스트 거래처"} + ] }, { "id": 10, "phase": "CREATE", - "name": "[CREATE] 대표자명 입력", + "name": "[CREATE] 거래처 유형 선택", "action": "click_if_exists", - "target": "input[name*='representative'], input[placeholder*='대표']" + "target": "#clientType-매출, label:has-text('매출')", + "expected": "매출 거래처 선택" }, { "id": 11, diff --git a/sales-order.json b/sales-order.json index 8a51dd4..e584e5a 100644 --- a/sales-order.json +++ b/sales-order.json @@ -125,9 +125,15 @@ "id": 9, "phase": "CREATE", "name": "[CREATE] 수주 정보 입력", - "action": "click_if_exists", - "note": "타임스탬프로 고유성 보장", - "target": "body" + "action": "fill_form", + "fields": [ + {"name": "현장명", "value": "E2E_TEST_현장_{timestamp}"}, + {"name": "담당자", "value": "E2E 담당자"}, + {"name": "연락처", "value": "010-1234-5678"}, + {"name": "수신자", "value": "E2E 수신자"}, + {"name": "수신처", "value": "E2E_TEST_수신처"} + ], + "note": "combobox(수주처,배송방식,운임비용)는 fill_form 미지원" }, { "id": 10, diff --git a/sales-quotation.json b/sales-quotation.json index 4aa18ce..f6ffda0 100644 --- a/sales-quotation.json +++ b/sales-quotation.json @@ -124,9 +124,14 @@ "id": 9, "phase": "CREATE", "name": "[CREATE] 견적 정보 입력", - "action": "click_if_exists", - "note": "타임스탬프로 고유성 보장", - "target": "body" + "action": "fill_form", + "fields": [ + {"name": "현장명", "value": "E2E_TEST_현장_{timestamp}"}, + {"name": "담당자", "value": "E2E 담당자"}, + {"name": "연락처", "value": "010-1234-5678"}, + {"name": "비고", "value": "E2E 자동화 테스트 견적"} + ], + "note": "combobox(수주처,부가세,제품코드 등)는 fill_form 미지원" }, { "id": 10,