天天看點

三、jmeter參數化

一、什麼場景使用參數化:

1、對資料庫進行插入操作、資料庫對該字段做了唯一性校驗:

 資料庫字段加了unique,唯一性限制。比如注冊注冊場景,使用者名肯定是不可以重複的,在庫裡做了unique,唯一性限制。每次注冊的時候,先要去庫裡查一下使用者名字段,輸入的賬号是否存在。這個賬号隻能用一次,是以這個賬号要做參數化。

2、業務層做了唯一性校驗:

在庫裡沒有做唯一性校驗,但是在業務上做了唯一性校驗的。

3、資料庫緩存

比如一個電商平台,查詢商品資訊的場景。

第一次查詢該商品時,接口去庫裡查詢資訊,然後将商品資訊反給了使用者,同時将該商品的資訊緩存了起來。

第二次查詢該商品時,接口去庫裡查資料,直接讀取緩存資料,将緩存裡的商品資訊,傳回給了使用者,沒有去做一些邏輯處理。這樣速度更快的傳回給了使用者資訊。

開發做緩存的手段,可以使用redis,也可以使用mysql緩存。

為了避免查詢緩存帶來的結果失真

如查詢商品,我們先去庫裡撈一批資料(商品的名稱),然後再對腳本裡的商品名稱做參數化,避免緩存對我們接口性能的影響。

二、參數化方式

jmeter支援如下4種參數化方式:

User Variables:使用者參數

函數助手:_CSVRead

CSV Data Set Config:CSV資料控件

User Defined Variables:使用者定義的變量

2.1函數助手:

點選jmeter的界面,功能欄選項→ 工具→ 函數助手對話框

功能:

1、時間戳

2、随機數

3、UUID

等等一大堆,自己可以去看看。這裡舉2例子。

2.1.1時間戳

選擇time,點選生成。拷貝生成的變量

三、jmeter參數化

直接輸入 函數 ${__timeShift(,,,,)}

也可以在函數前加一些東西 cs${__timeShift(,,,,)}

2.1.2随機數

選擇Random,輸入最大值,最小值,點選生成。然後拷貝生成的變量

三、jmeter參數化

2.1.3 UUID

三、jmeter參數化

2.2配置元件——CSV Data Set Config

這個是最常用的方式。

支援檔案類型:txt、csv(不可使用xlsx)類型

建立 配置元件 CSV Data Set Config

右鍵點選線程組→添加配置元件→ CSV Data Set Config

三、jmeter參數化

檔案名:資料的檔案路徑

檔案編碼:

如果你知道你原檔案的編碼,就填寫,如果不知道就不填寫,使用預設的就可以了。

預設是ISO-8859。(這裡的編碼輸入框,我們盡量空着,最好不填寫)

三、jmeter參數化

變量名稱:

多個變量名稱,用英文逗号隔開。

忽略首行:

預設為False,會去取第一行的資料

當為True時,忽略第一行資料

分割符:

是否允許帶引号(是否忽略引号):

就是檔案裡的變量,有的帶着引号呢,要不要傳參的時候把引号幹掉

三、jmeter參數化

True:檔案裡的變量,有雙引号,則接口請求時,這個變量會帶着雙引号

False :檔案裡的變量,有雙引号,接口請求時,這個變量不會帶着雙引号

三、jmeter參數化

  遇到檔案結束符再次循環:

true 循環取數

False 不循環再取就是eof

如檔案裡,變量隻有10條資料,所有的請求一共12個請求。

設定  遇到檔案結束符再次循環:True  ,則第11個請求,會去從頭讀取變量檔案。

設定  遇到檔案結束符再次循環:False  ,前10個請求,讀取的檔案,第11個及以後的請求,變量名稱會被“EOF” 這個字元代替。

遇到檔案結束符停止線程:

場景:當檔案裡變量不夠用時,會用EOF來代替變量。

True:遇到EOF就停止了線程

False:允許EOF代替變量,繼續做請求。

線程共享模式:(在多線程的時候,并發)

設定變量檔案,如下

name
張三
李四

1.所有現場

所有的線程,每次取值都不一樣。

第一次循環,線程1取第一個值,線程2取第二個值,

第二次循環,線程1取第三個值,線程2取第四個值,

2.目前線程組

選擇目前線程組模式。設定2個線程的并發,循環多次。運作腳本,則

線程1,第一次取值張三,第二次取值李四

線程2,第一次取值張三,第二次取值李四

這種模式,并發下,每個線程取的值是一樣的,隻有循環的時候,才會去下一個變量值。

所有現場 這個模式是最通用的(用這個一般沒錯)

 txt參數化(linux&mac和win)

a、建立如圖的一個txt檔案,儲存名為1.txt

以列來區分字段,如第一列為姓名,第二列為類型。且中間以英文的逗号隔開。

三、jmeter參數化

b、

檔案名:儲存參數化資料的檔案目錄,可選擇相對或者絕對路徑(建議填寫相對路徑,避免腳本遷移時需要修改路徑);

絕對路徑:/Users/a58/Desktop/1.txt

mac&linux 相對路徑:

如:

腳本路徑 txt資料檔案真實路徑 jmeter填寫路徑(圖1和圖2)
/Users/a58/天氣.jmx /Users/a58/1.txt 1.txt
/Users/a58/天氣.jmx /Users/a58/資料/2.txt ./資料/2.txt

圖1

三、jmeter參數化

圖2

三、jmeter參數化

win 相對路徑

資料檔案路徑:

C:\Users\Beckham\Desktop\jmeter\參數化檔案\連結-代理商背景.csv

腳本所在目錄:

C:\Users\Beckham\Desktop\jmeter

Jmeter上寫成相對路徑為

.\參數化檔案\連結-代理商背景.csv

1.4.2.2 csv參數化

做參數化時,不可以使用excel檔案,不然會亂碼,要轉成csv格式(不可直接修改xlsx字尾)

a、建立excel檔案,編輯資料的時候,一定要在excel上操作

b、在excel内,點選另存為csv格式,儲存。

檔案-另存為-csv格式

三、測試計劃下的全局變量,User Variables:使用者參數