国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 編程設計 > 正文

jmeter如何參數化?Jmeter參數化設置的5種方法

2020-06-27 14:09:18
字體:
來源:轉載
供稿:網友

jmeter如何參數化?我們使用jmeter在進行測試的時候,測試數據是一項重要的準備工作,每次迭代的數據當不一樣的時候,需要進行參數化,從參數化的文件中來讀取測試數據。那么,你知道jmeter如何進行參數化嗎?接下來小編就給大家總結了Jmeter參數化設置的5種方法,主要詳細介紹的是用Csv Data配置元件來進行參數化,對于Jmeter參數化設置不太了解到的小伙伴一定要仔細看哦!!

 

軟件名稱:
apache jmeter v2.13 英文官方免費版
軟件大小:
13.7MB
更新時間:
2015-07-01

 

用Jmeter測試時包含兩種情況的參數,一種是在url中,一種是請求中需要發送的參數。

URL中的參數,如:http://blog.da-fang.com/index.php/2010/06/01/jmeter參數/,其中“2010/06/01/jmeter參數”為url參數。

請求中的參數,此處只能舉例get請求,如:http://blog.da-fang.com/?category=Web,其中“category”是參數名,“Web”是它的值。

對于post請求,用jmeter錄制后,可以在請求的“同請求一起發送參數”和“同請求一起發送文件”中找到。

參數化Jmeter腳本時,使用參數的地方書寫格式為$

對于URL“http://blog.da-fang.com/index.php/2010/06/01/jmeter參數/”,在Jmeter的http請求中blog.da-fang.com填寫在“服務器名稱或IP”中;/index.php/$/填寫在“路徑”中。

對于請求中的參數http://blog.da-fang.com/?category=Web,在Jmeter的http請求中blog.da-fang.com填寫在“服務器名稱或IP”中;/填寫在“路徑”中;參數名稱category填寫在“同請求一起發送參數”的“名稱”中,參數值$填寫在對應的“值”中。

Jmeter參數化設置的5種方法:

1. 用Jmeter中的函數獲取參數值,__Random,__threadNum,__CSVRead,__StringFromFile,具體調用方法如下:

${__Random(,,)},$,${__CSVRead(,)},${__StringFromFile(,,,)}。

參看Jmeter函數的使用,通過菜單“選項”->“函數助手對話框”,即可在“函數助手”彈出框上找到Jmeter的函數。

其中${__Random(,,)}方法的第一個參數為隨機數的下限,第二個參數為隨機數的上限,第三個參數為儲存隨機數的變量名;${__CSVRead(,)}方法中第一個參數是文件名,第二個參數是文件中的列(列數從0開始);${__StringFromFile(,,,)}方法中第一個參數是文件名,${__StringFromFile(,,,)}方法中沒有指定讀取文件中的哪一列的參數,所以${__StringFromFile(,,,)}只能讀取包含一列的文件。

2.用戶定義的變量

2.1 添加“配置元件”->“用戶定義的變量”

2.2 “名稱”中輸入變量名稱,此處以登錄為例,定義兩個變量username和password。“值”中可以直接輸入值,也可以通過Jmeter的函數__CSVRead,__StringFromFile從csv或dat文件中讀取,還可以通過前綴加隨機數的方法設置參數。

當參數值是某個前綴加一個數字時,可以用前綴名加${__Random(,,)}或$的方法設置參數值。如進行登錄測試之前,先準備了用戶名為perf_0到perf_1000的用戶,那么用戶名就可以設為perf_{__Random(0,1000,)}。

當參數值沒有規律的且量不太大時,可以通過${__CSVRead(,)},${__StringFromFile(,,,)}從文件中讀取,如將用戶名和密碼保存在user.csv文件中,user.csv的內容如下:

oriana,123456

admin,admin

dandan,123456

因為user.csv文件中有兩列數據,所以只能用${__CSVRead(,)}函數,username參數后的值設為${__CSVRead(user.csv,0)},password參數后的值設為${__CSVRead(user.csv,1)}。

3. 從csv文件中讀取(用Csv Data配置元件來進行參數化)

當參數的值沒有規律且量不太大時,可以用這種方法。

具體做法如下:

1、打開jmeter圖形界面工具,打開之前的腳本。

jmeter,參數化

2、右鍵【添加】-【配置元件】-【Csv Data Set Config】

jmeter,參數化

3、這個配置元件可以允許從你輸入的路徑來讀取文件,然后根據分隔符獲取到數據。

jmeter,參數化

4、如下圖,輸入的數據。

講解:

a,名稱和注釋不需要過多解釋,自己定義。

b,Filename:參數化文件的讀取位置。這個路徑可以是絕對路徑也是可以相對路徑。在分布式測試中,還是利用相對路徑比較方便,因為有的機器可能安裝路徑不一樣。

c,File Encoding:編碼格式,選擇utf-8

d,Variable Names:變量名稱。這里定義的變量名稱,后面就可以直接用來引用了。(多個變量名稱以逗號隔開。例如username,passwd。參數化文件中同樣有對應的兩列數據。)

e,Ignore first line:忽略第一行數據。(類似loadrunner中第一行數據是變量名稱,如果你的配置文件中為了記憶第一行也是變量名,可以選擇是忽略這行數據)

f,Delimiter:分隔符,默認逗號。

g,Allow quoted data:是非選項,是否允許變量中間有分隔符,這里最好先默認false,數據中間最好不要有分隔符。

h,Recycle on EOF和Stop thread on EOF按需設置。是否循環,到結尾是否停止測試。我這里設置了True和False

i,Sharing mode:先選擇所有的線程都可以利用此參數化。

jmeter,參數化

5、準備測試數據。這里只是簡單的寫了幾個數據來演示效果。

jmeter,參數化

6、在請求中引用該變量。

引用方法是 ${}   ;其中{}內寫入參數化中的變量。

注:在parameter中加入一些多余的參數沒有問題,故在訪問百度的請求后面隨意加了一個參數。

jmeter,參數化

7、修改循環次數。這里設置6次,是因為參數里面有5個數據,測試一下數據取完之后的效果。

jmeter,參數化

8、點擊運行,查看結果樹。

可以看到共發送了6次請求,而且請求參數中已經獲取了變量的數據。

jmeter,參數化

9、打開第二個請求。可以看到第二個請求的參數里面變量值為data-b。

順序讀取的。

jmeter,參數化

10、找到最后一個請求,點開查看。

請求參數中searchid是data-a,說明數據是從頭開始取的,也就是數據是遍歷后循環的。

參數化完成了。

jmeter,參數化

4.從數據庫中獲取

當參數的值沒有規律且量比較大時,可以選用這種方法。

具體做法如下:

4.1 下載MySQL JDBC “http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.12.zip/from/http://ftp.jaist.ac.jp/pub/mysql/”

4.2 解壓下載的zip包后,將其中的mysql-connector-java-5.1.12-bin.jar放到Jmeter的lib目錄下

4.3 添加“配置元件”->“JDBC Connection Configuration”,設置下列參數:

Database URL:jdbc:mysql://host:port/db(如jdbc:mysql://localhost:3306/testlink

JDBC Driver class:com.mysql.jdbc.Driver

username:連接數據庫的用戶名(如root)

password:連接數據庫的密碼

4.4 添加“Sampler”->“JDBC Request”,在SQL Query中輸入查詢語句,如下:

SELECT CONCAT (“[",

GROUP_CONCAT(

CONCAT("{username:'",login,"'"),

CONCAT("{password:'",password),"'}"),"]“) AS json FROM users

4.5 在4.4中的JDBC請求中添加“后置處理器”->“正則表達式提取器”,以提取3.4中的用戶名和密碼為例設置正則表達式提取器的參數:

引用名稱:user

正則表達式:username:’(.+?)’/{password:’(.+?)’

模板:$1$$2$

使用時,user_g1即為用戶名,user_g2即為對應用戶名的密碼;更多正則表達式提取方法參見Jmeter正則表達式提取器

5.用正則表達式從前面請求的響應數據中提取,具體操作見Jmeter正則表達式提取器

教程結束,以上就是關于jmeter如何參數化?Jmeter參數化設置的5種方法步驟,希望對大家有所幫助!更多jmeter相關教程,請繼續關注VEVB武林網網站。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 怀来县| 红桥区| 溧阳市| 贵溪市| 荔浦县| 宣武区| 天等县| 金沙县| 武威市| 辰溪县| 营山县| 德州市| 台东市| 汶上县| 天全县| 林口县| 青岛市| 铜鼓县| 余姚市| 定襄县| 澎湖县| 云浮市| 怀仁县| 犍为县| 兴化市| 南澳县| 越西县| 西充县| 海安县| 怀宁县| 涟源市| 巢湖市| 内黄县| 肃宁县| 汾阳市| 兰考县| 肇庆市| 广昌县| 永福县| 新兴县| 柘城县|