斷言函數-RF

測試用例的目的是要驗證一些操做否符合咱們的預期結果,因此在測試用例中,斷言函數是必不可少的一項。咱們作的每一步操做都會有預期的結果,爲了保證操做獲得的結果符合預期,咱們須要在測試用例中添加斷言,來保證明際結果和預期結果一致。那麼先讓咱們來認識一些經常使用的斷言函數:面試

一、should be equal 與should not be equal

咱們在第一行設置一個變量,並賦值1,第二行,意思是${var}應該等於1函數

運行:

 

會發現只是打印出了變量的值,通常來講,斷言函數只起斷言做用,符合斷言沒有任何操做,不符合則報錯:測試

如今咱們把${var}值改成2,斷言不變,再運行:編碼

 

咱們發現用例報紅,而且在這裏給出了斷言出錯。翻譯

should not be equal剛好相反,用來斷言不相等。3d

二、should be empty與should not be empty

斷言爲空或不爲空。code

 

如上圖,create list是一個建立列表的函數,咱們沒有爲列表賦值,則${var}是一個空列表,運行:blog

 

能夠看到打印出了預期的空列表,而且用例成功運行。接口

三、should contain、should not contain與should contain x times

這裏先說明一下,列表變量也能夠用@{var}表示,但${var}既能夠表示單個變量,也能夠表示列表、字典,用起來比較方便~~~ 咱們建立了一個列表,內涵一、二、3值,斷言列表中含有1:ip

 

運行經過,打印出了變量值,能夠看到正如咱們預期,${var}是一個列表,這裏發現列表裏每個值前面都有一個u,這是由於RF默認是Unicode編碼,這裏的u對你的用例或斷言都沒有影響的。

should not contain沒必要解釋。咱們來講一下should contain x times,根據英文翻譯便可,就是應該含有某值x次:

 

這裏的斷言意思是變量${var}中應該包含2個1,運行:

 

正如咱們預期。

以上列出的是我在工做中最長用的斷言,除此以外還有不少,他們的意思其實能夠根據英文翻譯便可,畢竟老外也是按着他們的目的寫出來的:
若是對軟件測試、接口測試、自動化測試、面試經驗交流。感興趣能夠加軟件測試交流:1085991341,還會有同行一塊兒技術交流。

Should Be Equal As Numbers與Should not Be Equal As Numbers
Should End With與Should not End With
Should start With與Should not start With
should match與should not match

以上是你們在工做中可能遇到的,若是用得上用法能夠F5查詢便可。

有時候咱們的斷言函數不能知足咱們的需求,這時就須要咱們用Python本身寫腳本,實現相應的邏輯,而後導入系統關鍵字便可。以上內容但願對你有幫助,有被幫助到的朋友歡迎點贊,評論。

相關文章
相關標籤/搜索