一、弹出框实战
1、在UI自动化测试中经常会遇到Alert弹出框的场景。Alert类是对话框的处理,主要是对alert警告框。confirm确认框,promp消息对话框。
text():获取alert的文本
dismiss ():点击取消
accept():接受
send-keys():输入
-
from selenium import webdriver
-
from selenium.webdriver.common.alert import Alert
-
import time as t
-
"""获取alert警告框的文本信息"""
-
driver=webdriver.Chrome()
-
driver.maximize_window()
-
driver.get('file:///D:/code/app/01.html')
-
print('获取alert的文本信息:',driver.switch_to.alert.text)
-
t.sleep(3)
-
driver.switch_to.alert.accept()
-
t.sleep(3)
-
driver.quit()
-
获取alert的文本信息: 无涯课堂为您服务!
-
from selenium import webdriver
-
from selenium.webdriver.common.alert import Alert
-
import time as t
-
"""确认框的处理"""
-
driver=webdriver.Chrome()
-
driver.maximize_window()
-
driver.get('file:///D:/code/app/confi.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()
-
from selenium import webdriver
-
from selenium.webdriver.common.alert import Alert
-
import time as t
-
"""消息对话框输入信息"""
-
driver=webdriver.Chrome()
-
driver.maximize_window()
-
driver.get('file:///D:/code/app/prompt.html')
-
driver.find_element_by_xpath('/html/body/input').click()
-
driver.switch_to.alert.send_keys('无涯课堂为您服务!')
-
t.sleep(5)
-
# 点击取消
-
driver.switch_to.alert.dismiss()
-
t.sleep(5)
-
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(5)
-
driver.quit()
二、Sina实战
-
from selenium import webdriver
-
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_xpath('//*[@id="freepassword"]').send_keys('admin123')
-
t.sleep(3)
-
# 点击登录按钮
-
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]').click()
-
t.sleep(3)
-
# 获取nick
-
nick=driver.find_element_by_xpath('//*[@id="navParent"]/li[1]/a/span/em').text
-
print('nick信息:',nick)
-
assert nick=="邮箱首页"
-
# 点击写信按钮
-
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('wuya1303@sina.com')
-
assert inputText.get_attribute('value')=='wuya1303@sina.com'
-
driver.switch_to.frame
-
t.sleep(3)
-
driver.quit()
三、QQ邮箱错误信息的验证
-
from selenium import webdriver
-
import time as t
-
driver=webdriver.Chrome()
-
driver.maximize_window()
-
driver.get('https://mail.qq.com/')
-
driver.switch_to.frame('login_frame')
-
driver.find_element_by_id('u').send_keys('734398143')
-
t.sleep(3)
-
driver.find_element_by_xpath('//*[@id="p"]').send_keys('asdf')
-
driver.find_element_by_xpath('//*[@id="login_button"]').click()
-
t.sleep(3)
-
errorText=driver.find_element_by_xpath('//*[@id="err_m"]')
-
assert errorText.text=='你输入的帐号或密码不正确,请重新输入。'
-
driver.quit()
四、新浪邮箱错误信息的验证
1、账户密码都为空
-
from selenium import webdriver
-
import time as t
-
driver=webdriver.Chrome()
-
driver.maximize_window()
-
driver.get('https://mail.sina.com.cn/#')
-
"""错误信息验证 用户名和密码都为空"""
-
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]').click()
-
errorText=driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[1]/span[1]')
-
assert errorText.text=='请输入邮箱名'
-
t.sleep(3)
-
driver.quit()
2、密码为空
-
from selenium import webdriver
-
import time as t
-
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_xpath('/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[7]/div[1]/a[1]').click()
-
errorText=driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[1]/span[2]')
-
assert errorText.text=='请输入密码'
-
t.sleep(3)
-
driver.quit()
3、账户为空
-
from selenium import webdriver
-
import time as t
-
driver=webdriver.Chrome()
-
driver.maximize_window()
-
driver.get('https://mail.sina.com.cn/#')
-
"""邮箱名为空"""
-
driver.find_element_by_xpath('//*[@id="freepassword"]').send_keys('admin123')
-
t.sleep(3)
-
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]').click()
-
errorText=driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[1]/span[1]')
-
assert errorText.text=='请输入邮箱名'
-
t.sleep(3)
-
driver.quit()
五、忘记密码的验证 多窗口
-
from selenium import webdriver
-
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()
-
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(3)
-
driver.quit()
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。