Azure Load Testing ile JMeter'da CSV dosyasından veri okuma
Bu makalede, Azure Load Testing ile JMeter'da virgülle ayrılmış değer (CSV) dosyasından verileri okumayı öğreneceksiniz. JMeter test betiğinizi yapılandırılabilir hale getirmek için dış CSV dosyasındaki verileri kullanın. Örneğin, müşteri ayrıntılarını API isteğine geçirmek için CSV dosyasındaki tüm müşterileri yineleyebilirsiniz.
JMeter'de, bir CSV dosyasındaki verileri okumak için test betiğinizdeki CSV Veri Kümesi Yapılandırma öğesini kullanabilirsiniz.
Azure Load Testing'teki bir dış dosyadan veri okumak için yük testinizde JMeter test betiğinin yanı sıra dış dosyayı karşıya yüklemeniz gerekir. Testinizin ölçeğini birden çok paralel test altyapısı örneğinde genişletiyorsanız, giriş verilerini bu örnekler arasında eşit olarak bölmeyi seçebilirsiniz.
GitHub'dan örnek projesini kopyalayarak veya indirerek başlayın.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- Azure yük testi kaynağı. Yük testi kaynağı oluşturmak için bkz . Yük testi oluşturma ve çalıştırma.
- Apache JMeter test betiği (JMX).
- (İsteğe bağlı) Test betiğinizi yazmak için Apache JMeter GUI. Apache JMeter'ı yüklemek için bkz . Apache JMeter Başlarken.
CSV verilerini okumak için JMeter betiğinizi güncelleştirme
Bu bölümde Apache JMeter betiğinizi dış CSV dosyasına başvuracak şekilde yapılandıracaksınız. CSV dosyasındaki verileri okumak için CSV Veri Kümesi Yapılandırma öğesi kullanırsınız.
Önemli
Azure Load Testing, JMX dosyasını ve tüm ilgili dosyaları tek bir klasöre yükler. JMeter betiğinizdeki bir dış dosyaya başvurduğunuz zaman, test betiğinizde dosya yolu başvurusu olmadığını doğrulayın.
Apache JMeter GUI'sini kullanarak JMeter betiğini değiştirin:
Test betiğinizde CSV Veri Kümesi Yapılandırma öğesini seçin.
Dosya adı bilgilerini güncelleştirin ve dosya yolu başvurularını kaldırın.
İsteğe bağlı olarak, CSV dosyasını test altyapıları arasında böldüğünüzde , Değişken Adları'na CSV alan adlarını girin.
Azure Load Testing, CSV dosyanızı bölerken üst bilgi satırını korumaz. Üst bilgi satırı kullanmak yerine CSV Veri Kümesi Yapılandırma öğesinde değişken adlarını sağlayın.
Betikteki her CSV Veri Kümesi Yapılandırması öğesi için önceki adımları yineleyin.
JMeter betiğini kaydedin ve betiği yük testinize yükleyin.
CSV dosyasını yük testinize yükleme
Test betiğinizden dış dosyalara başvururken, JMeter test betiğiyle birlikte tüm bu dosyaları karşıya yüklediğinizden emin olun. Yük testi başladığında, Azure Load Testing tüm dosyaları test motoru örneklerinin her birinde tek bir klasöre kopyalar.
Önemli
Azure Load Testing, CSV dosyanızı bölerken üst bilgi satırını korumaz. CSV dosyasını yük testine eklemeden önce, üst bilgi satırını dosyadan kaldırın.
Azure portalını kullanarak yük testinize CSV dosyası eklemek için:
Sol bölmede Testler'i seçerek test listesini görüntüleyin.
Onay kutusunu seçerek listeden testinizi seçin ve ardından Düzenle'yi seçin.
Test planı sekmesinde, bilgisayarınızdan CSV dosyasını seçin ve ardından Karşıya Yükle'yi seçerek dosyayı Azure'a yükleyin.
URL tabanlı yük testi kullanıyorsanız Değişkenler sütununa değişken adlarını virgülle ayrılmış liste olarak girebilirsiniz.
CSV dosyasının boyutu 50 MB'tan büyükse, dosyayı sıkıştırın. Zip dosyasının boyutu 50 MB'ın altında olmalıdır. Azure Yük Testi, test çalıştırması sırasında dosyanın otomatik olarak çıkarılır. Her zip dosyasında en fazla 1000 dosya ve sıkıştırılmamış toplam boyutu 1 GB olan yalnızca beş zip yapıtına izin verilir.
Testi değiştirmek ve yeniden çalıştırırken yeni yapılandırmayı kullanmak için Uygula'yı seçin.
Bahşiş
URL tabanlı yük testi kullanıyorsanız, söz dizimini kullanarak HTTP isteklerindeki CSV giriş veri dosyasındaki değerlere $(variable)
başvurabilirsiniz.
CSV giriş verilerini test altyapıları arasında bölme
Varsayılan olarak, Azure Load Testing giriş dosyalarınızı tüm test altyapısı örneklerinde değiştirilmemiş olarak kopyalar ve işler. Varsayılan olarak, her test altyapısı CSV dosyasının tamamını işler. Alternatif olarak Azure Yük Testi, CSV giriş verilerini tüm altyapı örnekleri arasında eşit olarak bölmenizi sağlar. Birden çok CSV dosyanız varsa, her dosya eşit olarak bölünür.
Örneğin, büyük bir müşteri CSV giriş dosyanız varsa ve yük testi 10 paralel test motoru üzerinde çalışıyorsa, her örnek müşterilerin 1/10'unu işler.
Önemli
Azure Load Testing, CSV dosyanızı bölerken üst bilgi satırını korumaz.
- CSV dosyasını okurken değişken adlarını kullanmak için JMeter betiğinizi yapılandırın.
- Üst bilgi satırını yük testine eklemeden önce CSV dosyasından kaldırın.
Yük testinizi giriş CSV dosyalarını bölecek şekilde yapılandırmak için:
Sorun giderme
Test durumu başarısız oldu ve test günlüğünde File {my-filename} must exist and be readable
Yük testi Başarısız durumuyla tamamlandığında test günlüklerini indirebilirsiniz.
Test günlüğünde bir hata iletisi File {my-filename} must exist and be readable
aldığınızda, JMeter betiği çalıştırılırken giriş CSV dosyası bulunamadı.
Azure Load Testing, tüm giriş dosyalarını JMeter betiğiyle birlikte depolar. JMeter betiğinde giriş CSV dosyasına başvururken, dosya yolunu eklemediğinizden emin olun, ancak yalnızca dosya adını kullanın.
Aşağıdaki kod parçacığında, giriş dosyasını okumak için bir öğe kullanan bir CSVDataSet
JMeter dosyasının ayıklanması gösterilmektedir. dosyasının filename
dosya yolunu içermediğini fark edin.
<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>
İlgili içerik
- Ortam değişkenleri ve gizli dizilerle yük testi yapılandırın.