selenium+python自動化測試--alert彈框

問題:如何判斷是否爲彈框?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

相關文章
相關標籤/搜索