前言
關(guān)于自動化腳本編寫皿桑,有一個非常重要的內(nèi)容,就是如何進(jìn)行測試結(jié)果的判斷。
相信了解過自動化測試的同學(xué)們肯定知道一個行業(yè)內(nèi)的名詞--斷言诲侮。這個名詞就是指的測試結(jié)果判斷
那斷言的含義就是拿預(yù)期結(jié)果和實(shí)際結(jié)果做判斷镀虐,一致就測試通過,不一致就是測試失敗了沟绪。
那今天我們就繼續(xù)講解一下 Katalon Studio 工具是如何完成斷言的刮便。
那自動化該如何做斷言呢?
首先绽慈,對于測試結(jié)果的判斷诺核,人工測試是不是可以很直觀的看到結(jié)果,比如頁面上是不是有錯誤彈框或者錯誤信息提示久信,比如頁面是否發(fā)生了正確的跳轉(zhuǎn)等等窖杀,可以憑借人眼看到我們想要的測試結(jié)果。
但是對于自動化裙士,對于機(jī)器而言入客,它可以去“觀察”嗎?做不到吧腿椎,至少現(xiàn)階段機(jī)器還是無法直接“肉眼觀察”的吧桌硫。
那我們該怎么辦呢?
其實(shí)很簡單啃炸,WebUI 測試铆隘,觀察到的現(xiàn)象其實(shí)就是頁面上的一個一個的元素,不管是錯誤彈框南用,還是錯誤信息提示膀钠,還是頁面跳轉(zhuǎn),其實(shí)就是頁面上有沒有這些個元素出現(xiàn)裹虫。
所以肿嘲,對于自動化的結(jié)果斷言,我們就是直接確認(rèn)想要的元素是否出現(xiàn)就可以了筑公。
1雳窟、先明確斷言的目標(biāo)元素
例子:對 QQ 郵箱的登錄進(jìn)行自動化測試。
首先匣屡,先手工驗(yàn)證一下 QQ 郵箱登錄的整個過程
由此可見封救,如果要判斷這個登錄是否成功,人眼看到的就是頁面上從登錄頁跳轉(zhuǎn)到了郵箱的首頁捣作。
但是如果是從機(jī)器角度出發(fā)誉结,判斷登錄是否成功,就應(yīng)該是點(diǎn)擊登錄按鈕之后虾宇,有沒有郵箱首頁里的某個元素出現(xiàn)搓彻。比如:檸檬班-亞萌如绸,這個名字是否出現(xiàn)嘱朽。
2旭贬、定位到目標(biāo)元素
直接使用 katalon studio 定位,方便快捷搪泳,都不需要自己寫表達(dá)式了稀轨。如果還不會使用 katalon 進(jìn)行元素抓取的同學(xué),可以找找之前的文章《Katalon Studio 抓取元素》 點(diǎn)擊藍(lán)字跳轉(zhuǎn)前文
3岸军、通過 Katalon Studio 進(jìn)行斷言
1奋刽、先完成登錄腳本的編寫
2、斷言目標(biāo)元素是否存在
katalon studio 要進(jìn)行元素判斷艰赞,有多種判斷方法佣谐。比如:
Verify Element Attribute Value:驗(yàn)證元素屬性值
Verify Element Checked:驗(yàn)證元素是否已選中
Verify Element Clickable:驗(yàn)證元素是否可單擊
Verify Element Has Attribute:驗(yàn)證元素是否具有屬性
Verify Element In Viewport:驗(yàn)證視口中的元素
Verify Element Not Checked:驗(yàn)證未選中的元素
Verify Element Not Clickable:驗(yàn)證元素不可點(diǎn)擊
Verify Element Not Has Attribute:驗(yàn)證元素沒有屬性
Verify Element Not In Viewport:驗(yàn)證元素不在視口中
Verify Element Not Present:驗(yàn)證元素不存在
Verify Element Not Visible:驗(yàn)證元素不可見
Verify Element Not Visible In Viewport:驗(yàn)證元素在視口中不可見
Verify Element Present:驗(yàn)證元素是否存在
Verify Element Text:驗(yàn)證元素文本
Verify Element Visible:驗(yàn)證元素是否可見
Verify Element Visible In Viewport:驗(yàn)證元素在視口中是否可見
那我們要驗(yàn)證的是這個檸檬班-亞萌這個元素有沒有存在,就可以使用到 Verify Element Attribute Value方妖,驗(yàn)證這個元素屬性值了狭魂。也就是,是不是有一個 id 為 today_alias 的元素存在了党觅。
解釋一下這個 Verify Element Attribute Value 的用法:
object:對象雌澄,也就是你要驗(yàn)證的哪個元素。
input:
a杯瞻、attributeName:屬性的名字
b镐牺、attributeValue:屬性的值
c、timeout:超時時間魁莉,也就是等待時間
4睬涧、斷言設(shè)置好了之后,就可以完成測試結(jié)果判斷了
斷言成功的話旗唁,就會在 katalon 的控制臺日志記錄看到標(biāo)記為綠色的成功記錄宙地。
至此,我們就完成了自動化的斷言操作了逆皮。這樣我們就無需再人工校驗(yàn)測試結(jié)果了~~