UI自动化测试(弹出框,多窗口)

一、弹出框实战

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

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群:,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值