본문으로 건너뛰기
SDETRole
SDETRole

테스트 설계·개발 유틸리티

테스트용 GitHub Actions 워크플로 생성기

Playwright, Cypress, Selenium, pytest용 CI 워크플로를 만듭니다.

브라우저에서만 실행됩니다 회원가입 불필요

Builds a workflow file for .github/workflows/. Review it before committing.

Options

Triggers

Comma-separated. Leave empty for all branches.

Leave empty for no schedule. GitHub may delay scheduled runs at busy times.

Browsers

Installs these browsers and passes --project=<name>; the names must match projects in playwright.config.ts.

Above 1 splits tests across parallel jobs and merges the reports.

Extras

.github/workflows/playwright.yml

Before you commit

Uses actions/checkout@v4, setup-node@v4 / setup-java@v4 / setup-python@v5, cache@v4 and upload-artifact@v4. Check commands such as npm ci or pip install -r requirements.txt match your repository, and add secrets with ${{ secrets.NAME }} rather than hard-coding them.

도구 소개

대부분의 테스트 스위트에는 같은 CI 골격이 필요합니다. 코드를 체크아웃하고, 런타임을 설치하고, 의존성과 브라우저를 설치하고, 테스트를 실행한 뒤 실패하면 리포트를 보관하는 것입니다. 이 생성기는 Playwright(TypeScript), Cypress, Java·Maven 기반 Selenium, pytest용 워크플로를 공식 액션의 최신 메이저 버전(checkout@v4, setup-node@v4, setup-java@v4, setup-python@v5, cache@v4, upload-artifact@v4)으로 작성합니다. Playwright의 경우 --shard=i/n으로 스위트를 병렬 잡에 나눠 실행한 뒤, Playwright 공식 문서의 패턴에 따라 blob 리포트를 하나의 HTML 리포트로 병합할 수 있습니다. 예약 실행은 GitHub Actions의 요구대로 UTC 기준 5필드 cron을 사용합니다.

사용 방법

  1. 프레임워크와 런타임 버전을 고르고 트리거를 선택합니다: push, pull_request, cron 스케줄, 수동 workflow_dispatch.
  2. 브라우저를 선택하고, Playwright라면 샤드 수를 정합니다. 특별한 이유가 없다면 캐싱과 리포트 업로드는 켜 두세요.
  3. YAML을 복사하거나 다운로드해 저장소의 .github/workflows/ 아래에 저장하고, npm ci나 pip install -r requirements.txt 같은 명령어가 프로젝트와 맞는지 확인합니다.

테스트용 GitHub Actions 워크플로 생성기 자주 묻는 질문

스케줄이 예상과 다른 시간에 실행되는 이유는 무엇인가요?

GitHub Actions는 cron을 UTC 기준으로 평가하므로 현지 시간대에서 변환해야 합니다. 사용량이 많은 시간에는 예약 실행이 늦게 시작될 수 있으며, 공개 저장소에서는 저장소 활동이 60일간 없으면 예약 워크플로가 자동으로 비활성화됩니다.

여기서 Playwright 샤딩은 어떻게 동작하나요?

매트릭스가 샤드마다 잡을 하나씩 시작하고, 각 잡은 blob 리포터로 npx playwright test --shard=i/n을 실행합니다. 후속 잡이 모든 blob 리포트를 다운로드하고 npx playwright merge-reports를 실행해 하나의 HTML 리포트 아티팩트를 만듭니다.

브라우저마다 --project 플래그가 붙는 이유는 무엇인가요?

Playwright는 playwright.config.ts에 정의된 프로젝트로 브라우저를 선택합니다. 생성된 명령어는 선택한 브라우저마다 --project=<name>을 전달하므로 해당 프로젝트 이름이 설정 파일에 있어야 합니다. 모든 프로젝트를 실행하려면 이 플래그를 제거하세요.

테스트 사용자 비밀번호 같은 자격 증명은 어디에 두나요?

저장소 또는 환경 시크릿으로 저장하고 env 블록에서 ${{ secrets.NAME }}으로 참조하세요. 워크플로 파일에 직접 커밋해서는 안 됩니다.

SDETRole 전체에서 검색할 내용을 입력하세요.

Pagefind 전문 검색 · 브라우저에서 실행됩니다 검색 페이지 열기 →