brunch

You can make anything
by writing

C.S.Lewis

by 이지원 Nov 05. 2022

Selenium 4.6.0 Released!

Selenium Manager


2022년 11월 4일 금요일 Selenium 4.6.0 버전이 출시되었습니다. 프로젝트에 영향을 끼칠만한 큰 변경 사항은 없어 보이지만 개인적으로 기다리고 기다렸던 내장 기능이 추가되어 블로깅을 하게 되었네요. 


드디어 Selenium Manager가 내장 기능으로 초기 버전이 구현되었습니다. 4.6.0 이상부터는 크롬, 엣지, 파이어폭스와 같은 드라이버 릴리즈 주기에 맞춰 수동으로 다운로드하여 관리할 이슈가 사라졌습니다. 


브라우저 드라이버 관리가 어렵다기 보단 귀찮고 번거로운 작업에 속했는데요. 릴리즈 주기에 맞춰 최신 버전의 드라이버를 다운로드하여 드라이버 버전과 브라우저 버전을 동기화토록 유지하는 작업이 필요하기에 꽤나 귀찮고 번거로웠습니다.(참고로 JavaScript와 TypeScript를 사용하는 E2E 웹 모바일 프레임워크인 WebdriverIO는 드라이버를 자체적으로 관리하기 때문에 드라이버 관리에 신경 쓰지 않아도 됩니다.)


https://bonigarcia.dev/webdrivermanager/

https://pypi.org/project/webdriver-manager/

물론 위와 같은 이슈로 인해 Selenium 생태계에서 Java는 WebDrvierManager, Python에서는 webdriver-manager와 같은 타사 라이브러리가 있긴 하지만, 4.6.0부터는 Selenium에서 자체적으로 지원하는 기능으로 변경됨에 따라 Selenium에서 드라이버 관련된 사용성을 직접 개선하겠다는 의지로 생각되어 Selenium 버전업 시에도 타사 라이브러리에 비해 좀 더 안정성 있게 다양한 테스트를 거쳐 출시되지 않을까 생각해봅니다.


4.6.0에 포함된 Selenium Manager가 정확히 어떤 기능인지 살펴보겠습니다.



Selenium 4.6.0 미만 버전

Selenium 4.5.3 버전으로 브라우저 드라이버 관련된 어떠한 설정도 하지 않은 채 실행할 경우 위와 같이 The path to the driver executable The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https://chromedriver.chromium.org/. The latest version can be downloaded from https://chromedriver.chromium.org/downloads 에러가 발생합니다. 또한 버전 동기화를 릴리즈 주기에 맞춰 수동으로 시켜줘야 했었습니다. 


Selenium 4.6.0 이상 버전

Starting ChromeDriver 107.0.5304.62 (1eec40d3a5764881c92085aaee66d25075c159aa-refs/branch-heads/5304@{#942}) on port 18716 Selenium 4.6.0 이상 버전에서는 Selenium Manager가 자체적으로 구현되었기 때문에 드라이버 관련 어떠한 설정을 하지 않았음에도 불구하고 브라우저 실행이 정상적으로 진행된 모습입니다. 


이상으로 Selenium 4.6.0 Released에 대한 블로깅을 마치겠습니다. 아직 초기 버전이다 보니 자동화 프로젝트 진행 시 버그가 발견될 수도 있겠지만 버그가 발견될 경우 Selenium 팀에서 개선할 수 있도록 현상을 정리해서 리포팅해보는 건 어떨까요? 


감사합니다.

매거진의 이전글 QA 비전 있나요?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari