Playwright MCP 서버와 DeepSeek R1을 활용한 테스트 자동화
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
QA 엔지니어, DevOps 전문가, AI 테스트 자동화 개발자
난이도: 중간(Playwright 및 AI 모델 사용 경험 필요)
핵심 요약
- Playwright MCP 서버와 DeepSeek R1을 결합해 자동화 테스트 코드 생성 가능
- 생성된 테스트 코드는 CRUD 연동 테스트 구조로 구성 (예:
test.describe('Article CRUD Operations', () => { ... })
) - 제한점: 확장성 부족, 추상화 레이어 미비, 대규모 테스트 스위트에 비효율적
섹션별 세부 요약
1. DeepSeek R1 모델 활용 설정
Create a test case utilizing provided constants for navigating to the web app, login, create/edit/delete an article
프롬프트 실행- 사용자 인증 및 아티클 CRUD 연동 테스트 시나리오 생성
page.getByRole('button', { name: 'Publish Article' })
와 같은 Playwright API 활용
2. 생성된 테스트 코드 구조
test.describe
블록 내 beforeEach 헬퍼 함수로 로그인 동작 공유- CRUD 테스트 흐름:
- Create: fill(TEST_ARTICLE.title)
→ click('Publish Article')
- Edit: fill(TEST_ARTICLE.updatedTitle)
→ click('Publish Article')
- Delete: click('Delete Article')
→ not.toBeVisible()
검증
- 테스트 대상 요소:
getByRole('heading')
,getByText()
등 Playwright의 selector API
3. 제한점 및 개선 방향
- 직접적인 DOM 조작으로 인한 추상화 레이어 부족
- 동일한 로직 반복 (예:
Publish Article
버튼 클릭) - 확장성 한계: 대규모 테스트 스위트에 비효율적
결론
- Playwright MCP + LLM 활용 시 테스트 POC 구축에 유리하지만, 추상화 레이어 추가와 테스트 템플릿화를 통해 확장성 개선 필요
- 다음 단계로 Claude 4 Opus/Sonnet 모델과의 비교 실험 예정
- 테스트 코드 생성 시
Publish Article
대신Update Article
버튼 이름을 명시하는 등 LLM의 정확한 프롬프트 작성이 핵심