2016-03-22 11 views
2

Yük testlerim için JMeter kullanıyorum. Zamanlayıcıyı milisaniyede bir gecikme yapmak için uzatmak ve bir sonraki örneği geciktirmek için kullanmak istiyorum. Bunu yapmak için şu anda BeanShell Script kullanıyorum ancak bir Script Snippet'i yerine bir Java sınıfına sahip olmak istiyorum. Ne Zamanlayıcı sınıfını genişletmeliyim ve bakabileceğim bir örnek var mı? Çevrimiçi bir şey bulamadım: - |Zamanlayıcıyı değişken olarak geciktirmek için JMeter Timer'ı genişletme

+0

SwingTimer belki? – user489041

cevap

1

Bir zamanlayıcı uygulamak zorunda kalmadım, ancak Sampler, Post-İşlemci ve Dinleyiciyi uyguladım, bu yüzden Timer'in diğer bileşenlerle benzerliği hakkında bazı varsayımlar yapıyorum. Ayrıca, ben JMeter eklentileri geliştirme hakkında herhangi bir iyi dokümantasyon görmedim, genellikle nasıl yaptıklarını anlamak için JMeter kodunda kazıyorum, sonra çeşitli işlevleri açıklayan API belgelerini kontrol ediyorum.

Temel olarak 2 sınıfları

  1. bir saat çalıştırır A sınıfı uygulaması gerekecektir. Bu sınıf AbstractTestElement'u genişletmeli ve zamanlayıcınızı JMeter UI'de göstermek için Timer interface
  2. A GUI sınıfını uygulamalıdır. Bu sınıf Yani eklentinin iskelet şu şekilde görünecektir AbstractTimerGui

uzatmak olmalıdır: ConstantTimer iyi ve benzeri örnekler açısından

public class MyTimerGui extends AbstractTimerGui { 
    // usually has at least the following 3 functions: 

    @Override 
    public TestElement createTestElement() { 
    } 

    @Override 
    public void modifyTestElement(TestElement timer) { 
    } 

    @Override 
    public void configure(TestElement el) { 
    } 
} 

public class MyTimer extends AbstractTestElement implements Timer { 

    long delay() { 
     return someDelayOfYourChoice; 
    } 

    // you may need some other functions, e.g. running on test start or sample start 
} 

, sen built-in timers bakabilirsiniz özellikle görünüyor Nasıl yapıldığının özlü bir örneği. Zamanlayıcı arayüzünü uygulamak yerine, muhtemelen RandomTimer gibi ConstantTimer'i doğrudan genişletebilirsiniz.

UI kısmı için de ConstantTimerGui örneği takip edebilir ya da arayüz rasgele zamanlayıcı daha yakın ise, AbstractRandomTimerGui

Ben this example benzer maven projesini öneriyoruz, sizin eklentiyi kurmak için uzanabilir. Ve sonra çalışma zamanı için lib/ext klasörüne dağıtabilirsiniz. Eklentiniz, JMeter'de bulunmayan kütüphaneleri kullanıyorsa, bunları da JMeter'ın lib klasörüne dağıtmanız gerekecektir.

İlgili konular