1、Alert类对弹出框的处理,主要是对alert警告框,Confirm确认框,prompt消息对话框,它里面的方法为:
text():获取alert的文本
dismiss():点击取消
sccept():接受
send_keys():输入
2、弹出警告框(alert)
from selenium import webdriver from selenium.webdriver.common.alert import Alert import time as t driver=webdriver.Chrome() driver.maximize_window() driver.get(\'http://localhost:63342/untitled/UI%E8%87%AA%E5%8A%A8%E5%8C%96/alert.html\') #获取alert警告框的文本信息 print(\'获取alert的文本信息:\',driver.switch_to.alert.text) t.sleep(3) #点击确定的按钮 driver.switch_to.alert.accept() t.sleep(3) driver.quit()
3、确认、取消框实战
HTML代码
<html>
<head>
<script type="text/javascript">
function disp_confirm()
{
var r=confirm("Press a button")
if (r==true)
{
document.write("You pressed OK!")
}
else
{
document.write("You pressed Cancel!")
}
}
</script>
</head>
<body>
<input type="button" onclick="disp_confirm()"
value="Display a confirm box" />
</body>
</html>
执行代码:
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
import time as t
"""确认框""" driver=webdriver.Chrome() driver.maximize_window() driver.get(\'file:///C:/Users/Administrator.lwp-PC/Desktop/alert%E5%BC%B9%E5%87%BA%E7%A1%AE%E8%AE%A4%E6%A1%86%E6%93%8D%E4%BD%9C.html\') # #点击按钮 driver.find_element_by_xpath(\'/html/body/input\').click() # #点击确认按钮 driver.switch_to.alert.accept() t.sleep(5) driver.refresh() t.sleep(3) driver.find_element_by_xpath(\'/html/body/input\').click() #点击取消按钮 driver.switch_to.alert.dismiss() t.sleep(3) driver.quit()
4、输入框实战
HTML代码
<html>
<head>
<script type="text/javascript">
function disp_prompt()
{
var name=prompt("Please enter your name","")
if (name!=null && name!="")
{
document.write("Hello " + name)
}
}
</script>
</head>
<body>
<input type="button" onclick="disp_prompt()"
value="Display a prompt box" />
</body>
</html>
执行代码:
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
import time as t
"""弹出输入框实战""" driver=webdriver.Chrome() driver.maximize_window() driver.get(\'http://localhost:63342/untitled/UI%E8%87%AA%E5%8A%A8%E5%8C%96/alert.html\') #点击按钮 driver.find_element_by_xpath(\'/html/body/input\').click() #弹出输入框里面的内容 driver.switch_to.alert.send_keys("火山熔岩") t.sleep(4) driver.switch_to.alert.dismiss() t.sleep(3) #点击按钮 driver.find_element_by_xpath(\'/html/body/input\').click() driver.switch_to.alert.send_keys("火山熔岩") t.sleep(5) #点击确定 driver.switch_to.alert.accept() t.sleep(4) driver.quit()
5、sina邮箱发送邮件实战
from selenium import webdriver from selenium.webdriver.common.alert import Alert import time as t """sina邮箱实战""" # driver=webdriver.Chrome() # driver.maximize_window() # driver.get(\'https://mail.sina.com.cn/\') # #输入用户名 # driver.find_element_by_id(\'freename\').send_keys(\'wuya1303@sina.com\') # t.sleep(3) # #输入密码 # driver.find_element_by_id(\'freepassword\').send_keys(\'admin123\') # t.sleep(3) # #点击登陆 # driver.find_element_by_class_name(\'loginBtn\').click() # t.sleep(3) # #获取nick # nick=driver.find_element_by_xpath(\'//*[@id="greeting"]/span\').text # print(nick) # assert nick==\'test\' # t.sleep(3) # #点击写信按钮 # driver.find_element_by_xpath(\'//*[@id="coreBtn"]/ul/li[1]/a\').click() # t.sleep(3) # #输入收件人 # inputText=driver.find_element_by_xpath(\'//*[@id="tr_to"]/td/ul/li/input\') # inputText.send_keys(\'2327829391@qq.com\') # assert inputText.get_attribute(\'value\')==\'2327829391@qq.com\' # driver.find_element_by_xpath(\'//*[@id="panel_left"]/form/div/table/tbody/tr[6]/td/input\').send_keys(\'我的世界\') # t.sleep(3) # #进入到iframe # # driver.switch_to.frame(0) # # t.sleep(3) # #发送邮件 # driver.find_element_by_xpath(\'//*[@id="panel_main"]/div[1]/span/span[1]/a/i[1]\').click() # t.sleep(3)
6、sina邮箱测试点梳理和验证
1、错误信息验证
2、超链接验证
from selenium import webdriver from selenium.webdriver.common.alert import Alert import time as t driver=webdriver.Chrome() driver.maximize_window() driver.get(\'https://mail.sina.com.cn/\') """验证用户名和密码都为空的错误信息""" # driver.find_element_by_link_text(\'登录\').click() # errorText=driver.find_element_by_xpath(\'/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[7]/div[1]/a[1]\') # #验证为空的错误信息 # assert errorText.text==\'请输入邮箱名\' # t.sleep(3) """验证密码为空的错误信息""" # driver.find_element_by_id(\'freename\').send_keys(\'2327829391@qq.com\') # t.sleep(2) # driver.find_element_by_link_text(\'登录\').click() # t.sleep(2) # errorText=driver.find_element_by_xpath(\'/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[7]/div[1]/a[1]\') # #验证为空的错误信息 # assert errorText.text==\'请输入密码\' # t.sleep(2) """验证密码错误""" driver.find_element_by_id(\'freename\').send_keys(\'wuya1303@sina.com\') t.sleep(2) driver.find_element_by_id(\'freepassword\').send_keys(\'123\') t.sleep(3) driver.find_element_by_link_text(\'登录\').click() t.sleep(2) errorText=driver.find_element_by_xpath(\'/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[7]/div[1]/a[1]\') #验证为空的错误信息 assert errorText.text==\'登录名或密码错误\' t.sleep(2) driver.quit()
7、测试忘记密码窗口(多窗口的切换)
from selenium import webdriver from selenium.webdriver.common.alert import Alert import time as t driver=webdriver.Chrome() driver.maximize_window() driver.get(\'https://mail.sina.com.cn/\') nowHandler=driver.current_window_handle #点击忘记密码 driver.find_element_by_link_text(\'忘记密码?\').click() t.sleep(4) allHandler=driver.window_handles for handler in allHandler: if handler!=nowHandler: driver.switch_to.window(handler) url=driver.current_url print(url.endswith(\'entry=freemail\')) assert url.endswith(\'entry=freemail\')==True driver.close() driver.switch_to.window(nowHandler) t.sleep(5) driver.quit()