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

279 篇文章 1 订阅
227 篇文章 0 订阅

一、弹出框实战

1、在UI自动化测试中经常会遇到Alert弹出框的场景。Alert类是对话框的处理,主要是对alert警告框。confirm确认框,promp消息对话框。

  text():获取alert的文本

  dismiss ():点击取消

  accept():接受

  send-keys():输入

  1. from selenium import webdriver

  2. from selenium.webdriver.common.alert import Alert

  3. import time as t

  4. """获取alert警告框的文本信息"""

  5. driver=webdriver.Chrome()

  6. driver.maximize_window()

  7. driver.get('file:///D:/code/app/01.html')

  8. print('获取alert的文本信息:',driver.switch_to.alert.text)

  9. t.sleep(3)

  10. driver.switch_to.alert.accept()

  11. t.sleep(3)

  12. driver.quit()

  13. 获取alert的文本信息: 无涯课堂为您服务!

  1. from selenium import webdriver

  2. from selenium.webdriver.common.alert import Alert

  3. import time as t

  4. """确认框的处理"""

  5. driver=webdriver.Chrome()

  6. driver.maximize_window()

  7. driver.get('file:///D:/code/app/confi.html')

  8. driver.find_element_by_xpath('/html/body/input').click()

  9. driver.switch_to.alert.accept()

  10. t.sleep(5)

  11. # 刷新页面

  12. driver.refresh()

  13. t.sleep(3)

  14. driver.find_element_by_xpath('/html/body/input').click()

  15. driver.switch_to.alert.dismiss()

  16. t.sleep(3)

  17. driver.quit()

  1. from selenium import webdriver

  2. from selenium.webdriver.common.alert import Alert

  3. import time as t

  4. """消息对话框输入信息"""

  5. driver=webdriver.Chrome()

  6. driver.maximize_window()

  7. driver.get('file:///D:/code/app/prompt.html')

  8. driver.find_element_by_xpath('/html/body/input').click()

  9. driver.switch_to.alert.send_keys('无涯课堂为您服务!')

  10. t.sleep(5)

  11. # 点击取消

  12. driver.switch_to.alert.dismiss()

  13. t.sleep(5)

  14. driver.find_element_by_xpath('/html/body/input').click()

  15. # 再一次输入

  16. driver.switch_to.alert.send_keys('无涯课堂为您服务!')

  17. t.sleep(5)

  18. driver.switch_to.alert.accept()

  19. t.sleep(5)

  20. driver.quit()

二、Sina实战

 
  1. from selenium import webdriver

  2. import time as t

  3. """sina实战"""

  4. driver=webdriver.Chrome()

  5. driver.maximize_window()

  6. driver.get('https://mail.sina.com.cn/')

  7. # 输入用户名

  8. driver.find_element_by_id('freename').send_keys('wuya1303@sina.com')

  9. t.sleep(3)

  10. # 输入密码

  11. driver.find_element_by_xpath('//*[@id="freepassword"]').send_keys('admin123')

  12. t.sleep(3)

  13. # 点击登录按钮

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

  15. t.sleep(3)

  16. # 获取nick

  17. nick=driver.find_element_by_xpath('//*[@id="navParent"]/li[1]/a/span/em').text

  18. print('nick信息:',nick)

  19. assert nick=="邮箱首页"

  20. # 点击写信按钮

  21. driver.find_element_by_xpath('//*[@id="coreBtn"]/ul/li[1]/a').click()

  22. t.sleep(3)

  23. # 输入收件人 断言

  24. inputText=driver.find_element_by_xpath('//*[@id="tr_to"]/td/ul/li/input')

  25. inputText.send_keys('wuya1303@sina.com')

  26. assert inputText.get_attribute('value')=='wuya1303@sina.com'

  27. driver.switch_to.frame

  28. t.sleep(3)

  29. driver.quit()

三、QQ邮箱错误信息的验证

 
  1. from selenium import webdriver

  2. import time as t

  3. driver=webdriver.Chrome()

  4. driver.maximize_window()

  5. driver.get('https://mail.qq.com/')

  6. driver.switch_to.frame('login_frame')

  7. driver.find_element_by_id('u').send_keys('734398143')

  8. t.sleep(3)

  9. driver.find_element_by_xpath('//*[@id="p"]').send_keys('asdf')

  10. driver.find_element_by_xpath('//*[@id="login_button"]').click()

  11. t.sleep(3)

  12. errorText=driver.find_element_by_xpath('//*[@id="err_m"]')

  13. assert errorText.text=='你输入的帐号或密码不正确,请重新输入。'

  14. driver.quit()

四、新浪邮箱错误信息的验证

1、账户密码都为空

  1. from selenium import webdriver

  2. import time as t

  3. driver=webdriver.Chrome()

  4. driver.maximize_window()

  5. driver.get('https://mail.sina.com.cn/#')

  6. """错误信息验证 用户名和密码都为空"""

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

  8. 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]')

  9. assert errorText.text=='请输入邮箱名'

  10. t.sleep(3)

  11. driver.quit()

2、密码为空

  1. from selenium import webdriver

  2. import time as t

  3. driver=webdriver.Chrome()

  4. driver.maximize_window()

  5. driver.get('https://mail.sina.com.cn/#')

  6. """密码为空"""

  7. driver.find_element_by_id('freename').send_keys('wuya1303@sina.com')

  8. t.sleep(3)

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

  10. 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]')

  11. assert errorText.text=='请输入密码'

  12. t.sleep(3)

  13. driver.quit()

3、账户为空

  1. from selenium import webdriver

  2. import time as t

  3. driver=webdriver.Chrome()

  4. driver.maximize_window()

  5. driver.get('https://mail.sina.com.cn/#')

  6. """邮箱名为空"""

  7. driver.find_element_by_xpath('//*[@id="freepassword"]').send_keys('admin123')

  8. t.sleep(3)

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

  10. 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]')

  11. assert errorText.text=='请输入邮箱名'

  12. t.sleep(3)

  13. driver.quit()

五、忘记密码的验证 多窗口

  1. from selenium import webdriver

  2. import time as t

  3. """测试忘记密码"""

  4. driver=webdriver.Chrome()

  5. driver.maximize_window()

  6. driver.get('https://mail.sina.com.cn/#')

  7. nowHandler=driver.current_window_handle

  8. driver.find_element_by_link_text('忘记密码?').click()

  9. allHandler=driver.window_handles

  10. for handler in allHandler:

  11. if handler!=nowHandler:

  12. driver.switch_to.window(handler)

  13. url=driver.current_url

  14. print(url.endswith('entry=freemail'))

  15. assert url.endswith('entry=freemail')==True

  16. driver.close()

  17. driver.switch_to.window(nowHandler)

  18. t.sleep(3)

  19. driver.quit()

总结:
感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值