jmeter設定參數的方法(隨機,讀csv等)

來源:互聯網
上載者:User
本文為整理jmeter設定參數的方法
設定參數值的方法有如下幾種: 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檔案中讀取
當參數的值沒有規律且量不太大時,可以用這種方法。
具體做法如下:
    3.1 建立一個csv檔案,內容為參數的值集,每一個參數佔一列,第一行就開始寫參數值,不要寫參數名
    3.2 在測試計劃或線程組中添加一個“配置元件”->“CSV Data Set Config”
    3.3 Filename中填寫步驟2.1中csv檔案的完整路徑(當csv檔案在bin目錄下時,只需給出檔案名稱即可)
    3.4 Virable Names中填寫變數名,如果csv檔案中有多個變數,則用逗號隔開
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請求中添加“後置處理器”->“Regex提取器”,以提取3.4中的使用者名稱和密碼為例設定Regex提取器的參數:
          引用名稱:user
          Regex:username:’(.+?)’\{password:’(.+?)’
          模板:$1$$2$
使用時,user_g1即為使用者名稱,user_g2即為對應使用者名稱的密碼;更多Regex提取方法參見JmeterRegex提取器 5.用Regex從前面請求的響應資料中提取,具體操作見JmeterRegex提取器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.