RobotFrameWork系統關鍵字之斷言


一、基礎

        RobotFramework帶有豐富的系統關鍵,使用時無需導入,直接使用,為寫自動化用例帶來了極大的方便;不能停留在知道或者是會得程度,只有熟練使用各關鍵字,才能提升自動化用例的寫作效率。下面將逐個舉例介紹RobotFramework提供的斷言關鍵字。

 

二、實例

        為方便講解,首先創建三個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 IntegersShould 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 StringsShould 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 TrueShould 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 WithShould not start With 
Should start With    ${string}    peng
Should not start With    ${string}    h

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

 

09、Should End WithShould not End With

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

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

 

10、should matchshould not match

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

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

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

 

11、Should Match RegexpShould 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