본문 바로가기

전체 글1190

셀레니움에서 팝업창 제어 - 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.
셀레니움(Selenium)에서 “클릭할 요소”를 찾자 1. 크롬(혹은 Edge 등) 브라우저에서 “소스보기/개발자도구” 활용해당 페이지에서F12(개발자도구) 또는 오른쪽 클릭 → “검사” 실행원하는 버튼/링크/메뉴 위에서 우클릭 → “검사”로 해당 HTML 위치 바로 확인2. 클릭 요소의 “속성”을 확인해야 하는 주요 기준속성/특징예시 (HTML 코드)설명/셀레니움에서 활용 방법id로그인By.ID, "login-btn"class메뉴By.CLASS_NAME, "main-menu-item"nameBy.NAME, "q"텍스트(내용)My TicketBy.LINK_TEXT, "My Ticket"css selectorBy.CSS_SELECTOR, ".btn.btn-primary" 또는 속성 조합xpath모든 요소 가능 (위치, 계층, 속성 등)By.XPATH, "//.. 2025. 7. 24.
pytest plug-ins https://docs.pytest.org/en/stable/reference/plugin_list.html# 이름 요약 설명 (한글 번역)pytest-covcoverage.py 기반의 코드 커버리지 리포트를 pytest와 통합pytest-xdist테스트를 CPU나 원격 호스트에 분산 실행, 세그멘테이션 결함 생존 모드, 변경 시 반복 실행 지원pytest-instafail테스트 실패 시 즉시 실패 내용을 출력, 모든 테스트 완료 후 출력되는 기본 방식 대체. 디버깅 편의성 향상pytest-bddBDD(행동 주도 개발) 방식의 테스트 작성 지원, Gherkin 문법 활용pytest-timeout함수 단위 또는 전역 설정 기반으로 테스트 시간 제한을 지정 → 오래 걸리는 테스트를 자동으로 실패 처리하.. 2025. 7. 20.
멀티 브라우저/멀티 환경 파라미터라이즈(Parametrize) 구분 실무 Best Practice 테스트 로직함수/클래스화, 코드 재사용테스트 “동작”은 함수나 메서드로 한 번만 작성브라우저 종류, 환경(모바일/PC/해상도/언어 등)은 파라미터만 바꿔서 반복 실행실행 환경파라미터/설정/환경변수 등 분리브라우저, 해상도, User-Agent, 언어, URL 등 환경은따로 config.json, .env, YAML, 인수/환경변수 등으로 분리 관리환경만 바꿔서 계속 반복/확장여러 브라우저파라미터/반복문/데코레이터로 반복pytest.mark.parametrize 데코레이터 사용각 환경별로 자동 반복, 결과도 자동 집계(ex: pytest, unittest, Robot Framework, Playwright 등)리포트/로그프레임워크/CI에서 자동 집계/리포트 실행 자동.. 2025. 7. 20.
pytest 입문 로드맵 로드맵 표단계주제예시/설명1파이썬 기초변수, 함수, 조건문 등2pytest 설치/기본테스트pip install, 첫 테스트 실행3다양한 테스트 케이스 작성assert, test_ 네이밍4파라미터화@pytest.mark.parametrize5setup/teardown(피처)@pytest.fixture6예외상황 테스트pytest.raises7Selenium 등 자동화 연동웹 테스트 실습8리포트, 병렬 실행 등 플러그인pytest-html, xdist9실전 프로젝트/실무적용시나리오 작성, Git 연동 1단계. 파이썬 기초 익히기변수, 자료형, if/for/while, 함수, 클래스 기본 익힘추천 검색어: 파이썬 기초, 파이썬 예제2단계. pytest 설치 & 첫 테스트 실행설치pip install pytest.. 2025. 7. 20.
TestNG vs pytest 기능 차이 TestNG(Java 기반)와 pytest(Python 기반)는 각각의 언어 생태계에서 가장 널리 쓰이는 테스트 프레임워크임.둘 다 자동화/단위테스트/통합테스트에 모두 활용 가능하지만, 기능상 차이와 특징이 존재 항목 TestNG (Java) pytest (Python) 지원 언어JavaPython어노테이션다양한 어노테이션 제공 (@Test, @Before*, 등)데코레이터 방식 사용 (@pytest.fixture, @pytest.mark.* 등)테스트 그룹화groups 속성으로 다양한 테스트 그룹 지정 가능@pytest.mark.로 테스트 분류 및 선택 실행의존성/순서테스트간 의존성, 실행순서 지정 (dependsOnMethods, priority)기본적으로 독립 실행, 순서 지정은 플러그인 필요.. 2025. 7. 20.
반응형