簡體   English   中英

如何在jmeter中使用.csv文件的單元格值?

[英]How to use cell values of .csv file in jmeter?

我有一個 .csv 文件,其中包含多個員工姓名條目。現在我想在 jmeter 的 jmx 腳本中讀取該 .csv 文件。 我的 jmx 腳本的每個線程應該以某種方式從 .csv 文件中讀取不同的值。 然后我想在 HTTP 請求中使用這些單元格值。

我正在使用 Bean Shell 預處理器。 但這對我沒有幫助。以下是我為它編寫的代碼

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

CSVReader reader = new CSVReader(new FileReader(C:/Users/manoj/Downloads/View_All_names.csv));
String[] row;
String name;
while ((row = reader.readNext()) != null) 
            {
                            name = row[1];

            }

我想在我的 HTTP 請求中使用值“name”然后。我必須在測試計划中提到這個屬性“name”嗎??

任何幫助表示贊賞。

首先,你知道__CSVRead()函數嗎? 您應該能夠直接在需要 CSV 文件中的值的地方使用它,而無需編寫一行代碼。


以防萬一您出於任何原因仍然需要 Beanshell。

  1. 您需要用引號將 CSV 文件的路徑括起來
  2. 您需要將結果值寫入 JMeter 變量以供以后重用。
  3. 你從哪里得到上面的代碼? 如果CSVReader代表com.helger.commons.csv.CSVReaderph-commons-6.2.4.jar -你需要使用不同的那么一點點,像使用 列表的字符串而不是機智的數組:

     import com.helger.commons.csv.CSVReader; CSVReader reader = new CSVReader(new FileReader("C:/Users/manoj/Downloads/View_All_names.csv")); List row; String name; int counter = 1; while ((row = reader.readNext()) != null) { name = row.get(1).toString(); vars.put("name_" + counter, name); counter++; }

    在 Beanshell PreProcessor 完成其工作后,您將能夠訪問變量值,例如:

    • ${name_1}
    • ${name_2}
    • ${name_3}
    • 等。

vars代表JMeterVariables類的實例,它提供對作用域中 JMeter 變量的讀/寫訪問。 有關 JMeter 測試中 Beanshell 腳本的更多信息,請參閱如何使用 BeanShell:JMeter 最喜歡的內置組件文章。

您只需要放置一個CSV 數據集配置組件,它就會為您讀取條目。 每個線程(用戶)的每一行。 在組件中,您需要指定稍后將在測試計划中使用的變量名稱,以及 .csv 文件的路徑。

CSV 數據集配置

如果你把變量名像“name”(不帶引號)一樣,你將在請求/采樣器中使用 ${name} 來使用它。

在此處輸入圖片說明

一種在jMeter中從excel中捕獲列值的簡單方法

只需在 excel 列中插入數據,即水平插入所有數據並使用

${__CSVRead(filePath,ColNum)}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM