From 20844394822267fa4b9e88ee1489482bc057822f Mon Sep 17 00:00:00 2001 From: kimbokon Date: Sun, 8 Mar 2026 01:35:39 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20login=20=EC=8B=9C=EB=82=98=EB=A6=AC?= =?UTF-8?q?=EC=98=A4=20-=20=EC=BF=A0=ED=82=A4/=EC=8A=A4=ED=86=A0=EB=A6=AC?= =?UTF-8?q?=EC=A7=80=20=ED=81=B4=EB=A6=AC=EC=96=B4=20=ED=9B=84=20=EB=A1=9C?= =?UTF-8?q?=EA=B7=B8=EC=9D=B8=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=9D=B4?= =?UTF-8?q?=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 로그아웃 클릭 대신 세션 직접 클리어 방식으로 변경 (로그아웃 비동기 리다이렉트 문제 해결) Co-Authored-By: Claude Opus 4.6 --- login.json | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/login.json b/login.json index 05f84b9..c552d5c 100644 --- a/login.json +++ b/login.json @@ -16,29 +16,27 @@ "steps": [ { "id": 1, - "name": "프로필 메뉴 열기 (로그아웃 준비)", + "name": "세션 클리어 (로그아웃 효과)", "action": "evaluate", - "script": "(() => { const btns = Array.from(document.querySelectorAll('button')); const profileBtn = btns.find(b => b.innerText?.includes('홍킬동') || b.querySelector('[class*=\"avatar\"], [class*=\"Avatar\"], img[alt]')); if (profileBtn) { profileBtn.click(); return 'Profile menu clicked'; } const headerBtns = document.querySelectorAll('header button, nav button, [class*=\"header\"] button'); for (const b of headerBtns) { if (b.querySelector('img') || b.querySelector('[class*=\"avatar\"]')) { b.click(); return 'Avatar button clicked'; } } return 'Profile button not found'; })()" + "script": "(async () => { document.cookie.split(';').forEach(c => { document.cookie = c.trim().split('=')[0] + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/'; }); try { localStorage.clear(); } catch(e) {} try { sessionStorage.clear(); } catch(e) {} return 'Session cleared'; })()" }, { "id": 2, - "name": "로그아웃 클릭", - "action": "click", - "target": "로그아웃" + "name": "로그인 페이지 이동", + "action": "navigate", + "target": "/ko/login" }, { "id": 3, "name": "로그인 페이지 도착 대기", "action": "wait", - "timeout": 3000 + "timeout": 2000 }, { "id": 4, - "name": "로그인 페이지 확인", - "action": "verify_url", - "expected": { - "url_contains": "/ko/login" - } + "name": "로그인 폼 존재 확인", + "action": "evaluate", + "script": "(() => { const uid = document.querySelector('#userId'); const pwd = document.querySelector('#password'); const submit = document.querySelector('button[type=\"submit\"]'); if (uid && pwd && submit) return 'Login form ready'; return 'Form not found - inputs: ' + document.querySelectorAll('input').length; })()" }, { "id": 5,