Azure Load Testing ile JMeter kullanıcı özelliklerini kullanma

Bu makalede, Azure Load Testing ile Apache JMeter kullanıcı özelliklerini yapılandırmayı ve kullanmayı öğrenin. Kullanıcı özellikleriyle, test ayarlarını JMeter test betiğinin dışında tutarak testinizi yapılandırılabilir hale getirebilirsiniz. Kullanıcı özellikleri için kullanım örnekleri şunlardır:

  • JMX test betiğini farklı uygulama uç noktalarına sahip birden çok dağıtım ortamlarında kullanmak istiyorsunuz.
  • Test betiğinizin duman testleri, en yüksek yük veya batırma testleri gibi birden çok yük desenini barındırması gerekir.
  • Sonuç dosyası biçimi gibi JMeter ayarlarını yapılandırarak varsayılan JMeter davranışını geçersiz kılmak istiyorsunuz.

Azure Load Testing standart Apache JMeter özelliklerini destekler ve bir kullanıcı özellikleri dosyasını karşıya yüklemenize olanak tanır. Yük testi başına bir kullanıcı özellikleri dosyası yapılandırabilirsiniz.

Alternatif olarak, testlerinizi yapılandırılabilir hale getirmek için Azure Load Testing'te ortam değişkenlerini ve gizli dizileri de kullanabilirsiniz.

Dekont

Azure Yük Testi belirli JMeter özelliklerini geçersiz kılar ve bu özellikler için belirttiğiniz değerleri yoksayar. Azure Yük Testi'nin geçersiz kıldığını JMeter özelliklerinin listesi hakkında daha fazla bilgi edinin.

Önkoşullar

Yük testinize JMeter kullanıcı özellikleri dosyası ekleme

Bir .properties dosyasını yük testine yükleyerek JMeter test betiğinizin kullanıcı özelliklerini tanımlayabilirsiniz. Azure Load Testing, yük testi başına tek bir JMeter özellikleri dosyasını destekler. Ek özellik dosyaları yoksayılır.

Aşağıdaki kod parçacığında üç kullanıcı özelliğini tanımlayan ve yapılandırma ayarını yapılandıran örnek bir kullanıcı özellikleri dosyası gösterilmektedir jmeter.save.saveservice.thread_name :

# peak-load.properties
# User properties for testing peak load
threadCount=250
rampUpSeconds=30
durationSeconds=600

# Override default JMeter properties
jmeter.save.saveservice.thread_name=false

Azure portalını kullanarak yük testinize kullanıcı özellikleri dosyası eklemek için şu adımları izleyin:

  1. Azure portalında Azure Yük Testi kaynağınıza gidin.

  2. Sol bölmede Testler'i seçerek test listesini görüntüleyin.

  3. Onay kutusunu seçerek listeden testinizi seçin ve ardından Düzenle'yi seçin. Alternatif olarak, yeni bir yük testi oluşturmak için Test oluştur'u seçin.

  4. Test planı sekmesini seçin.

  5. Bilgisayarınızdan özellikler dosyasını seçin ve ardından Karşıya Yükle'yi seçerek dosyayı Azure'a yükleyin.

    Screenshot that shows the steps to upload a user properties file on the Test plan tab on the Edit test pane.

  6. Dosya ilgi açılan listesinde Kullanıcı özellikleri'ni seçin.

    Screenshot that highlights the file relevance dropdown for a user properties file on the Test plan pane.

    Yük testi için kullanıcı özellikleri dosyası olarak yalnızca bir dosya seçebilirsiniz.

  7. Testi değiştirmek için Uygula'yı veya gözden geçir + oluştur'u ve ardından Oluştur'u seçerek yeni testi oluşturun.

JMeter'da başvuru özellikleri

Azure Yük Testi, JMeter test betiğinizdeki (JMX) kullanıcı özelliklerine başvurmak için yerleşik Apache JMeter işlevselliğini destekler. Daha önce karşıya yüklediğiniz özellik dosyasından özellik değerlerini almak için __property veya __P işlevlerini kullanabilirsiniz.

Aşağıdaki kod parçacığında bir JMX dosyasındaki özelliklere başvurma örneği gösterilmektedir:

<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Test home page" enabled="true">
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
    <boolProp name="LoopController.continue_forever">false</boolProp>
    <intProp name="LoopController.loops">-1</intProp>
</elementProp>
<stringProp name="ThreadGroup.num_threads">${__P(threadCount,1)}</stringProp>
<stringProp name="ThreadGroup.ramp_time">${__P(rampUpSeconds,1)}</stringProp>
<boolProp name="ThreadGroup.scheduler">true</boolProp>
<stringProp name="ThreadGroup.duration">${__P(durationSeconds,30)}</stringProp>
<stringProp name="ThreadGroup.delay"></stringProp>
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
</ThreadGroup>

Alternatif olarak, JMeter kullanıcı arabiriminde özellikleri de belirtirsiniz. Aşağıdaki görüntüde, JMeter iş parçacığı grubunu yapılandırmak için özelliklerin nasıl kullanılacağı gösterilmektedir:

Screenshot that shows how to reference user properties in the JMeter user interface.

Yük testi sırasındaki hataları gidermek için JMeter hata günlüklerini indirebilirsiniz.

Sonraki adımlar