Jmeter的CSV 使用者變數定義實現引數化

2021-09-22 20:02:09 字數 2226 閱讀 9931

參考部落格: 前言

在jmeter測試過程中,我們需要對不同的資料進行測試,然而在介面請求時我們一般只能填寫一條資料,不利於我們進行批量測試;借助scv,我們可以對測試用例裡的測試資料進行大規模的測試、不需要我們根據用例條條的輸入、請求、看結果;.外部匯入資料,幫助jmeter完成自動化迴圈測試的方法,方便儲存測試用例,隨時做回歸測試或者呼叫.

csv+使用者

1、csv data set config適用於引數取值範圍較大的時候使用,該方法具有更大的靈活性;

2、user defined variables一般用於test plan中不需要隨請求迭代的引數設定;

csv date set config可以將本地資料檔案形成資料池(date pool),而對應於http request configuration 指令碼在執行時就可以根據需要選取不同的引數值作為輸入。這種方式通常被稱為資料驅動測試(data driven test),引數的取值範圍被稱為資料池(data pool)。

定義的變數: 主要對執行緒組公共的地方進行單獨引數化、進行統一管理,使用者變數定義針對的是整個測試計畫 ps:user defined variables中定義的引數值在test plan執行過程中不能發生取值的改變,因此一般僅將test plan中不需要隨迭代發生改變的引數(只取一次的引數)

引數之間用逗號分開

csv檔案

file encoding: 保持預設。預設為ansi

variable names: 給csv檔案中各列起個名字(有多列時,用英文逗號隔開列名)便於後面引用

delimiter:與 .csv檔案的分隔符保持一致。如檔案中使用的是逗號分隔,則填寫逗號;如使用的是tab,則填寫\t;

allow quoted data? :是否允許引用資料,---這個目前還未弄明白,設定成true或者false都能正常引用資料。

recycle on eof?:到了檔案尾是否迴圈,true—繼續從檔案第一行開始讀取,false—不再迴圈

stop thread on eof? :到了檔案尾是否停止執行緒,true—停止,false—不停止,注:當recycle on eof設定為true時,此項設定無效。

sharing mode:共享模式,all threads –所有執行緒,current thread group—當前執行緒組,current thread—當前執行緒。

²  current thread group:當前執行緒組,假設有執行緒組a、執行緒組b,a組內有執行緒a1到執行緒an,執行緒組b內有執行緒b1到執行緒bn。取之情況是:執行緒a1取到了第1行,執行緒a2取第2行,現在b1取第1行,執行緒b2取第2行。

²  current thread:當前執行緒。假設測試計畫內有執行緒1到執行緒n (n>1),則執行緒1取了第1行,執行緒2也取第1行。

四:進行   迴圈控制器 設定scv資料請求次數

執行完,我們會看到察看結果樹,會有相應的執行結果:這裡我迴圈控制器設定為了2,所以我們可以看到有兩個請求結果

公共域一:新增 使用者定義變數

二:引用使用者定義變數 -----$

Jmeter 使用者引數 使用者定義的變數

記錄今天工作碰到的乙個問題。在常用的乙個jmeter執行緒組中,原有乙個作用域是全域性的使用者引數 在其中乙個http請求中我想覆蓋name這個變數,於是在這個http請求下新建了乙個使用者定義的變數name。執行後發現沒有覆蓋成功,本來以為name會取 王一 這個使用者定義的變數的值,實際上取的是...

Jmeter 中設定CSV讀取變數測試

1 讀取csv檔案實現資料和 分離,csv檔案中存放的是資料,下面把具體實現的步驟列一下 1 新建測試執行緒組 2 新增http請求,並設定相關的引數,注意其中的引數 a 伺服器或者ip 填寫伺服器的ip 或者網域名稱 不能加http b 協議為http c 方法選擇get 或post d 路徑 就...

Jmeter介面測試之使用者定義變數

晚上再複習jmeter介面測試的時候,看到別人的部落格中寫了乙個jmeter的配件 使用者定義變數 首先 位置 有兩個相同的,也不知道具體區別是什麼 其次 使用方法和場景。場景 當錄製的指令碼裡面有很多的相同的資料的時候,比如相同的伺服器ip,埠號等 當更換伺服器的時候,那麼需要手動的修改指令碼裡面...