需求:
jmeter做接口測試,在雲平台建立vm,等vm狀态為active後往vm上挂一個卷。
思路:
使用jmeter的while controller實作重試,輪詢進行vm狀态條件判斷。
問題:
jmeter無現成的重試機制,如何實作while controller重試多少次後自動退出?
方案:
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循環。