jmeter-參數化:
參數化的作用:調用接口入參時。有時要求參數經常變化,如果每次去修改就會變得很繁瑣,這時候就需要把經常變化的值改變為提前編輯好的文檔或函數中,便於調用時使用不同的值。
Jmeter參數化的方式有三種:
1)用戶定義的變量(這種就是為了方便管理參數,只能有一個值,比如說ip地址不經常變化的)。
在線程組中添加一個用戶定義的變量,然后寫key和value就可以了,key就是這個參數的名稱,也就是你在腳本里面取的值,value就是具體值了。在取參數化的值的時候,使用${name}這樣去取值,name就是你取的變量名稱。
在腳本中獲取參數化的值
2)函數生成器(函數生成器可以參照一定的規則生成數據,這樣的比如說生成一些隨機數)
函數助手的話,可以按照規則生成一些參數,比如說隨機數取當前時間,最常用的就是這兩種。
隨機數__Random,可以在你指定的一個范圍內取隨機值
取當前時間__time,如果在有一些需要傳時間的情況下可以使用,日期格式是:yyyy-MM-dd HH:mm:ss 年-月-日-小時:分鍾:秒
取唯一id,__UUID,這個就是每次會生成一個隨機的uuid,都是唯一的。
利用函數助手可以按照規則生成一些參數。
把函數放到線程組下面:
后續調用隨機id的時候,直接調用id就行,調用方式${id}
再看看其他函數助手:
__char:把一組數字轉化成Unicode
__counter:計數器,支持多線程(可以理解為多用戶)
線程組設置為2個用戶,循環兩次${__counter(true,output)},線程分別計數,互不干擾
線程組設置為2個用戶,循環兩次${__counter(false,output)},線程合並起來一起計數
__CSVRead:從文件中讀取指定列的值
a.讀取固定值,無論循環多少次,值是不變的
b.讀取動態值,${__CSVRead(C:\Users\wzd\Desktop\testj.txt,next)}和${__CSVRead(C:\Users\wzd\Desktop\testj.txt,next())}寫法都可以,都代表下一個值
c.文件取別名
__FileToString:讀取文件,可一次性讀取文件內容,保存到變量中
__RadomString:隨機生成字符函數同__Random
__samplerName:獲取當前sampler的名稱
__V
3)從文件中讀取(文件讀取就是事先寫好一些數據,然后從文件中讀取,這樣的話,比如說登錄接口,賬號和密碼都是我們事先注冊好的)
從文件中讀取的有3個步驟:1、讀取文件2、取文件內容里面的參數,給它一個名字3、使用值(從文件讀取的話,需要在線程組里面添加一個CSV Data Set Config,它就是做前面兩步的操作的)。