robot framework中Should 斷言的基本使用方法


為方便講解,首先創建三個list變量:list_a、list_b、list_c;以及兩個scalar變量:string和name。

@{list_a}    create list    1    a    ${21}    21    12
@{list_b}    set variable    1.0    a    ${21}    21    21
@{list_c}    create list                    
${string}    set variable    pengliwen is in hangzhou                
${name}    set variable    plw

備注:以下提供的用例都是斷言成功。

01、should contain 、 should not contain 與should contain x times

should contain    ${list_b}    1.0    
should not contain    ${list_b}    1    
should contain x times    ${list_b}    21    2

說明:變量${list_b}包含對象1.0而不包含對象1,且對象21在變量${list_b}出現了兩次。

02、should be empty 與 should not be empty

should be empty    ${list_c}
should not be empty    ${list_a}

說明:變量${list_c}沒有賦值,所以為空;相反,變量${list_a}有賦初始值,故為非空。

03、should be equal 與 should not be equal

should be equal    ${list_a[1]}    ${list_b[1]}
should not be equal    ${list_a}    ${list_b}

說明:${list_a[1]}=a,${list_b[1]}=a故兩個對象相等;而${list_a}和${list_b}有元素不一致,這兩個對象不相等。

04、Should Be Equal As Numbers 與 Should not Be Equal As Numbers

Should Be Equal As Numbers    ${list_b[0]}    1.0000
Should not Be Equal As Numbers    ${list_b[0]}    1.1

說明:${list_b[0]}=1,忽略精度,故與1.0000相等;而即使是忽略精度,1與1.1還是不相等的;

05、Should Be Equal As Integers與Should not Be Equal As Integers

Should Be Equal As Integers    ${list_a[3]}    ${list_b[3]}
Should not Be Equal As Integers    ${list_a[4]}    ${list_b[4]}

說明:${list_a[3]}=21,${list_b[3]}=21,而系統默認為字符串格式的“21”,故需要轉化為整數類型,轉化為整數后兩個對象相等;

${list_a[4]}=12,${list_b[4]}=21,即使轉化為整數后兩個對象依舊是不相等;

06、Should Be Equal As Strings與Should not Be Equal As Strings

Should Be Equal As Strings    ${list_a[2]}    ${list_b[2]}
Should not Be Equal As Strings    ${list_a[0]}    ${list_b[0]}

說明:${list_a[2]}=${21},${list_b[2]}=${21},而均為數值型的21,故需要轉化為字符串類型,轉化為字符串后兩個對象相等;

07、Should Be True與Should not Be True

Should Be True    ${list_a[0]} < 10
Should not Be True    ${list_a[0]} < 1

說明:${list_a[0]}=1(字符串類型),其ASCII值比字符串10的ASCII值小;

08、Should start With與Should not start With 
Should start With    ${string}    peng
Should not start With    ${string}    h

說明:${string}=”pengliwen is in hangzhou“是以peng開頭,而非以h開頭;

09、Should End With與Should not End With

Should End With    ${string}    hangzhou
Should not End With    ${string}    pengliwen

說明:${string}=”pengliwen is in hangzhou“是以hangzhou結尾,而非以pengliwen結尾;

10、should match與should not match

should match    ${name}    p??
should not match    ${string}    h?*

說明:模式匹配和shell中的通配符類似,它區分大小寫,'*'匹配0~無窮多個字符,“?”單個字符

${name}=plw,由以p開頭的三個字母組成

11、Should Match Regexp與Should not Match Regexp

Should Match Regexp    ${name}    ^\\w{3}$
Should not Match Regexp    ${name}    ^\\d{3}$

說明:反斜杠在測試數據是轉義字符,因此模式中要使用雙重轉義;'^'和'$'字符可以用來表示字符串的開頭和結尾

${name}=plw,是有三個字母--w{3}組成,而不是由三個數字--d{3}組成。


免責聲明!

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



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