VX公众Hao:阳哥整理软件测试笔记
在自动化测试中,常见的弹窗有警告框(alert)、确认框(confirm)和提示框(prompt)。以Selenium为例,处理方式如下:
处理警告框(Alert)
1. 首先使用driver.switch_to.alert切换到警告框。
2. 可以使用accept方法来接受警告框(相当于点击“确定”按钮),示例代码如下:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.example-url-with-alert.com")
# 触发警告框
button = driver.find_element("id", "alert-button")
button.click()
alert = driver.switch_to.alert
alert.accept()
3. 如果要获取警告框中的文本内容,可以使用text属性,如alert_text = alert.text。
处理确认框(Confirm)
1. 同样先切换到确认框(driver.switch_to.alert)。
2. 可以用accept方法接受(点击“是”)或者dismiss方法取消(点击“否”),代码示例如下:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.example-url-with-confirm.com")
# 触发确认框
button = driver.find_element("id", "confirm-button")
button.click()
confirm = driver.switch_to.alert
confirm.dismiss() # 这里如果改成accept就是点击“是”
处理提示框(Prompt)
1. 切换到提示框后(driver.switch_to.alert)。
2. 除了可以使用accept和dismiss方法外,还可以使用send_keys方法向提示框中输入文本,示例如下:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.example-url-with-prompt.com")
# 触发提示框
button = driver.find_element("id", "prompt-button")
button.click()
prompt = driver.switch_to.alert
prompt.send_keys("输入的文本内容")
prompt.accept()