Robot Framework-斷言函數


測試用例的目的是要驗證一些操作否符合我們的預期結果,所以在測試用例中,斷言函數是必不可少的一項。我們做的每一步操作都會有預期的結果,為了保證操作得到的結果符合預期,我們需要在測試用例中添加斷言,來保證實際結果和預期結果一致。那么先讓我們來認識一些常用的斷言函數:

    1、should be equal 與should not be equal

 

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

運行:

會發現只是打印出了變量的值,一般來說,斷言函數只起斷言作用,符合斷言沒有任何操作,不符合則報錯:

現在我們把${var}值改為2,斷言不變,再運行:

我們發現用例報紅,並且在這里給出了斷言出錯。

    should not be equal恰好相反,用來斷言不相等。

    2、should be empty與should not be empty

    斷言為空或不為空。

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

可以看到打印出了預期的空列表,並且用例成功運行。

    3、should contain、should not contain與should contain x times

 

這里先說明一下,列表變量也可以用@{var}表示,但${var}既可以表示單個變量,也可以表示列表、字典,用起來比較方便~~~
我們創建了一個列表,內涵1、2、3值,斷言列表中含有1:

運行通過,打印出了變量值,可以看到正如我們預期,${var}是一個列表,這里發現列表里每一個值前面都有一個u,這是因為RF默認是Unicode編碼,這里的u對你的用例或斷言都沒有影響的。

should not contain不必解釋。我們來說一下should contain x times,根據英文翻譯即可,就是應該含有某值x次:

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

正如我們預期。

以上列出的是我在工作中最長用的斷言,除此之外還有很多,他們的意思其實可以根據英文翻譯即可,畢竟老外也是按着他們的目的寫出來的:

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自己寫腳本,實現相應的邏輯,然后導入系統關鍵字即可。

 

微信公眾號搜索“自動化測試實戰”或掃描下方二維碼添加關注~~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM