問題:如何判斷是否爲彈框?php
回答:當在Firefox中進行定位時,鼠標沒法定位到彈框及彈框中的元素,就是alert彈框。若是鼠標能夠定位到彈框及彈框中的元素,則用普通定位的方法。html
當使用普通定位時,有時很難點擊到彈框按鈕,致使用例失敗。下面介紹用js解決沒法點擊彈框按鈕問題:python
1、測試場景web
輸入用戶名後,點擊提交按鈕,彈出「請輸入密碼」提示框,判斷是否正確提示,並關閉彈框。測試
2、代碼編寫ui
文件名稱:test_jecnalert.pyspa
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自動化測試--登陸3d
3、運行結果code