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自动化测试--登录

三、运行结果

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM