Jmeter CSV Data Set Config參數化


在使用Jemeter做壓力測試的時候,往往需要參數化用戶名,密碼以到達到多用戶使用不同的用戶名密碼登錄的目的.這個時候我們就可以使用CSV Data Set Config實現參數化登錄:

首先通過Test Plan或者Thread Group的Add->Config Element->CSV Data Set Config添加



 以下是CSV Data Set Config各個參數的簡要說明:

  • FileName:即同目錄下csv文件的名稱
  • File Encoding: 默認為ANSI
  • Varible Names: 定義文本文件中的參數名,參數之間逗號分隔.定義后可在腳本在以Shell變量的同樣的方式引用
  • Allow Quoated data: 雙引號相關
  • Recycle on EOF: 設置為True后,允許循環取值
  • Stop Thread on EOF: 當Recycle on EOF為false並且Stop Thread on EOF為true,則讀完csv文件中的記錄后,停止運行
  • Sharing Mode: 設置是否線程共享

設置2個線程去運行,結果如下:



成功讀取CSV中的參數.

最后,我們需知Jmeter還有如下方式可以進行參數化:

    • User Defined Varibles: 一般對不需要改變的參數進行
    • User Parameters:
    • 通過系統函數: Options->Function Helper Dialog,通過自己輸入參數值,點擊"Generate" 按鈕產生

 

 

 

 

比如使用函數__CSVRead

  先准備csv文件,可以先在excel文件里准備好數據,保存的時候格式選擇csv格式;

  

  輸入csv文件所在的路徑:F:\test.csv,輸入參數所在的列(注意:此處列數是從0開始數的,第一列是用戶名,對應的列號為0,第二列是密碼,對應的列號為1...),生成被調用的函數:${__CSVRead(F:\test.csv,0)}

  

  在參數對應的值處填入:${__CSVRead(F:\test.csv,0)}

  

 

方法二、CSV Data Set Config

選中取樣器,右鍵:添加-配置元件-CSV Data Set Config,從csv文件中讀取

Filename:csv文件所在的路徑以及名稱如:F:\test.csv ;(其實不一定要csv文件,親測txt格式的文件也可以)

File encoding:給出頁面的編碼方式,可以不填寫;這里以百度為例,它的源代碼里 ,所以這里File encoding:gb2312
Variable Names(comma-delimited):給出變量名如:name,pwd;這里的變量名是給后面引用用的,如要用到這個文件的值,可以利用變量名來引用:${name},${pwd},如test.csv文件中有這樣的數據:1@180chen.cn,abc1233,那${name}就可以引用到1@180chen.cn,${pwd}就可以引用到abc1233
Delimiter(use '\t' for Tab):這個是用來隔開變量的分隔符,如上面的name,pwd,那分隔符就是“,”

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—當前線程。這個地方和LoadRunner中的迭代取之相反,經試驗得出來的結果是:

    All threads:測試計划中所有線程,假如說有線程1到線程n (n>1),線程1取了一次值后,線程2取值時,取到的是csv文件中的下一行,即與線程1取的不是同一行。

    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行。

綜上:CSV Data Set Config實現的功能跟之前用的:${__CSVRead(F:\test.csv,0)}這個函數實現的功能大體上是一樣的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM