본문 바로가기

Web.IT.Mobile/QA 자동화22

Gradio “파이썬 함수만 있으면 클릭 한 번에 웹앱/AI 데모 서비스로 변신!”주요 특징웹 UI: 파이썬 함수만 작성하면 바로 웹 페이지 인터페이스 생성입력/출력 타입 다양: 텍스트, 이미지, 음성, 비디오, 파일 등 거의 모든 타입 지원빠른 배포: gr.Interface(...)만 선언하면 바로 웹서버로 실행오픈소스: 무료, MIT 라이선스AI/머신러닝/LLM 데모: 챗봇, 이미지 생성, 번역, QA 등 데모에 최적 실행 예시1. 간단한 챗봇 데모코드 실행하면, 웹 브라우저에서 “텍스트 입력 → 답변 출력” UI 자동 생성import gradio as grdef chatbot(message): return f"사용자가 입력한 내용: {message}"gr.Interface(fn=chatbot, inputs.. 2025. 7. 27.
Streamlit vs Gradio 항목 Streamlit Gradio주 활용데이터 대시보드, 실시간 리포트AI/챗봇/모델 데모, 인풋-아웃풋사용 난이도쉬움 (조금 더 폭넓은 UI 지원)매우 쉬움 (함수 하나로 끝)배포/공유간편 (공유, 배포 쉬움)super 간편(링크 즉시 공유)확장성더 다양한 대시보드/웹앱 설계AI/ML 모델 데모에 최적화실무팁빠른 AI/모델/챗봇 데모, 프로토타입, 고객 체험용 UI에 Gradio가 압도적으로 많이 쓰임여러 입력/출력 타입(이미지, 파일, 오디오 등)이 자동 렌더링별도 프론트엔드 개발자 없이도 파이썬만으로 충분AI 자동화, LLM 기반 서비스,파일→TC→자동화 코드 생성 데모도 Gradio로 30분만에 구현 가능! 2025. 7. 27.
Playwright와 AI API 연동 Playwright는 “웹 자동화” 역할,OpenAI, Claude 등 AI는 “API 호출/분석/자연어 처리” 역할파이썬 코드(Playwright 테스트)에서AI API를 불러와 결과를 받거나,테스트 로그/스크린샷/텍스트/버그 등 “AI에게 자동 분석/요약/코멘트 요청”이 가능 1. 테스트 중 AI API 호출 (OpenAI 예시)from playwright.sync_api import sync_playwrightimport openaiimport osopenai.api_key = os.getenv("OPENAI_API_KEY") # .env 사용def get_ai_feedback(message): response = openai.ChatCompletion.create( model=.. 2025. 7. 27.
Playwright 테스트 결과 리포트 1. Playwright 내장 HTML 리포트playwright test(커맨드/파이썬, JS/TS) 실행 시 자동으로 HTML 리포트 생성 지원 (파이썬도 동일)리포트 파일 보기report.html 파일을 웹 브라우저에서 열면테스트별 통과/실패, 로그, 스크린샷, 실행시간, 요약 그래프 등 보기 좋게 시각화생성/확인 방법pytest --html=report.html# 또는 (nodejs 기반 Playwright라면)npx playwright test --reporter=html2. Allure 리포트 (추천)Allure는 가장 많이 쓰는 오픈소스 테스트 리포트 툴Playwright, Selenium, API 테스트 등 모든 자동화에서 호환실행 결과를 HTML/그래프/테스트별 스크린샷/로그/첨부파일로 생.. 2025. 7. 27.
Playwright vs Selenium Playwright 이 Selenium 보다 더 나은 주요 이유 항목 Playwright Selenium 최신 웹 호환성SPA, 반응형, 최신 프론트엔드 대응이 뛰어남일부 최신 UI 대응 어려움지원 브라우저크롬/파폭/웹킷(사파리)/엣지 등 모두크롬/엣지/파폭/사파리실행 속도빠름 (auto-wait 내장, 멀티 브라우저 기본 병렬화)상대적으로 느림, wait 직접 조절 필요안정성flaky test(랜덤 실패) 현상 적음, 자동대기wait 명시적 추가 필요, flaky 가능성API 구조Modern(체이닝, Promise), 간단함전통적인 WebDriver 방식멀티브라우저크롬, 파폭, 엣지, 웹킷(사파리) 완벽 지원사파리는 맥에서만 부분 지원 병렬/분산 기본 지원, 매우 쉽고 빠름xdist 등 외부 플.. 2025. 7. 27.
셀레니움에서 팝업창 제어 - 2가지 1. 자바스크립트 Alert/Confirm/Prompt(경고/확인/입력) 팝업브라우저의 내장 팝업 (예: alert("메시지"); confirm("확인?"); prompt("입력하세요"))셀레니움의 switch_to.alert로 제어from selenium import webdriverfrom selenium.webdriver.common.by import Byimport timedriver = webdriver.Chrome()driver.get("https://testpage.com")# 팝업 뜨는 액션(예: 버튼 클릭)driver.find_element(By.ID, "btn_alert").click()time.sleep(1) # 팝업 대기# alert 제어alert = driver.switch_to.. 2025. 7. 24.
여러 케이스를 수행시키고 싶을 때의 방법들 사이트에 로그인을 한 뒤, 그 이후 동작을 확인하는 케이스를 분리하고 싶을 때 방법 1: 메인 실행 파일 생성 (권장)main.py 파일을 만들어서 다른 모듈들을 순차적으로 실행:방법 2: 함수 기반 모듈화 (더 효율적)각 파일을 함수로 만들어서 import하여 사용:signin.py 생성 : 로그인 동작 체크 post_login_check.py 생성: 로그인 후 기능을 체크 main.py 생성: 전체 테스트 시나리오 실행방법 3: 배치 스크립트 사용 (macOS/Linux)run_tests.sh 생성:실행 권한 부여 후 실행:권장사항방법 2 (함수 기반 모듈화)를 추천합니다:브라우저 인스턴스를 재사용할 수 있어 효율적디버깅이 쉬움코드 재사용성이 높음각 모듈을 독립적으로 테스트 가능이 방식으로 구성하면 .. 2025. 7. 24.
반응형