개요
- Selenium 테스트 자동화 스크립트 설계 중, 다국어 환경 개발
- 이에 따라 자동화 스크립트도 다국어 환경을 테스트할 수 있도록 유연하게 대처할 수 있도록 고민
- 기존 webdriver 실행 함수에 별도의 언어 분기처리 로직 추가한 사례
options 객체 활용
- selenium을 사용하다 보면, option 객체를 사용하게 됨
- options객체는 브라우저의 동작을 세부적으로 제어할 수 있는 기능을 제공함
- 따라서 테스트 시작 전 브라우저 언어 세팅 로직을 추가할 수 있었음
Source code
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
current_account = config.ID
def language_branching():
global current_account
options = Options()
if current_account == "test_kr@test.com":
options.add_experimental_option(
'prefs', {'intl.accept_languages': 'ko,ko_KR'}
)
elif current_account == "test_en@test.com":
options.add_experimental_option(
'prefs', {'intl.accept_languages': 'en,en_US'}
)
return options
def local_webdriver():
options = language_branching()
service = Service()
driver = webdriver.Chrome(service=service, options=options)
return driver
driver = local_webdriver(current_account)
- 추후 다국어를 제공하는 서비스에서도 유용하게 사용할 수 있을 것으로 예상