chengxinde

 

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

  

  

posted on 2021-08-11 16:38  橙橙的橙  阅读(161)  评论(0编辑  收藏  举报

分类:

技术点:

相关文章: