본문 바로가기

테스트자동화11

목적별 Appium 코드 생성에 유리한 AI 모델 GPT 에 질의해서 나온 내용이라... 정확하진 않을 수 있음. 목적 추천 AI 모델 설명Appium 코드 생성 (Python)GPT-4o (OpenAI)자연어 → 정확한 Appium 코드 변환에 가장 강력함. 멀티턴 지원, XPath 보정, 예외 핸들링까지 능숙코드 수정 및 리팩토링Claude 3 Opus코드 구조 이해력 높고, 리팩토링 시 논리적 설명까지 덧붙여줌. base_page, page object 구조화에 유리UI 설명 → 코드 생성Gemini 1.5 ProUI 구조를 설명하면 그에 맞춰 테스트 함수와 locator를 유추해 생성. Google 생태계(Gmail, Sheets 등) 연동에도 강점스크린샷 기반 OCR 분석GPT-4o VisionGemini 1.5 Pro가사/가사 싱크 등의 .. 2025. 7. 27.
Appium + AI 연동 시 가능한 작업 1. 🔁 자동화 코드 생성 및 보완 (코파일럿 용도)연동 대상활용 예시ChatGPT / Claude / Gemini- 자연어로 작성한 테스트 시나리오 → Appium Python 코드 생성- 복잡한 XPath를 자동으로 보정- 멀티 플랫폼 대응 코드 리팩토링2. 📋 테스트 시나리오 생성 자동화 (테스트 케이스 생성)AI에게 화면 정보와 기능 설명을 제공하면 TC 초안이나 경계조건 체크 시나리오를 생성할 수 있음.활용 방식예시시나리오 요약 → 코드기능명 + 화면설명 → AI가 Appium 코드로 변환예외 케이스 탐색"로그인 화면에서 가능한 엣지 케이스 알려줘" 요청 3. 🧠 화면 OCR + 자연어 인식 자동화(고급 자동화 / 실험적)Appium만으로 감지할 수 없는 텍스트 기반 동적 UI를 캡처하여 .. 2025. 7. 27.
QA 자동화 분업화 전략 2명 이상의 QA 엔지니어나 자동화 담당자가 Appium 기반 자동화 스크립트를 협업 개발할 때는, 버전 관리와 충돌 최소화 전략이 매우 중요함.✅ 기본 권장 사항항목권장 내용버전 관리 도구Git (GitHub, GitLab, Bitbucket 등)브랜치 전략기능별 브랜치 전략 (Git Flow 혹은 trunk-based)협업 방식PR 기반 머지 + 코드리뷰충돌 최소화폴더/파일 단위 분담 + 기능 단위 테스트 작성 📁 디렉토리 분담 전략 (충돌 최소화 핵심)자동화 스크립트는 파일 단위 분업이 명확하므로 충돌 방지에 유리함.예를 들어 2명의 작업자가 있을 경우:예시: 멜론 QA 자동화 프로젝트 협업담당자작업영역QA 1 (지영)tab1/, tab3/, test_tab1.py 등QA 2 (진우)tab2/, .. 2025. 7. 27.
Appium 애피움 (모바일앱 테스트 자동화) Appium vs Selenium항목 AppiumSelenium대상 플랫폼모바일 앱 (iOS, Android)웹 브라우저 (PC/Mobile)테스트 대상네이티브 앱, 하이브리드 앱, 모바일 웹웹 사이트UI 제어 방식OS별 UI자동화 프레임워크 (XCUITest, UIAutomator 등)HTML DOM 기반코드 구조WebDriver 기반 (Selenium과 유사한 구조)WebDriver 기반실행 환경모바일 디바이스, 에뮬레이터, 시뮬레이터브라우저 (Chrome, Firefox 등)즉, Appium은 Selenium의 모바일 버전이라고 보면 이해하기 쉬움.Selenium과 유사한 구조로 접근 가능하며, 비개발자라도 일정 수준의 코드 학습으로 자동화 작성 가능함.Appium 스크립트 작성 가능 언어언어지원 .. 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.
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.
반응형