Compare commits

..

2 Commits

Author SHA1 Message Date
Misaka_Company
fa33bee3e1 refactor: update test_login.py to use new auth API
- Import only login and logout (remove close_session)
- Add explicit URL construction before login call
- Pass all required parameters to login()
- Replace close_session() with direct context.close() and browser.close()

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 12:45:56 +08:00
Misaka_Company
acc4664409 refactor: remove close_session() function
- Remove close_session() wrapper function entirely
- Callers now directly manage browser/context lifecycle
- Reduces module to pure authentication functions only

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 12:45:04 +08:00
2 changed files with 11 additions and 20 deletions

View File

@@ -10,7 +10,7 @@ PROJECT_ROOT = Path(__file__).resolve().parent.parent
sys.path.insert(0, str(PROJECT_ROOT))
from playwright.sync_api import sync_playwright
from utils.auth import login, logout, close_session
from utils.auth import login, logout
import os
# Load environment variables
@@ -31,11 +31,19 @@ print(f" Username: {os.getenv('ERP_USERNAME')}")
print(f" Headless: {os.getenv('ERP_HEADLESS')}")
print(f" Ignore HTTPS Errors: {os.getenv('ERP_IGNORE_HTTPS_ERRORS')}")
# Construct complete login URL
url = f"{os.getenv('ERP_URL').rstrip('/')}/yonbip/resources/uap/rbac/login/main/index.html"
try:
with sync_playwright() as p:
print("\n[1/5] Starting browser...")
browser, context, page, main_frame = login(
playwright=p,
username=os.getenv('ERP_USERNAME'),
password=os.getenv('ERP_PASSWORD'),
url=url,
headless=os.getenv('ERP_HEADLESS', 'false').lower() in ('true', '1', 'yes'),
ignore_https_errors=os.getenv('ERP_IGNORE_HTTPS_ERRORS', 'true').lower() in ('true', '1', 'yes'),
verbose=True
)
@@ -66,7 +74,8 @@ try:
# Close browser
print("\n[CLEANUP] Closing browser session...")
close_session(browser, context)
context.close()
browser.close()
except Exception as e:
print(f"\n[ERROR] Login/logout test failed!")

View File

@@ -124,21 +124,3 @@ def logout(main_frame: Frame, verbose: bool = True) -> None:
print("Confirmation dialog not found, may have auto-logged out")
time.sleep(2) # Wait for logout to complete
def close_session(browser: Browser, context: BrowserContext) -> None:
"""
Close browser session
Args:
browser: Browser instance
context: Browser context
"""
# Check if auto-close browser is enabled
auto_close = os.getenv("ERP_AUTO_CLOSE_BROWSER", "true").lower() in ("true", "1", "yes")
if auto_close:
context.close()
browser.close()
else:
print("Note: Browser not auto-closed (ERP_AUTO_CLOSE_BROWSER=false)")