Robot Framework - 常用斷言講解
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 fighter is in shenzhen
${name} set variable luruifeng
備註:以下提供的用例都是斷言成功。
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,故需要轉化為字符串類型,轉化為字符串後兩個對象相等;
Robot Framework - 常用斷言講解