로케이터 생성 도구
1인 QA로 소프트웨어 품질 관리를 하다 보니 각 테스트 계층별 필요한 기능 테스트 자동화가 필수였고 현재 담당 중인 웹 모바일 API SDK 등과 같은 프로덕트의 기능 테스트 커버리지 거의 대부분을 자동 테스트 및 탐색적 테스팅을 통해 검증 후 배포를 책임지고 있다.
지루하고 반복적인 과정을 자동화할 수는 없을까라는 생각과 함께 모든 개발이 그렇듯, 작은 불편함과 사소한 질문에서 시작되었고 npm에 webdriverIO Appium 자동화 기술 스택에서 활용 가능한 wdio-locator-scout-plugin 패키지를 배포하게 되었다.
5년 전에 로케이터 구현에 도움 되는 pylocatorconvt라는 파이썬 패키지를 만들긴 했는데 자동화 실무 경험이 계속해서 쌓이고 Selenium Appium Core 개발을 목표로 백엔드 분야를 접하고 있는 와중에 WebdriverIO + Appium 환경에 최적화된 형태로 실제 개발 프로세스에서 유용하게 활용 가능한 패키지를 또 한 번 만들게 되었다.
wdio 서비스 형태로 되어있어서 import 구문 없이도 browser.dumpLocators()처럼 편하게 사용 가능하고, 아래와 같이 해당 화면의 가장 최적화된 로케이터를 만들어준다. Score 기준은 자동화 분야에서의 Best Practice를 내 생각대로 반영한 것인데, 이것이 마음에 들지 않는다면 출력된 결과에서 입맛에 맞게 사용하면 된다. 핵심은 더 이상 Inspector를 실행하지 않아도 로케이터 설계에 필요한 UI 계층을 탐색하고 최적화된 로케이터를 WebdriverIO 문법으로 바로 활용 가능한 코드로 만들어준다는 것이다. 실제로 내가 실무에서 자동화 코드 구현 간에 활용하고 있으며 iOS 환경도 추가할 예정이다.
보다 자세한 사용법은 NPM에서 확인할 수 있다.