Bagaimana cara melakukan Permintaan HTTP PUT dengan membaca nilai dari CSV di JMeter?
Saya punya pertanyaan bagaimana cara mengatur HTTP Request Sampler untuk metode HTTP PUT di JMeter sehingga dapat membaca data dari file CSV menggunakan CSV Data Set Config? Dalam skenario saya, saya menggunakan ** Concurrency Thread Group ** dengan parameter berikut: * ** Target Concurrency **: 50 * RampUp ** Time ** (** secs **): 10 * RampUp Steps ** menghitung **: 5 * Tahan Target .. (** detik **): 10
Ini adalah penyiapan Konfigurasi Kumpulan Data CSV saya :

(Java) Jenis Nama Variabel adalah: bookId: Long , judul: String , harga: double , jumlah: int , penulis: Set , kategori: Set , isDeleted: boolean
Ini adalah penyiapan HTTP Request Sampler saya :

... dan ini adalah konten file bookCollection10Items.csv saya di mana nilai yang dikutip adalah String, dan nilai yang ada dalam tanda kurung siku [] adalah array nilai (saat saya memperbarui Buku yang memiliki hubungan Banyak-ke-Banyak dengan Kategori / Penulis ):
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 dari 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 dan Peace ", 31.99.300,5,8, false
14," The Trial ", 27.99.450,6,9, false
15," IT ", 16.50,0,2,5, true
Apa yang ingin saya capai adalah bahwa setiap Thread (yaitu Pengguna) memilih satu item dari file "bookCollection10Items.csv" secara round-robin dan memperbaruinya untuk bookId tertentu menggunakan "All Threads" sebagai opsi Mode Berbagi .
Setiap saran / saran sangat dihargai.
Jawaban
Konfigurasi Kumpulan Data CSV bawaan JMeter membaca baris dari file CSV secara berurutan sehingga setiap pengguna akan mendapatkan baris berikutnya pada setiap iterasi.
Jika Anda perlu membaca baris acak (namun menurut saya itu bukan ide yang baik karena saya yakin tes perlu diulang ) Anda perlu menggunakan beberapa plugin seperti:
- Konfigurasi Kumpulan Data CSV Acak
- atau HTTP Simple Table Server
Keduanya dapat diinstal menggunakan JMeter Plugins Manager
Saya telah berhasil menemukan solusi untuk masalah saya -> Saya membuat kesalahan dengan:
1) Membuat file CSV di gEdit (Linux setara dengan Windows Notepad) daripada menggunakan LibreOffice Calc di mana pekerjaan dilakukan dalam sel . Oleh karena itu, seperti ini (baik di gEdit dan LibreOffice Calc ):
3, "Pembunuhan Roger Ackroyd", 19.99,1500,1, [7,9], salah
... adalah tidak-tidak.
2) Menghapus tanda kurung sudut [] dari daftar sehingga array TIDAK akan berisi array. Misalnya, saat tanda kurung siku ada, saya mendapatkan ini:
{
// some other fields
"authors" : [[7,9]]
}
3) Harus benar memformat angka dengan desimal berisi titik , BUKAN koma ( masalah lokal ). Misalnya format yang benar adalah 19,99, format yang salah 19,99