天天看點

jmeter實作重試和逾時

需求:

jmeter做接口測試,在雲平台建立vm,等vm狀态為active後往vm上挂一個卷。

思路:

使用jmeter的while controller實作重試,輪詢進行vm狀态條件判斷。

問題:

jmeter無現成的重試機制,如何實作while controller重試多少次後自動退出?

方案:

jmeter實作重試和逾時

1、建立while controller

2、添加查詢vm狀态的http sampler

3、添加定時器,每隔10s執行一次查詢

4、添加beanshell 腳本,記錄輪詢的次數。

vars.put("waitVMTimes","${__counter(FALSE,Vcount)}");

其中${__counter(FALSE,Vcount)}是jmeter自帶的自增函數。每次增加1

5、敲重點,while controller的判斷條件:

${__javaScript("${vmstatus}"!="active"&&"${waitVMTimes}"!="5")}

當vm狀态為active或重試次數超過5次後就退出while循環。