Selenium断言的使用,等待
自動化測試常用斷言的使用方法(python)
自動化測試中尋找元素并進行操作,如果在元素好找的情況下,相信大家都可以較熟練地編寫用例腳本了,但光進行操作可能還不夠,有時候也需要對預期結果進行判斷。
這里介紹幾個常用斷言的使用方法,可以一定程度上幫助大家對預期結果進行判斷。
這里介紹以下幾個斷言方法:
assertEqual
assertNotEqual
assertTrue
assertFalse
assertIsNone
assertIsNotNone
(一)assertEqual 和 assertNotEqual
assertEqual:如兩個值相等,則pass
assertNotEqual:如兩個值不相等,則fail
(二)assertTrue和assertFalse
assertTrue:判斷bool值為True,則pass
assertFalse:判斷bool值為False,則Pass
下面看下具體使用方法
?
(三)assertIsNone和assertIsNotNone
assertIsNone:不存在,則pass
assertIsNotNone:存在,則pass?
?
?
Selenium有3種類型的等待:強制等待,顯式等待和隱式等待。
time.sleep(seconds)
seconds:等待的時間
顯式等待
WebDriverWait類是由WebDirver 提供的等待方法。在設置時間內,默認每隔一段時間檢測一次當前頁面元素是否存在,如果超過設置時間檢測不到則拋出異常。
具體格式如下:
WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)
driver :瀏覽器驅動。
timeout :最長超時時間,默認以秒為單位。
poll_frequency :檢測的間隔(步長)時間,默認為0.5S。
WebDriverWait()一般由until()或until_not()方法配合使用,下面是until()和until_not()方法的說明。
* until(method, message=‘’) 調用該方法提供的驅動程序作為一個參數,直到返回值為True。
* until_not(method, message=‘’) 調用該方法提供的驅動程序作為一個參數,直到返回值為False。
隱式等待
WebDriver提供了implicitly_wait()方法來實現隱式等待,默認設置為0。它的用法相對來說要簡單得多。
from selenium import webdriver
driver = webdriver.Firefox()
# 設置隱式等待為10秒
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw22").send_keys('selenium')
?
implicitly_wait()默認參數的單位為秒,本例中設置等待時長為10秒。
首先這10秒并非一個固定的等待時間,它并不影響腳本的執行速度。
其次,它并不針對頁面上的某一元素進行等待。當腳本執行到某個元素定位時,如果元素可以定位,則繼續執行;
如果元素定位不到,則它將以輪詢的方式不斷地判斷元素是否被定位到。
假設在第6秒定位到了元素則繼續執行,若直到超出設置時長(10秒)還沒有定位到元素,則拋出異常。
?
轉載于:https://www.cnblogs.com/cyq0528/p/9916741.html
總結
以上是生活随笔為你收集整理的Selenium断言的使用,等待的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jvm经典文章整理
- 下一篇: 显示器尺寸对照表_各种电脑显示器尺寸对应