話說之前做了一個超級初級的jemeter併發的模擬情況,後來竟然沒問住了其他的基本知識, 一怒衝冠爲自己這個紅顏啊,開始練習一下。
1,基本的安裝及建立線程組,可以參考之前的帖子:https://blog.csdn.net/wangyx019/article/details/86489354
2,jmeter的參數化,及jmeter的http請求(暫時只做了http請求的)的參數如果每次發送的請求的參數不同,如何將請求做參數化處理。
1) 如果參數輸入的是隨機數,可以時候函數助手對話框。菜單欄-->選項-->函數助手對話框。
(1)隨機數函數的設置
The minimum value allowed for a range of values:隨機數的最小值
The maximum value allowed for a range of values :隨機數的最大值
Name of variable in which to store the result (optional): 生成的隨機數賦值給的變量,在http請求中使用
點擊生成,會生成隨機數函數。${__Random(1,200,name)}
The result of the function is : 是生成的隨機數的值,本例中生成的隨機數是157
(2)隨機數函數的使用。
我是用在了body體裏,如果想直接使用這個隨機數,就直接用${__Random(1,100,vpcname)},如果想買成字符串就加上"",如果想加上前綴就如例子中加上vpcname_前綴。輸出的格式會是vpcname_123,從查看結果樹上看到的發出的請求如下:
2) 如果參數要求有不同的值,需要從文件中讀,選擇從csv文件來讀取,
(1)在http請求上右鍵從配置元件->csv數據文件設置。通過可以先創建一個txt文件,注意文件中的各數據之間用,分隔。之後將txt文件保存成.csv格式
填寫上文件名,這個很重要
編碼格式:utf-8的,這個也很重要
變量名稱:每個變量名稱對應csv文件中的一列,中間用分號分隔(如果就一列就不用分號了)
其他沒有特殊要求默認即可,有特殊要求就再研究。
(2)csv文件中變量的使用
變量vpcname就讀取了csv文件中一列的值。
3) jmeter的使用中,第二個http請求的參數要求使用第一個http請求的response中的一個值。有兩種方法,
一種是正則表達式提取器:,在第一個http請求處添加正則表達式提取器,設置其他請求使用的變量(這個變量的值取response結果中的值)
(1) vpcidn 是定義的變量
(2) ()中是匹配到的想獲取的值
(3) $1$ $1$是取模板中的第一個值, 2是第2個,依次類推。 一般情況下用$1$ 詳細的描述可參考:https://www.cnblogs.com/xueli/p/7405258.html?utm_source=itdadao&utm_medium=referral,這個中的描述寫得很清楚
vpcidn的使用如下:
2)第二種方法是使用json extractor
1、下載安裝 Json Path Extractor插件,
1.1 插件安裝——JMeterPlugins-Extras-1.4.0.zip 解壓後,下載後解壓以後將lib和lib/ext中的jar包放到安裝目錄對應位置,重啓即可
地址:https://www.jianshu.com/p/56a607fc0d8f 或者 https://jmeter-plugins.org/wiki/JSONPathExtractor/
vpcidn:是使用的變量名
$.result.vpcid 是取的值
vpcid-111是默認值
怎麼取$.result.vpcid的值,可以用google的JSON-Handle的方法,將JSON.result.vpcid的JSON替換成$.