webdriver 초기 언어 설정

Seunghoon Yoo·2024년 3월 27일
post-thumbnail

개요

  • 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 = 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)
  • 추후 다국어를 제공하는 서비스에서도 유용하게 사용할 수 있을 것으로 예상
profile
QA Engineer

0개의 댓글