Python Selenium Alert창 다루기

Reading time ~1 minute

Selenium을 이용하여 기능테스트를 작성하는 중에 alert 창에 대해 테스트를 할 일이 생겼다. alert창을 테스트하기 위해서는 driver.switch_to_alert() 또는 Alert(driver) 을 이용하면 된다. selenium에서 alert 객체를 통해 alert의 text가져오기, text입력하기, 확인, 취소 등의 기능을 이용할 수 있다.


driver.switch_to_alert()

driver.switch_to_alert()을 호출하면 alert에 대한 객체를 넘겨준다.

from selenium import webdriver


driver = webdriver.Firefox()
driver.get("http://localhost:8000")

[...]

alert = driver.switch_to_alert()
  • alert text 얻기
assert "alert창" in alert.text
  • alert 확인
alert.accept()
  • alert 취소
alert.dismiss()


Alert(driver)

driver.switch_to_alert() 을 사용하는 대신 Alert를 import 해주고 Alert(driver)을 사용하는 것 외에는 동일하다.

from selenium import webdriver
from selenium.webdriver.common.alert import Alert

driver = webdriver.Firefox()
driver.get("http://localhost:8000")

[...]
  • alert text 얻기
assert "alert창" in Alert(driver).text
  • alert 확인
Alert(driver).accept()
  • alert 취소
Alert(driver).dismiss()


참고자료

Pipenv으로 Python 프로젝트 관리하기

Pipenv에 관한 글이 있어서 읽어봤는데 requirements.txt와 requirements-dev.txt 을 분리하여 사용하는 것과 패키지의 변경이 있을 때마다 매번 requirements.txt를 업데이트 해줘야한다는 번거로움에 대해...… Continue reading