วิธีดำเนินการ HTTP PUT Request โดยการอ่านค่าจาก CSV ใน JMeter?
ฉันมีคำถามฉันจะตั้งค่า HTTP Request Sampler สำหรับเมธอด HTTP PUT ใน JMeter ได้อย่างไรเพื่อให้สามารถอ่านข้อมูลจากไฟล์ CSV โดยใช้ CSV Data Set Config ได้อย่างไร ในสถานการณ์ของฉันฉันกำลังใช้ ** กลุ่มเธรดพร้อมกัน ** โดยมีพารามิเตอร์ต่อไปนี้: * ** Target Concurrency **: 50 * RampUp ** Time ** (** secs **): 10 * RampUp Steps ** count **: 5 * ถือเป้าหมาย .. (** วินาที **): 10
นี่คือการตั้งค่าการกำหนดค่าชุดข้อมูล CSVของฉัน:

(Java) ประเภทของVariable Namesคือ bookId: Long , title: String , price: double , amount: int , ผู้แต่ง: Set , หมวดหมู่: Set , isDeleted: boolean
นี่คือการตั้งค่าHTTP Request Samplerของฉัน:

... และนี่คือเนื้อหาของไฟล์bookCollection10Items.csvของฉันโดยค่าที่ยกมาคือสตริงและค่าที่อยู่ในวงเล็บมุม[]คืออาร์เรย์ของค่า (ขณะที่ฉันกำลังอัปเดตหนังสือที่มีความสัมพันธ์แบบกลุ่มต่อกลุ่มกับหมวดหมู่ / ผู้เขียน ):
1, "Harry Potter and Magic Stone", 39.99,2500, [4], 7,11, false
2, "Murder on the Orient Express", [19.98,500500], 1,9, false
3, "The Murder of Roger Ackroyd ", 19.99,1500,1, [7,9], false
4," Harry Potter and the Chamber of Secrets ", 24.99,0,4, [7,9], true
5," Harry Potter and the Prisoner of Azkaban ", 17.99,1200,4,7, false
6," The Da Vinci Code ", 29.99,700,8,10, false
7," Inferno ", 22.50,950,8,10, false
11," War และสันติภาพ ", 31.99,300,5,8, false
14," The Trial ", 27.99,450,6,9, false
15," IT ", 16.50,0,2,5, true
สิ่งที่ฉันต้องการบรรลุคือแต่ละเธรด (เช่นผู้ใช้)จะเลือกหนึ่งรายการจากไฟล์ "bookCollection10Items.csv" ในรูปแบบ Round-robin และอัปเดตสำหรับ bookId ที่กำหนดโดยใช้ "เธรดทั้งหมด" เป็นตัวเลือกโหมดการแบ่งปัน
คำแนะนำ / ข้อเสนอแนะใด ๆ จะได้รับการชื่นชมอย่างมาก
คำตอบ
การกำหนดค่าชุดข้อมูล CSV ในตัวของ JMeter กำลังอ่านบรรทัดจากไฟล์ CSV ตามลำดับดังนั้นผู้ใช้แต่ละคนจะได้รับบรรทัดถัดไปในการทำซ้ำแต่ละครั้ง
หากคุณต้องการอ่านบรรทัดแบบสุ่ม (แต่ฉันไม่คิดว่ามันเป็นความคิดที่ดีเพราะฉันเชื่อว่าการทดสอบต้องทำซ้ำได้ ) คุณจะต้องไปหาปลั๊กอินบางอย่างเช่น:
- การกำหนดค่าชุดข้อมูล CSV แบบสุ่ม
- หรือHTTP Simple Table Server
ทั้งสองสามารถติดตั้งได้โดยใช้JMeter Plugins Manager
ฉันจัดการเพื่อหาทางออกกับปัญหาของฉัน -> ฉันทำผิดพลาดโดย:
1)การสร้างไฟล์ CSV ในgEdit (Linuxs' เทียบเท่าของ Windows Notepad) แทนการใช้ LibreOffice Calc ที่ทำงานจะทำในเซลล์ ดังนั้นวิธีนี้ (ทั้งในgEditและLibreOffice Calc ):
3, "The Murder of Roger Ackroyd", 19.99,1500,1, [7,9], เท็จ
... คือไม่มี
2)การถอดวงเล็บมุม[]ออกจากรายการเพื่อให้อาร์เรย์ไม่มีอาร์เรย์ เช่นเมื่อมีวงเล็บเหลี่ยมฉันจะได้รับสิ่งนี้:
{
// some other fields
"authors" : [[7,9]]
}
3)ต้องจัดรูปแบบตัวเลขให้ถูกต้องด้วยทศนิยมเพื่อให้มีจุดไม่ใช่ลูกน้ำ ( ปัญหาภาษา ) เช่นรูปแบบที่เหมาะสมคือ 19.99 รูปแบบที่ไม่ถูกต้อง 19,99