当“小困困”遇见“女生困困”:一场关于甜蜜与治愈的奇妙邂逅
点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快
前言我们在使用Selenium做Web自动化测试时页面经常出现弹窗如果不处理后续的测试脚本就无法正常运行今天我们就带大家一起来学习如何处理Web页面上的弹窗。
Web页面弹窗的分类弹窗通常有3种Alert类型弹框、Confirm类型弹框、Prompt类型弹框这种我们无法通过定位元素来操作。
它们的具体特点如下Alert弹窗只有信息及确认按钮Confirm弹窗在Alert弹窗基础上增加了取消按钮Prompt类型弹框在Confirm的基础上增加了可输入文本内容的功能
解决方案selenium中提供了如下方法来处理弹窗具体的解决方案如下from selenium import webdriver driver webdriver.Chrome() driver.switch_to.alert.accept() #确定、同意三种弹窗都可使用 driver.switch_to.alert.dismiss() #取消、不同意confirm和prompt弹窗中使用 title driver.switch_to.alert.text #打印弹窗信息 alert driver.switch_to.alert #获取alert对象 alert.send_keys() #Prompt弹窗中输入内容有些弹窗并非浏览器的alert 窗口而是html元素这种对话框只需要按照常规的定位页面元素进行处理即可
实战演练import unittest from selenium import webdriver from time import sleep class TestAlert(unittest.TestCase): def setUp(self): self.driver webdriver.Chrome() self.driver.implicitly_wait(
self.driver.maximize_window() def tearDown(self): self.driver.quit() def test_alert(self): self.driver.get(rhttp://sahitest.com/demo/alertTest.htm) self.driver.find_element(name,b
.click() alert self.driver.switch_to.alert print(alert.text) alert.accept() sleep(
def test_confirm(self): self.driver.get(rhttp://sahitest.com/demo/confirmTest.htm) self.driver.find_element(name,b
.click() alert self.driver.switch_to.alert print(alert.text) alert.accept() # alert.dismiss() sleep(
def test_prompt(self): self.driver.get(rhttp://sahitest.com/demo/promptTest.htm) self.driver.find_element(name,b
.click() alert self.driver.switch_to.alert print(alert.text) alert.send_keys(CR
sleep(
alert.accept() sleep(
if __name__ __main__: unittest.main()最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。
17.c.13.nom-17.c.13.nom最新版v.11.74.39-2285安卓网应用