grep

Engineering

데이터 자동 생성으로 생산성 향상 : Playwright로 3분 걸리던 계약 생성을 30초로!

Scarlet여기어때

2025년 9월 3일

원문에서 보기 ↗

안녕하세요 여기어때컴퍼니 QA2팀 스칼렛입니다.

오늘은 제가 Playwright를 활용하여 검증 과정에서 겪었던 비효율을 해소하고, 생산성을 극대화했던 경험을 공유하고자 합니다. 특히, 반복적인 수동 작업에 지쳐있던 분들이라면 이 글이 도움이 될 것이라고 생각합니다.

기능 구현의 배경: ‘입점 계약’ 도입과 번거로움

제가 참여했던 프로젝트는 파트너의 입점 계약 절차를 개선하는 내용이었습니다.

기존에는 ‘내부 관리자 도구의 제휴점 정보’에서 직접 입력할 수 있었지만, 이제는 ‘입점 계약 플랫폼’을 통해서만 입력이 가능 해졌습니다. 이 ‘입점 계약’은 수동으로 생성하거나, 이싸인온(eSignon, 전자계약)을 통해서만 생성할 수 있는데요.

문제는 검증을 위해 필요한 계약 데이터를 수동으로 생성하는 데 있었습니다.

숙소 카테고리 별로 계약 서식도 다르고 계약 내 입력 할 항목들도 많아 계약 한 건을 만드는 데 약 2~3분 정도가 소요되었고, 이는 단순 반복 작업의 연속이었습니다.

이번에는 혼자서 프로젝트를 진행하여 제한된 시간을 효율적으로 활용하는 것이 매우 중요했기 때문에, 이러한 단순 작업을 줄이고 핵심적인 검증 작업에 더 집중하기 위해 데이터 자동 생성에 대해서 고려하게 되었습니다.

왜 Playwright를 통한 자동화였나?

Playwright는 웹 테스트 자동화 도구로 널리 알려져 있지만, 저는 데이터 자동 생성이라는 목표를 위해 이 도구를 선택했습니다. 테스트 자동화와 데이터 생성이라는 목적은 다르지만, Playwright의 강력한 기능들은 데이터 생성 작업에 특히 유용합니다. 제가 Playwright를 선택하게 된 이유는 다음과 같습니다.

웹 테스트 자동화 도구인 Selenium 과의 비교

Playwright 이전에는 웹 테스트 자동화 툴로 Selenium을 많이 사용했었는데요.

표로 비교해보았습니다.

→ 저는 테스트 자동화툴과 익숙하지 않았기때문에 초보자가 접근하기 쉬워야했고 codegen 기능을 통한 UI 레코딩 및 코드 생성과 빠른 실행 속도, 높은 안정성이 중요하다고 생각하여 Playwright를 선택하게 되었습니다.

Playwright, 어떻게 활용했나?

저는 Playwright의 UI 레코딩 및 코드 생성 기능 을 활용하여 데이터를 자동으로 생성하기 위한 자동화 기본 틀을 만들었습니다. 하지만 여기서 멈추지 않고, 생성된 코드에 직접 로직을 추가하여 제가 원하는 대로 동작하는 시스템을 구축했습니다.

구체적인 자동화 흐름은 다음과 같았습니다.

특히, 이 단계에서는 숙소 카테고리 및 계약 유형에 따라 입력해야 하는 값이 달라지는 조건들을 모두 고려하여 설계했습니다.

예를 들면 호텔의 경우는 정산주기를 선택할 수 있지만 모텔의 경우는 선택할 수 없기때문에 처음에 호텔을 선택했다면 정산주기를 입력받고 모텔을 선택했다면 정산주기 입력은 받지 않습니다.

또한 계약서 항목 내 검증에 영향을 끼치지 않는 항목의 경우는 고정값을 입력하여 입력받는 시간을 줄였습니다.

덕분에 제가 원하는 계약 정보를 입력하면, 이 정보에 맞춰 자동으로 계약이 생성되었습니다.

Playwright 자동화로 얻게 된 효과

Playwright를 통한 계약 생성 자동화는 다음과 같은 긍정적인 효과를 가져왔습니다.

앞으로의 고민과 방향

물론, 구축한 데이터 자동 생성 기능이 항상 완벽하게 동작하는 것은 아닙니다. 현재 Playwright 기반 UI 자동화 과정에서 요소 선택의 불안정성이 간혹 발생하여 (약 10번 중 1~2회) 추가적인 개선이 필요합니다.

또한, 단일 데이터 생성을 넘어 동시에 여러 데이터 생성할 수 있는 방안을 모색하여 더욱 효율적이고 빠른 데이터 생성을 목표로 하고자 합니다.

궁극적으로는 이러한 경험을 바탕으로 데이터 자동 생성 코드를 지속적으로 고도화하여, 더욱 견고하고 효율적인 검증 환경을 구축하는 것이 저의 목표입니다. 이는 단순 반복 업무를 넘어, QA가 본연의 역할인 검증에 보다 더 집중할 수 있도록 돕는 중요한 역할을 할 것입니다.

마무리하며

Playwright를 활용한 데이터 자동 생성 기능은 저에게 단순한 시간 절약 그 이상이었습니다. 반복적인 업무에서 벗어나 생산성을 높이고, 더 중요한 업무에 집중할 수 있도록 도와주었습니다.

계약 데이터 자동 생성을 시작으로 제휴점 생성, 예약 데이터 생성 등 반복적인 수동작업이 필요한 영역에도 작업을 진행했으며 이를 활용하여 업무에 도입 할 예정입니다.

여러분도 혹시 반복적인 수동 작업에 지쳐있다면, Playwright와 같은 웹 테스트 자동화 도구를 적극적으로 활용해보시는 것을 추천드립니다.