问题:如何判断是否为弹框?
回答:当在Firefox中进行定位时,鼠标无法定位到弹框及弹框中的元素,就是alert弹框。如果鼠标可以定位到弹框及弹框中的元素,则用普通定位的方法。
当使用普通定位时,有时很难点击到弹框按钮,导致用例失败。下面介绍用js解决无法点击弹框按钮问题:
一、测试场景
输入用户名后,点击提交按钮,弹出“请输入密码”提示框,判断是否正确提示,并关闭弹框。
二、代码编写
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自动化测试--登录
三、运行结果
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。