#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 간단한 프론트엔드 확인 """ from playwright.sync_api import sync_playwright import time def test_purchase_display(): with sync_playwright() as p: browser = p.chromium.launch(headless=True) page = browser.new_page() print("페이지 로드 중...") page.goto("http://localhost:5001", wait_until="networkidle") # 입고 관리 화면으로 직접 이동 print("\n입고 관리 화면 확인...") page.goto("http://localhost:5001/#purchase", wait_until="networkidle") time.sleep(2) # JavaScript 렌더링 대기 # API 데이터와 실제 렌더링 비교 print("\n=== API 데이터 vs 화면 렌더링 확인 ===") # API 응답 확인 api_data = page.evaluate(""" fetch('/api/purchase-receipts') .then(response => response.json()) .then(data => data) """) time.sleep(1) # 테이블 확인 table_html = page.evaluate("document.querySelector('#purchaseReceiptsList').innerHTML") print(f"\nAPI 응답 총금액: {api_data.get('data', [{}])[0].get('total_amount', 0)}") # 화면에 표시된 총금액 찾기 try: total_amount_cell = page.query_selector('.fw-bold.text-primary') if total_amount_cell: print(f"화면 표시 총금액: {total_amount_cell.text_content()}") else: print("총금액 셀을 찾을 수 없습니다.") except: pass # 테이블 전체 내용 print("\n테이블 HTML (처음 200자):") print(table_html[:200] if table_html else "테이블이 비어있음") # 스크린샷 page.screenshot(path="/root/kdrug/purchase_test.png") print("\n스크린샷 저장: /root/kdrug/purchase_test.png") browser.close() if __name__ == "__main__": test_purchase_display()