selenium+python自动化测试--alert弹框
问题:如何判断是否为弹框?
回答:当在Firefox中进行定位时,鼠标无法定位到弹框及弹框中的元素,就是alert弹框。如果鼠标可以定位到弹框及弹框中的元素,则用普通定位的方法。
当使用普通定位时,有时很难点击到弹框按钮,导致用例失败。下面介绍用js解决无法点击弹框按钮问题:
一、测试场景
输入用户名后,点击提交按钮,弹出“请输入密码”提示框,判断是否正确提示,并关闭弹框。
二、代码编写
文件名称:test_jecnalert.py
import unittest from selenium import webdriver from common.base import Base class TestJecnalert(unittest.TestCase): user = ("name","username") @classmethod def setUpClass(cls): cls.driver = webdriver.Firefox() cls.driver.get("http://www.jecn.com.cn/member/register.php") cls.basealert = Base(cls.driver) @classmethod def tearDownClass(cls): cls.driver.quit() def getresult(self): #点击提交按钮 js = '$(".submit").click()' #执行js self.driver.execute_script(js) #切换到弹窗 al = self.driver.switch_to.alert #获取弹框上的文字 result1=al.text print(result1) #点击确定按钮 al.accept() #返回结果 return result1 def test_01(self): self.basealert.send(self.user,"admin") res = self.getresult() exp = "请输入密码!" self.assertEqual(res,exp) if __name__ == '__main__': unittest.main()
注:base.py 请查看selenium+python自动化测试--登录
三、运行结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix