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()