Bagikan melalui


Membaca data dari file CSV di JMeter dengan Azure Load Testing

Dalam artikel ini, Anda mempelajari cara membaca data dari file nilai yang dipisahkan koma (CSV) dalam skrip pengujian dengan Azure Load Testing. Gunakan data dari file CSV eksternal untuk membuat skrip pengujian JMeter atau Locust Anda dapat dikonfigurasi. Misalnya, Anda dapat melakukan iterasi atas semua pelanggan dalam file CSV untuk meneruskan detail pelanggan ke dalam permintaan API.

Di JMeter, Anda dapat menggunakan elemen Konfigurasi Himpunan Data CSV di skrip pengujian Anda untuk membaca data dari file CSV. Di Locust, Anda dapat membuka file CSV di skrip pengujian Anda, membaca data yang diperlukan, dan meneruskannya ke permintaan.

Untuk membaca data dari file eksternal di Azure Load Testing, Anda harus mengunggah file eksternal bersama skrip pengujian dalam pengujian beban Anda. Jika Anda menskalakan pengujian di beberapa instans mesin pengujian paralel, Anda dapat memilih untuk membagi data input secara merata di seluruh instans ini.

Mulailah dengan mengkloning atau mengunduh proyek sampel dari GitHub.

Prasyarat

  • Sebuah akun Azure dengan langganan aktif. Jika Anda tidak memiliki langganan Azure, buatlah akun gratis sebelum Anda memulai.
  • Sumber daya pengujian beban Azure. Untuk membuat sumber daya pengujian beban, lihat Membuat dan menjalankan pengujian beban.
  • Skrip pengujian Apache JMeter (JMX) atau skrip Locust.
  • (Opsional) Apache JMeter GUI untuk menulis skrip pengujian Anda. Untuk menginstal Apache JMeter, lihat Memulai Apache JMeter.

Memperbarui skrip pengujian Anda untuk membaca data CSV

Di bagian ini, Anda mengonfigurasi skrip pengujian untuk mereferensikan file CSV eksternal. Anda menggunakan elemen Konfigurasi Himpunan Data CSV untuk membaca data dari file CSV.

Penting

Azure Load Testing mengunggah file JMX dan semua file terkait dalam satu folder. Saat Anda mereferensikan file eksternal di skrip JMeter, verifikasi bahwa Anda tidak memiliki referensi jalur file dalam skrip pengujian Anda.

Untuk pengujian berbasis JMeter, ubah skrip JMeter dengan menggunakan Apache JMeter GUI:

  1. Pilih elemen Konfigurasi Himpunan Data CSV di skrip pengujian Anda.

  2. Perbarui informasi Nama File dan hapus referensi jalur file apa pun.

  3. Secara opsional, masukkan nama bidang CSV di Nama Variabel, saat Anda membagi file CSV di seluruh mesin pengujian.

    Azure Load Testing tidak mempertahankan baris header saat memisahkan file CSV Anda. Berikan nama variabel dalam elemen Konfigurasi Himpunan Data CSV alih-alih menggunakan baris header.

    Cuplikan layar yang memperlihatkan UI JMeter untuk mengonfigurasi elemen Konfigurasi Himpunan Data C S V.

  4. Ulangi langkah-langkah sebelumnya untuk setiap elemen Konfigurasi Himpunan Data CSV dalam skrip.

  5. Simpan skrip JMeter dan unggah skrip ke uji beban Anda.

Untuk pengujian berbasis Locust, perbarui skrip Locust dengan membukanya di editor pilihan Anda.

  1. Di bagian tempat Anda membuka file, perbarui informasi Nama file dan hapus referensi jalur file apa pun.

  2. Simpan skrip Belalang dan unggah skrip ke pengujian beban Anda.

Unggah file CSV ke uji beban Anda

Saat Anda mereferensikan file eksternal dari skrip pengujian, pastikan untuk mengunggah semua file ini bersama skrip pengujian. Saat pengujian beban dimulai, Azure Load Testing menyalin semua file ke satu folder pada setiap instans mesin pengujian.

Penting

Azure Load Testing tidak mempertahankan baris header saat memisahkan file CSV Anda. Sebelum Anda menambahkan file CSV ke uji beban, hapus baris header dari file.

Untuk menambahkan file CSV ke pengujian beban Anda dengan menggunakan portal Microsoft Azure:

  1. Di portal Azure, buka sumber daya pengujian beban Azure Anda.

  2. Di panel kiri, pilih Pengujian untuk menampilkan daftar pengujian.

  3. Pilih pengujian Anda dari daftar dengan memilih kotak centang, lalu pilih Edit.

    Cuplikan layar yang memperlihatkan daftar pengujian beban dan tombol 'Edit'.

  4. Pada tab Uji paket , pilih file CSV dari komputer Anda, lalu pilih Unggah untuk mengunggah file ke Azure.

    Jika Anda menggunakan uji beban berbasis URL, Anda dapat memasukkan nama variabel sebagai daftar yang dipisahkan koma di kolom Variabel.

    Cuplikan layar tab Rencana uji pada panel Sunting uji.

    Jika ukuran file CSV lebih besar dari 50 MB, zip file. Ukuran file zip harus di bawah 50 MB. Azure Load Testing secara otomatis membuka zip file selama uji coba. Hanya lima artefak zip yang diizinkan dengan maksimum 1000 file di setiap zip dan ukuran total yang tidak dikompresi 1 GB.

  5. Pilih Terapkan untuk mengubah pengujian dan menggunakan konfigurasi baru saat Anda menjalankannya kembali.

Petunjuk / Saran

Jika Anda menggunakan uji beban berbasis URL, Anda dapat mereferensikan nilai dari file data input CSV dalam permintaan HTTP dengan menggunakan sintaks.$(variable)

Memisahkan data input CSV di seluruh mesin pengujian

Secara default, Azure Load Testing menyalin dan memproses file input Anda yang tidak dimodifikasi di semua instans mesin pengujian. Secara default, setiap mesin pengujian memproses seluruh file CSV. Secara bergantian, Azure Load Testing memungkinkan Anda membagi data input CSV secara merata di semua instans mesin. Jika Anda memiliki beberapa file CSV, setiap file dibagi secara merata.

Misalnya, jika Anda memiliki file input CSV pelanggan besar, dan pengujian beban berjalan pada 10 mesin pengujian paralel, maka setiap instans memproses 1/10 pelanggan.

Penting

Azure Load Testing tidak mempertahankan baris header saat memisahkan file CSV Anda.

  1. Konfigurasikan skrip pengujian Anda untuk menggunakan nama variabel saat membaca file CSV.
  2. Hapus baris header dari file CSV sebelum Anda menambahkannya ke pengujian beban.

Untuk mengonfigurasi uji beban Anda agar dapat membagi file CSV input:

  1. Buka tab Rencana pengujian untuk pengujian beban Anda.

  2. Pilih Pisahkan CSV secara merata di antara mesin Uji.

    Cuplikan layar yang memperlihatkan kotak centang untuk mengaktifkan pemisahan file C S V input saat mengonfigurasi pengujian di portal Microsoft Azure.

  3. Pilih Terapkan untuk mengonfirmasi perubahan konfigurasi.

    Saat berikutnya Anda menjalankan pengujian, Azure Load Testing membagi dan memproses file CSV secara merata di seluruh mesin pengujian.

Penyelesaian Masalah

Status pengujian gagal dan log pengujian memiliki File {my-filename} must exist and be readable

Ketika pengujian beban selesai dengan status Gagal, Anda dapat mengunduh log pengujian.

Saat Anda menerima pesan File {my-filename} must exist and be readable kesalahan di log pengujian, file CSV input tidak dapat ditemukan saat menjalankan skrip pengujian.

Azure Load Testing menyimpan semua file input bersama skrip pengujian. Saat Anda mereferensikan file CSV input dalam skrip pengujian, pastikan untuk tidak menyertakan jalur file, tetapi hanya gunakan nama file.

Cuplikan kode berikut menunjukkan ekstrak file JMeter yang menggunakan CSVDataSet elemen untuk membaca file input. Perhatikan bahwa filename tidak menyertakan jalur file.

<CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="Websites CSV" enabled="true">
    <stringProp name="filename">websites.csv</stringProp>
    <stringProp name="fileEncoding">UTF-8</stringProp>
    <stringProp name="variableNames">CustomerId,CustomerName,Url</stringProp>
    <boolProp name="ignoreFirstLine">true</boolProp>
    <stringProp name="delimiter">,</stringProp>
    <boolProp name="quotedData">false</boolProp>
    <boolProp name="recycle">false</boolProp>
    <boolProp name="stopThread">true</boolProp>
    <stringProp name="shareMode">shareMode.all</stringProp>
    <stringProp name="TestPlan.comments">Read all records from the CSV file -  stop thread at end of file</stringProp>
</CSVDataSet>