前言
對於使用 jmeter 工具完成接口測試的測試工程師而言。在工作中,或者在面試中,都會遇到一個問題。
CSV 文檔做了一大筆測試數據後,怎麼去校驗這個結果呢?
現在大部分測試工程師可能都是通過人工的方法去查看結果,十幾個還好,那要很多很多呢?
OK,此時,肯定會有同學想到,斷言唄,響應斷言,beanshell 斷言,都可以阿。
但是 beanshell 裡要寫 Java 代碼,對於沒有代碼基礎的怎麼辦?求開發?開發小哥沒時間怎麼辦?
那響應斷言呢?對於很多測試工程師而言,響應斷言好像只能斷言一次,無法循環去斷言不同的內容。
其實不然,今天我們就一起來學學,不寫代碼,就用響應斷言,怎麼實現循環斷言不同的內容
思路
我們要去做一件事,肯定是要謀而後定,那麼去實現循環斷言,要怎麼去做呢?
先對 CSV 文檔進行參數化
循環取出 CSV 裡的數據
編寫需要的斷言內容
對每一條數據都要進行一次斷言
先導知識
jmeter 元件之計數器
概念:
允許用戶在線程組中任何位置創建引用的計數器。
計數器配置允許用戶配置起始點,最大值和增量。
計數器將從開始循環到最大,然後從開始重新開始,繼續進行,直到測試結束。
所以:用大白話來講,計數器就是幫你去計數的,從幾開始到幾結束,每次循環迭代後加幾。
解釋:
Starting Value:給定計數器的初始值
遞增:每次循環迭代後,給計數器增加的值
Maximum Value:計數器的最大值,如果超過最大值,會重新設置為初始值,非必填項
數字格式:可選格式,比如填寫 000,格式化為 001,002;比如填寫 0,格式化為 1,2;
引用名稱:引用變量,可以在其他元素中引用該值,形式:$
與每用戶獨立的跟蹤計數器:不勾選,即全局計數器的,比如用戶 #1 獲取值為 1,用戶 #2 獲取值還是為 1;勾選,即獨立的,則每個用戶有自己的值:比如用戶 #1 獲取值為 1,用戶 #2 獲取值為 2。
每次迭代復原計數器:只有當勾選了,與每用戶獨立的跟蹤計數器時才可用;勾選此選項後,則每次線程組迭代,都會重置計數器的值,當線程組是在一個循環控制器內時比較有用。
拼接函數,嵌套變量
這個是 jmeter 自帶的函數,可以用用這個函數進行字符串的拼接,或者是變量中再嵌套變量。
Name of variable:引用的變量名
默認值:非必填參數,填寫了之後,當你引用變量失敗後,就會填充該默認值
1、先參數化接口
請一定要注意,CSV 文檔參數化,裡面有多少條數據,就要在線程組裡循環多少次,不然只會執行一次喲。
2、添加計數器
3、設置斷言內容
這裡有一個非常重要的點就是我們要把需要斷言的內容給設置成變量
因為只有這樣,我們才能循環取值,做循環斷言
4、取出需要進行結果判斷的數據
此處,我們將以返回結果的 msg 進行斷言
5、添加響應斷言,進行結果判斷
6、添加察看結果樹,進行循環斷言
通過結果樹可以看到,這裡會有兩條用例失敗了。
那是因為,我們在第三步的時候,設置了需要斷言的內容
至此,我們就完全可以用響應斷言,實現循環斷言了,這也是以後要用工具做自動化的一個必不可少的步驟喲。
是不是非常棒,歡迎大家留言點讚喲。
本文作者:檸檬班軟體測試(lemonban)——專注於最新最前沿的軟體測試技術,解決你的測試技術煩惱,對軟體測試感興趣的朋友趕快關注我們吧!