본문 바로가기

Web.IT.Mobile/QA 자동화22

셀레니움(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.
셀레니움 모바일환경 테스트 방법 1. 셀레니움 "모바일 환경"에서 테스트하는 2가지 대표 방법① 데스크톱 브라우저에서 User-Agent와 창 크기를 모바일로 변경가장 쉽고 많이 쓰는 방식크롬 브라우저의 모바일 디바이스 에뮬레이션(User-Agent/윈도우 사이즈/터치 등) 기능 활용예제 코드:from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionschrome_options = Options()chrome_options.add_argument("--window-size=390,844") # 아이폰14 Pro 크기chrome_options.add_argument("--user-agent=Mozilla/5.0 (iPhone; CPU iPhone .. 2025. 7. 19.
셀레니움으로 구현 가능한/불가능한 동작 1. 셀레니움으로 구현 가능한 동작 (주요 예시) 구분 예시 설명 페이지 이동driver.get(url), 링크/버튼 클릭 후 이동클릭/입력버튼/링크/탭 클릭, input/txtbox/tel 입력, radio/checkbox 선택마우스 동작클릭, 더블클릭, 마우스 오버(hover), 드래그앤드롭(Drag & Drop)키보드 입력키 입력(send_keys), 단축키, Enter, Ctrl 등 조합텍스트 추출element.text, attribute, innerHTML 등스타일 확인CSS 속성(value_of_css_property), 색상/폰트/크기 등화면 캡처driver.save_screenshot("file.png")창/탭 제어새창/새탭 열기, 전환, 닫기, 팝업 핸들링Alert 처리자바스크립트 al.. 2025. 7. 19.
반응형