簡體   English   中英

JMeter:如何根據列值讀取 csv 文件中的特定行數據並將該列的值傳遞給采樣器?

[英]JMeter : How to read particular row data in csv file based on a column value and pass value of that column to a sampler?

我是 Jmeter 的新手,並且正在做 POC 以對 web 應用程序進行負載測試。

我正在嘗試做的事情:
我總共有 4 個用戶登錄名(外科醫生)。 每個登錄名都與“n”名患者相關聯。
我創建了 2 個 CSV 文件
1.具有外科醫生用戶登錄名和密碼的一份
2. 另一個 CSV 文件,其中包含與該患者相關的 PatientName、PatientID 和 Surgeon,如下所示。

患者姓名、患者 ID、登錄名
Pa1,PID1,用戶1
Pa2,PID2,用戶1
Pa3,PID3,用戶1
Pa4,PID4,user1
Pa5,PID5,用戶2
Pa6,PID6,用戶2
Pa7,PID7,user3
Pa8,PID8,user4

我的場景:

  1. 以用戶身份登錄。
  2. 根據他們的關聯導航到每個患者儀表板。
  3. 退出應用程序。

我的測試計划

線程組(4 個用戶,加速時間為 1 秒,1 個循環)-csv1(帶用戶名、密碼)
- 登錄頁面並導航到主頁 - 運行時 Controller(維持設定時間的負載)
-- While Loop(在外科醫生/用戶登錄的患者儀表板之間循環)---CSV2(如上所示的數據)----導航到儀表板
----導航到主
- 退出應用程序

我想要達到的目標:

我想使用單線程組並為所有 4 個用戶同時運行它。 在這個過程中,一旦用戶登錄,用戶應該只關聯來自CSV的那些患者數據。
例如:當 Thread1 以 User1 登錄運行時,他應該只能循環通過 Pa1、Pa2、Pa3、Pa4 用戶 當 thread2 以 User2 登錄運行時,用戶應該只讀取 Pa5、Pa6 數據。

像這樣,每個用戶登錄應該只根據上面提到的關聯選擇那些用戶。
有什么辦法,我可以使用這個單一的 CSV2 文件來完成這個任務嗎? 這樣我就不必使用 n 個 CSV 文件創建 n 個登錄的 n 個線程,每個文件都包含特定於用戶登錄的數據。

根據JMeter 測試元件執行順序

0.配置元素

  1. 預處理器

  2. 計時器

  3. 采樣器

  4. 后處理器(除非 SampleResult 為空)

  5. 斷言(除非 SampleResult 為空)

  6. 偵聽器(除非 SampleResult 為空)

作為一個配置元素CSV 數據集配置被初始化一次,然后再進行任何其他操作,因此您將無法使用第一個 CSV 數據集配置中的當前變量 ZCC8D68C551C4A9A6D5313E07DE4DE4DE4DE4

The solution is using __CSVRead() function instead, JMeter Functions are evaluated in the place where they appear in the Test Plan so you can use any hardcoded value or JMeter Variable or another function there.

更多信息: 如何在 JMeter 運行時選擇不同的 CSV 文件

1. CSV Data Set Config for Surgeon credentials (loginNameSurgeon & Password)
2. Login Request (take first surgeon credentials from CSV) 
3. While ${__jexl3("${loginNameSurgeon}" != "${loginName}")} 
    a. CSV Data Set Config for patient data w.r.t surgeons (PatientName,PatientId,loginName)
    b. If Controller - ${__jexl3("${loginName}" != "<EOF>")}  // to check if we have any more loginName left
    c. Dashboard request
    d. Debug Sampler // Just to validate if the variables are in place.
4. Logout request   

暫無
暫無

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

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