案例一:
一、認識循環控制器
如下圖:新增一個循環控制器
循環控制器的設置界面:
循環次數:永遠和自定義次數,這個應該比較好理解。
二、使用循環控制器
其實大家對Jmeter的熟悉的話,應該會想到,線程組 這個設置界面也是有一個循環次數的設置,那么到底他們兩個有什么關聯呢。我理解為父子關系。
下面舉個例子,
首先在線程組中設置循環次數3,循環控制器中設置循環測試2,其他默認,添加一個計時器,方便查看結果,如下:
執行后,查看結果樹:
理解為:一秒發送一個請求,循環三次,每次循環中又循環兩次。
for(int i=1;i<=3;i++){ 線程組中的循環
for(int j=1;j<=2;j++){ 循環控制器中的循環
執行
}
}
使用場景:一對多的關系。比如 創建一個部門,然后在該部門下創建多個員工。就用到了循環控制器。
轉自:https://www.cnblogs.com/sandymonk/p/11572867.html
案例二:
任務:通過獲取mysql數據庫表中的字段,作為http請求中的查詢參數
一、添加jdbc請求
1、新增測試計划-線程組-jdbc連接配置,完成數據庫連接配置
2、添加jdbc請求
3、添加查看結果樹,接着執行jdbc請求,查看jdbc請求的結果
4、添加debug sampler,接着執行jdbc請求,可以查看jdbc請求成功后,相關的變量,我將要拿這個title的變量值作為訪問請求的參數
二、添加循環控制器
1、配置循環控制器
2、添加計數器
3、添加http請求
4、執行http請求,查看結果樹,發現報錯了,因為變量值里面含有空格,url解析報錯,我們要想方法把空格去掉
5、使用BeanShell取樣器來處理變量值中的空格,添加BeanShell取樣器並放置在http請求前,並且添加對應的腳本
6、執行線程組下的所有請求,接着查看結果樹,發現http請求報錯
處理方式:添加HTTP信息頭管理器,將瀏覽器調試器的請求頭信息復制到HTTP信息頭管理器的配置中
執行線程組下的所有請求,查看結果樹,http請求成功