jMeter - Hızlı Kılavuz

JMeter'ın ayrıntılarına girmeden önce, önce herhangi bir uygulamanın test edilmesiyle ilgili birkaç jargonu anlayalım.

  • Performance Test- Bu test, belirli bir altyapı yapılandırması altında olası en iyi performans beklentisini belirler. Ayrıca, uygulama üretime geçmeden önce herhangi bir değişiklik yapılması gerekip gerekmediğini test sürecinin başlarında vurgular.

  • Load Test - Bu test, temel olarak sistemi, altında çalışacak şekilde tasarlanmış üst yük altında test etmek için kullanılır.

  • Stress Test - Bu test, kaynaklarını ezip geçerek sistemi kırma girişimidir.

JMeter nedir?

JMeter, farklı protokoller veya teknolojiler üzerinde yük testi, performans odaklı iş (fonksiyonel) testi, regresyon testi vb. Gerçekleştirebilen bir yazılımdır.

Stefano MazzocchiApache Software Foundation, JMeter'ın orijinal geliştiricisiydi. Bunu öncelikle Apache JServ'in (şimdi Apache Tomcat projesi olarak adlandırılıyor) performansını test etmek için yazdı. Apache daha sonra GUI'yi geliştirmek ve işlevsel test yetenekleri eklemek için JMeter'i yeniden tasarladı.

JMeter, Swing grafik API'sini kullanan grafik arayüzlü bir Java masaüstü uygulamasıdır. Bu nedenle, bir Java sanal makinesini kabul eden herhangi bir ortamda / iş istasyonunda, örneğin Windows, Linux, Mac, vb. Üzerinde çalışabilir.

JMeter tarafından desteklenen protokoller şunlardır:

  • Web - HTTP, HTTPS sitelerinin web 1.0 'web 2.0 (ajax, flex ve flex-ws-amf)

  • Web Hizmetleri - SOAP / XML-RPC

  • JDBC sürücüleri aracılığıyla veritabanı

  • Dizin - LDAP

  • JMS aracılığıyla Mesajlaşma Odaklı hizmet

  • Hizmet - POP3, IMAP, SMTP

  • FTP Hizmeti

JMeter Özellikleri

JMeter'ın bazı özellikleri şunlardır -

  • Açık kaynak kodlu bir yazılım olduğu için ücretsiz olarak temin edilebilir.

  • Basit ve sezgisel bir GUI'ye sahiptir.

  • JMeter, birçok farklı sunucu türü için yük ve performans testi yapabilir - Web - HTTP, HTTPS, SOAP, JDBC üzerinden Veritabanı, LDAP, JMS, Posta - POP3 vb.

  • Platformdan bağımsız bir araçtır. Linux / Unix'te, JMeter, JMeter kabuk betiğine tıklanarak çağrılabilir. Windows'ta jmeter.bat dosyası başlatılarak çağrılabilir.

  • Tam Swing ve hafif bileşen desteğine sahiptir (önceden derlenmiş JAR, javax.swing. * Paketlerini kullanır).

  • JMeter, test planlarını XML formatında saklar. Bu, bir metin düzenleyici kullanarak bir test planı oluşturabileceğiniz anlamına gelir.

  • Tam çoklu iş parçacığı çerçevesi, birçok iş parçacığı tarafından eşzamanlı örneklemeye ve farklı iş parçacığı grupları tarafından farklı işlevlerin eşzamanlı örneklenmesine izin verir.

  • Oldukça genişletilebilir.

  • Ayrıca uygulamaların otomatik ve işlevsel testlerini gerçekleştirmek için de kullanılabilir.

JMeter Nasıl Çalışır?

JMeter, bir hedef sunucuya istek gönderen bir grup kullanıcıyı simüle eder ve hedef sunucunun / uygulamanın performansını / işlevselliğini gösteren istatistikleri tablolar, grafikler vb. Aracılığıyla döndürür.

JMeter'ın nasıl çalıştığını gösteren aşağıdaki şekle bir göz atın -

JMeter, Java için bir çerçevedir, bu nedenle ilk gereksinim, makinenize JDK'nın kurulu olmasıdır.

Sistem gereksinimleri

JDK 1.6 veya üstü.
Hafıza Minimum gereklilik yok.
Disk alanı Minimum gereklilik yok.
İşletim sistemi Minimum gereklilik yok.

Adım 1: Java Kurulumunu Doğrulayın

Her şeyden önce, sisteminizde Java'nın kurulu olup olmadığını kontrol edin. Konsolunuzu açın ve aşağıdakilerden birini yapınjava üzerinde çalıştığınız işletim sistemine dayalı komutlar.

işletim sistemi Görev Komut
pencereler Komut Konsolunu Aç c: \> java sürümü
Linux Komut Terminalini Aç $ java sürümü
Mac Açık Terminal makine: ~ joseph $ java -version

Sisteminizde Java yüklüyse, üzerinde çalıştığınız işletim sistemine bağlı olarak uygun bir çıktı alırsınız.

işletim sistemi Çıktı
pencereler

java sürümü "1.7.0_25"

Java (TM) SE Çalışma Zamanı Ortamı (derleme 1.7.0_25-b15)

Java HotSpot (TM) 64-Bit Sunucu VM (derleme 23.25-b01, karma mod)

Linux

java sürümü "1.7.0_25"

Java (TM) SE Çalışma Zamanı Ortamı (derleme 1.7.0_25-b15)

Java HotSpot (TM) 64-Bit Sunucu VM (derleme 23.25-b01, karma mod)

Mac

java sürümü "1.7.0_25"

Java (TM) SE Çalışma Zamanı Ortamı (derleme 1.7.0_25-b15)

Java HotSpot (TM) 64-Bit Sunucu VM (derleme 23.25-b01, karma mod)

Java kurulu değilse, Java Yazılım Geliştirme Kitini (SDK) www.oracle.com/technetwork/java/javase/downloads/index.html adresinden yükleyin . Bu öğretici için Java 1.7.0_25 sürümünü kurulu sürüm olarak kabul ediyoruz.

Adım 2: Java Ortamını Ayarlayın

Yı kur JAVA_HOMEJava'nın makinenizde kurulu olduğu temel dizin konumuna işaret etmek için ortam değişkeni. Örneğin -

işletim sistemi Çıktı
pencereler JAVA_HOME ortam değişkenini C: \ Program Files \ Java \ jdk1.7.0_25 olarak ayarlayın
Linux dışa aktar JAVA_HOME = / usr / local / java-current
Mac dışa aktar JAVA_HOME = / Kitaplık / Java / Ana Sayfa

Java derleyici konumunu Sistem Yoluna ekleyin.

işletim sistemi Çıktı
pencereler Dizeyi ekleyin; C: \ Program Files \ Java \ jdk1.7.0_25 \ bin sistem değişkeninin sonuna, Yol.
Linux dışa aktar PATH = $ PATH: $ JAVA_HOME / bin /
Mac gerekli değil

Java Kurulumunu kullanarak doğrulayın java -version komutu yukarıda açıklandığı gibi.

3. Adım: JMeter'ı indirin

JMeter'ın en son sürümünü şuradan indirin: https://jmeter.apache.org/download_jmeter.cgi. Bu eğitim için apache-jmeter-2.9'u indirdik ve C: \> JMeter klasörüne kopyaladık.

Dizin yapısı aşağıda gösterildiği gibi görünmelidir -

  • apache-jmeter-2.9
  • apache-jmeter-2.9\bin
  • apache-jmeter-2.9\docs
  • apache-jmeter-2.9\extras
  • apache-jmeter-2.9\lib\
  • apache-jmeter-2.9\lib\ext
  • apache-jmeter-2.9\lib\junit
  • apache-jmeter-2.9\printable_docs

İsterseniz ana dizini yeniden adlandırabilirsiniz (örn. Apache-jmeter-2.9), ancak alt dizin adlarının hiçbirini değiştirmeyin.

Adım 4: JMeter'ı çalıştırın

JMeter'ı indirdikten sonra, bin dizinine gidin . Bu durumda,/home/manisha/apache-jmeter-2.9/bin. Şimdi aşağıdakilere tıklayın -

işletim sistemi Çıktı
pencereler jmeter.bat
Linux jmeter.sh
Mac jmeter.sh

Kısa bir duraklamadan sonra, aşağıdaki ekran görüntüsünde görüldüğü gibi bir Swing uygulaması olan JMeter GUI görünmelidir -

Bu, aracın ana sayfası ve varsayılan sayfasıdır.

Test Planı nedir?

Bir Test Planı, testleri çalıştırmak için bir kap olarak görülebilir. Neyin test edileceğini ve nasıl yapılacağını tanımlar. Tam bir test planı, iş parçacığı grupları, mantık denetleyicileri, örnek oluşturma denetleyicileri, dinleyiciler, zamanlayıcılar, onaylar ve yapılandırma öğeleri gibi bir veya daha fazla öğeden oluşur. Bir test planı en az bir iş parçacığı grubuna sahip olmalıdır.

Test Planı Yazma

Bir test planı yazmak için aşağıda verilen adımları izleyin -

Adım 1: JMeter Penceresini Başlatın

JMeter penceresini açın. /home/manisha/apache-jmeter-2.9/bin/jmeter.sh. JMeter penceresi aşağıdaki gibi görünecektir -

Bu, herhangi bir ek öğe eklenmemiş düz ve boş bir JMeter penceresidir. İki düğüm içerir -

  • Test Plan node - gerçek test planının tutulduğu yerdir.

  • Workbench node- Kopyalama / yapıştırma amacıyla, kullanılmadıkları sırada test öğelerinin geçici olarak saklanabileceği bir yer sağlar. Test planınızı kaydettiğinizde, Workbench öğeleri onunla birlikte kaydedilmez.

Adım 2: Eleman Ekleme / Kaldırma

Öğeler (sonraki bölümde Test Planı Öğeleri tartışılacaktır ), Test Planı düğümüne sağ tıklayarak ve "ekle" listesinden yeni bir öğe seçerek bir test planına eklenebilir.

Alternatif olarak, bir dosyadan bir öğe yükleyebilir ve "birleştir" veya "aç" seçeneğini belirleyerek ekleyebilirsiniz.

Örneğin, aşağıda gösterildiği gibi Test Planına bir İplik Grubu öğesi ekleyelim -

Bir öğeyi kaldırmak için, öğenin seçili olduğundan emin olun, öğeye sağ tıklayın ve "kaldır" seçeneğini seçin.

3. Adım: Öğeleri Yükleyin ve Kaydedin

Dosyadan bir öğe yüklemek için -

  • Yüklenen öğeyi eklemek istediğiniz mevcut ağaç öğesine sağ tıklayın.
  • Birleştir'i seçin.
  • Öğeleri kaydettiğiniz dosyayı seçin.
  • JMeter, öğeleri ağaçta birleştirecektir.

Varsayılan olarak, JMeter öğeyi kaydetmez, açıkça kaydetmeniz gerekir.

Ağaç öğelerini kaydetmek için -

  • Öğeye sağ tıklayın.
  • Seç Seçimi Kaydet As ... seçeneğini.

JMeter, seçilen öğeyi ve altındaki tüm alt öğeleri kaydedecektir. Varsayılan olarak, JMeter öğeleri kaydetmez, daha önce belirtildiği gibi açıkça kaydetmeniz gerekir.

Adım 4: Ağaç Öğelerini Yapılandırma

Test Planındaki herhangi bir öğe, JMeter'ın sağ tarafındaki çerçevede bulunan kontroller kullanılarak yapılandırılabilir. Bu kontroller, söz konusu test öğesinin davranışını yapılandırmanıza izin verir. Örneğin, İş Parçacığı Grubu aşağıda gösterildiği gibi birkaç kullanıcı, hızlanma süreleri vb. İçin yapılandırılabilir -

Adım 5: Test Planını Kaydetme

Aşağıdakilerden birini kullanarak tüm Test Planını kaydedebilirsiniz. Save veya "Save Test Plan As ..." Dosya menüsünden.

Adım 6: Test Planını Çalıştırın

Test Planını tıklayarak çalıştırabilirsiniz. Start(Control + r) öğesinden Runmenü seçeneği. JMeter çalışmaya başladığında, menü çubuğunun hemen altındaki bölümün sağ ucunda küçük bir yeşil kutu gösterir.

Yeşil kutunun solundaki sayılar, aktif iş parçacığı sayısı / toplam iş parçacığı sayısıdır. Bunlar yalnızca yerel olarak yürütülen bir test için geçerlidir; istemci-sunucu modu kullanılırken uzak sistemlerde başlatılan herhangi bir iş parçacığı içermezler.

7. Adım: Test Planını Durdurun

Testinizi iki şekilde durdurabilirsiniz -

  • Kullanma Stop(Kontrol + '.'). Mümkünse ipleri hemen durdurur.

  • Kullanma Shutdown(Kontrol + ','). Herhangi bir mevcut işin sonunda iş parçacığının durmasını ister.

Bir JMeter Test Planı, aşağıda tartışılan test öğelerinden oluşur. Bir Test Planı en az bir İplik Grubundan oluşur. Her bir İş Parçacığı Grubu içine, bir veya daha fazla diğer öğenin bir kombinasyonunu yerleştirebiliriz - Örnekleyici, Mantık Denetleyicisi, Yapılandırma Öğesi, Dinleyici ve Zamanlayıcı. Her Örnekleyiciden önce bir veya daha fazla Ön işlemci öğesi, ardından Son işlemci öğesi ve / veya Onay öğesi gelebilir. Bu unsurların her birini ayrıntılı olarak görelim -

Konu Grubu

Diş Grubu öğeleri, test planınızın başlangıç ​​noktalarıdır. Adından da anlaşılacağı gibi, iplik grubu öğeleri, JMeter'ın test sırasında kullanacağı iplik sayısını kontrol eder. İplik Grubu aracılığıyla aşağıdakileri de kontrol edebiliriz -

  • İplik sayısının ayarlanması

  • Hızlanma süresinin ayarlanması

  • Test yineleme sayısını ayarlama

Konu Grubu Kontrol Paneli şuna benzer -

İplik Grubu Paneli aşağıdaki bileşenleri barındırır -

  • Action to be taken after a Sampler error - Testin yürütülmesi sırasında herhangi bir hata meydana gelirse, teste -

    • Continue testteki bir sonraki öğeye

    • Stop Thread Mevcut İş Parçacığını durdurmak için.

    • Stop Test tamamen, devam etmeden önce hatayı incelemek istemeniz durumunda.

  • Number of Threads - Sunucu uygulamanıza kullanıcı veya bağlantı sayısını simüle eder.

  • Ramp-Up Period JMeter'ın tüm iş parçacıklarını çalıştırmasının ne kadar süreceğini tanımlar.

  • Loop Count - Testin kaç kez yürütüleceğini tanımlar.

  • Scheduler checkbox - Seçildikten sonra, Zamanlayıcı Yapılandırması bölümü kontrol panelinin altında görünür.

  • Scheduler Configuration - Testi çalıştırmanın başlangıç ​​ve bitiş zamanını yapılandırabilirsiniz.

Kontrolörler

JMeter'da iki tür Denetleyici vardır - Örnekleyiciler ve Mantık Denetleyicileri .

Örnekleyiciler

Örnekleyiciler, JMeter'ın bir sunucuya belirli türde istek göndermesine izin verir. Hedef sunucudan bir sayfa için kullanıcı isteğini simüle ederler. Örneğin, bir HTTP hizmetinde bir POST, GET veya DELETE gerçekleştirmeniz gerekiyorsa, HTTP İsteği örnekleyicisi ekleyebilirsiniz.

Bazı yararlı örnekleyiciler:

  • HTTP İsteği
  • FTP İsteği
  • JDBC İsteği
  • Java İsteği
  • SABUN / XML İsteği
  • RPC İstekleri

Aşağıdaki ekran görüntüsü bir HTTP İstek Örnekleyici Kontrol Panelini göstermektedir -

Mantık Denetleyicileri

Mantık Denetleyicileri, bir Thread içindeki Örnekleyicilerin işlenme sırasını kontrol etmenize izin verir. Mantık denetleyicileri, alt öğelerinden herhangi birinden gelen bir isteğin sırasını değiştirebilir. Bazı örnekler şunlardır: ForEach Controller, While Controller, Loop Controller, IF Controller, Run Time Controller, Interleave Controller, Throughput Controller ve Run Once Controller.

Aşağıdaki ekran görüntüsü bir Loop Controller Kontrol Panelini göstermektedir -

Aşağıdaki liste, JMeter'ın sağladığı tüm Mantık Denetleyicileri içerir -

  • Basit Denetleyici
  • Döngü Denetleyicisi
  • Sadece Bir Kez Denetleyici
  • Interleave Denetleyicisi
  • Rastgele Kontrolör
  • Rastgele Sıra Denetleyicisi
  • Verim Denetleyicisi
  • Çalışma Zamanı Denetleyicisi
  • Denetleyici ise
  • Denetleyici iken
  • Anahtar Denetleyicisi
  • ForEach Denetleyicisi
  • Modül Denetleyicisi
  • Denetleyiciyi Dahil Et
  • İşlem Kontrolörü
  • Kayıt Kontrolörü

Test Parçaları

Test Parçası, Diş Grubu öğesiyle aynı seviyeye yerleştirilmiş özel bir öğe türüdür. Bir Modül Denetleyicisi veya bir Include_Controller tarafından başvurulmadıkça yürütülmediği için bir İş Parçacığı Grubundan ayırt edilir. Bu öğe tamamen Test Planlarında kodun yeniden kullanımı içindir.

Dinleyiciler

Dinleyiciler, Örnekleyicilerin sonuçlarını bazı günlük dosyalarında tablolar, grafikler, ağaçlar veya basit metin şeklinde görüntülemenizi sağlar. JMeter'ın bir Örnekleyici bileşeni yürütülürken, test senaryoları hakkında JMeter tarafından toplanan verilere görsel erişim sağlarlar.

Dinleyiciler, doğrudan test planı dahil olmak üzere testin herhangi bir yerine eklenebilir. Yalnızca kendi seviyelerindeki veya altındaki öğelerden veri toplayacaklar. Aşağıdaki liste, JMeter'ın sunduğu tüm Dinleyicilerden oluşur -

  • Örnek Sonuç Kaydetme Yapılandırması
  • Grafik Tam Sonuçları
  • Grafik Sonuçları
  • Spline Görselleştirici
  • Onay Sonuçları
  • Sonuç Ağacını Görüntüle
  • Toplu Rapor
  • Sonuçları Tablodaki Görüntüle
  • Basit Veri Yazıcısı
  • Sonuçları İzleyin
  • Dağılım Grafiği (alfa)
  • Toplu Grafik
  • Posta Görselleştirici
  • BeanShell Dinleyici
  • Özet raporu

Zamanlayıcılar

Varsayılan olarak, bir JMeter iş parçacığı, her örnekleyici arasında duraklamadan istekleri gönderir. İstediğin bu olmayabilir. Her istek arasında beklenecek bir süre tanımlamanıza izin veren bir zamanlayıcı öğesi ekleyebilirsiniz.

Aşağıdaki liste, JMeter'in sağladığı tüm zamanlayıcıları göstermektedir -

  • Sabit Zamanlayıcı
  • Gauss Rastgele Zamanlayıcı
  • Düzgün Rastgele Zamanlayıcı
  • Sabit Verim Zamanlayıcısı
  • Zamanlayıcıyı Senkronize Etme
  • JSR223 Saati
  • BeanShell Saati
  • BSF Saati
  • Poisson Rastgele Zaman

Aşağıdaki ekran görüntüsü bir Sabit Zamanlayıcı Kontrol Panelini göstermektedir -

İddialar

Onaylar, bir Örnekleyici kullanılarak yapılan isteğinizin yanıtına bazı doğrulama testleri eklemenize olanak tanır. İddiaları kullanarak, uygulamanızın doğru verileri döndürdüğünü kanıtlayabilirsiniz. JMeter, bir iddia başarısız olduğunda vurgular.

Aşağıdaki liste, JMeter'ın sunduğu tüm iddiaları içermektedir -

  • Beanshell İddiası
  • BSF İddiası
  • İddiayı Karşılaştır
  • JSR223 Onaylama
  • Yanıt Onaylama
  • Süre Onaylama
  • Boyut Beyanı
  • XML Onaylama
  • BeanShell Assertion
  • MD5Hex Assertion
  • HTML Onaylama
  • XPath Onaylama
  • XML Şeması Onaylama

Aşağıdaki ekran görüntüsü bir Yanıt Onaylama Kontrol Panelini göstermektedir -

Yapılandırma Öğeleri

Yapılandırma Öğeleri, Örnekleyiciler tarafından kullanılacak varsayılanlar ve değişkenler oluşturmanıza olanak sağlar. Örnekleyiciler tarafından yapılan istekleri eklemek veya değiştirmek için kullanılırlar.

Bunlar, parçası oldukları kapsamın başlangıcında, aynı kapsamda bulunan herhangi bir Örnekleyiciden önce yürütülür. Bu nedenle, bir Yapılandırma Öğesine yalnızca yerleştirildiği dalın içinden erişilir.

Aşağıdaki liste, JMeter'in sağladığı tüm Konfigürasyon Öğelerini içerir -

  • Counter
  • CSV Veri Kümesi Yapılandırması
  • FTP İstek Varsayılanları
  • HTTP Yetkilendirme Yöneticisi
  • HTTP Önbellek Yöneticisi
  • HTTP Çerez Yöneticisi
  • HTTP Proxy Sunucusu
  • HTTP İstek Varsayılanları
  • HTTP Üstbilgi Yöneticisi
  • Java İstek Varsayılanları
  • Anahtar Deposu Yapılandırması
  • JDBC Bağlantı Yapılandırması
  • Oturum Açma Yapılandırma Öğesi
  • LDAP İstek Varsayılanları
  • LDAP Genişletilmiş İstek Varsayılanları
  • TCP Örnekleyici Yapılandırması
  • Kullanıcı Tanımlı Değişkenler
  • Basit Yapılandırma Öğesi
  • Rastgele değişken

Ön işlemci Elemanları

Ön işlemci elemanı, bir örnekleyici çalıştırılmadan hemen önce çalışan bir şeydir. Genellikle, bir Örnek İsteğin ayarlarını çalıştırmadan hemen önce değiştirmek veya yanıt metninden çıkarılmayan değişkenleri güncellemek için kullanılırlar.

Aşağıdaki liste, JMeter'in sağladığı tüm ön işlemci unsurlarını içermektedir -

  • HTML Bağlantı Ayrıştırıcısı
  • HTTP URL Yeniden Yazma Değiştirici
  • HTTP Kullanıcı Parametresi Değiştirici
  • Kullanıcı Parametreleri
  • JDBC Ön İşlemcisi
  • JSR223 Ön İşlemci
  • RegEx Kullanıcı Parametreleri
  • BeanShell Ön İşlemcisi
  • BSF Ön İşlemcisi

İşlemci Sonrası Öğeler

Bir son işlemci, bir örnekleyici yürütmeyi bitirdikten sonra çalıştırılır. Bu öğe, çoğunlukla yanıt verilerini işlemek için, örneğin daha sonra kullanmak üzere belirli bir değeri almak için kullanılır.

Aşağıdaki liste, JMeter'ın sağladığı tüm İşlem Sonrası Öğeleri içerir -

  • Normal İfade Çıkarıcı
  • XPath Çıkarıcı
  • Sonuç Durum Eylem İşleyici
  • JSR223 Son İşlemci
  • JDBC PostProcessor
  • BSF Son İşlemci
  • CSS / JQuery Çıkarıcı
  • BeanShell Son İşlemci
  • PostProcessor Hatalarını Ayıkla

Test Öğelerinin Yürütme Sırası

Test planı öğelerinin yürütme sırası aşağıdadır -

  • Yapılandırma öğeleri
  • Pre-Processors
  • Timers
  • Sampler
  • İşlem Sonrası İşlemciler (SampleResult boş değilse)
  • İddialar (SampleResult boş değilse)
  • Dinleyiciler (SampleResult null değilse)

Bir web sayfasını test eden basit bir test planı oluşturalım. URL ile gösterilen web sayfasının performansını test edebilmemiz için Apache JMeter'da bir test planı yazıyoruz - www.tutorialspoint.com .

JMeter'ı başlatın

JMeter penceresini açın. /home/manisha/apache-jmeter-2.9/bin/jmeter.sh. JMeter penceresi aşağıdaki gibi görünür -

Test Planını Yeniden Adlandırın

Test planı düğümünün adını Ad metin kutusunda Örnek Test olarak değiştirin . Adın yansıtıldığını görmek için odağı çalışma tezgahı düğümüne değiştirmeli ve Test Planı düğümüne geri dönmelisiniz.

Konu Grubu Ekle

Şimdi pencereye ilk elemanımızı ekliyoruz. Örnekleyiciler, Denetleyiciler ve Dinleyiciler gibi diğer tüm öğeler için yer tutucu olan bir İş Parçacığı Grubu ekliyoruz. Simüle edilecek kullanıcı sayısını yapılandırabilmemiz için birine ihtiyacımız var.

JMeter'da, tüm düğüm öğeleri bağlam menüsü kullanılarak eklenir.

  • Alt öğe düğümü eklemek istediğiniz öğeye sağ tıklayın.

  • Eklemek için uygun seçeneği seçin.

  • Sample Test (Test Planımız) → Add → Threads (Users) → Thread Group'a sağ tıklayın. Böylece, İş Parçacığı Grubu Test Planı (Örnek Test) düğümünün altına eklenir.

  • İş Parçacığı Grubunu Kullanıcılar olarak adlandırın . Bizim için bu öğe, TutorialsPoint Ana Sayfasını ziyaret eden kullanıcılar anlamına gelir.

Örnekleyici Ekle

Konu Grubumuza (Kullanıcılar) bir Örnekleyici eklememiz gerekiyor. İş parçacığı grubu eklemek için daha önce yapıldığı gibi, bu sefer Sağ tıklayarak İş Parçacığı Grubu (Kullanıcılar) düğümünün bağlam menüsünü açacağız ve Ekle → Örnekleyici → HTTP isteği seçeneğini seçerek HTTP İstek Örnekleyici ekleyeceğiz.

İş Parçacığı Grubu (Kullanıcılar) düğümünün altına bir boş HTTP İstek Örnekleyici ekleyecektir. Bu düğüm elemanını yapılandıralım -

  • Name- Elde etmek istediğimiz eylemi yansıtmak için adını değiştireceğiz. Adını vereceğizVisit TutorialsPoint Home Page

  • Server Name or IP- Buraya web sunucusu adını yazmamız gerekiyor. Bizim durumumuzdawww.tutorialspoint.com. (http: // kısmı yazılmaz, bu sadece sunucunun adı veya IP'sidir)

  • Protocol - Bunu boş bırakacağız, yani protokol olarak HTTP'yi istiyoruz.

  • Path- Yolu / (eğik çizgi) olarak yazacağız. Sunucunun kök sayfasını istediğimiz anlamına gelir.

Dinleyici Ekle

Şimdi bir dinleyici ekleyeceğiz. Konu Grubu (Kullanıcı) düğümünün altına Sonuçları Görüntüle Ağaç Dinleyicisi ekleyelim. Örnekleyicinin sonuçlarının bu Dinleyici düğüm öğesinde görüntülenebilmesini sağlayacaktır.

Dinleyici eklemek için -

  • Bağlam menüsünü açın

  • Konu Grubunu (Kullanıcılar) sağ tıklayın

  • Ekle → Dinleyici → Sonuç Ağacını Görüntüle seçeneğini seçin

Test Planını Çalıştırın

Şimdi tüm kurulumla birlikte test planını yürütelim. Thread Group (Kullanıcılar) konfigürasyonu ile tüm varsayılan değerleri koruyoruz. Bu, JMeter'ın örnekleyiciyi yalnızca bir kez çalıştıracağı anlamına gelir. Tek bir kullanıcıya benzer, yalnızca bir kez.

Bu, JMeter örnekleyici ile tarayıcı aracılığıyla bir web sayfasını ziyaret eden bir kullanıcıya benzer. Test planını yürütmek için menüden Çalıştır'ı seçin ve Başlat seçeneğini seçin.

Apache JMeter, testi fiilen başlatmadan önce test planını bir disk dosyasına kaydetmemizi ister. Test planını birden çok kez çalıştırmak istiyorsanız bu önemlidir. Kaydetmeden de çalıştırmayı tercih edebilirsiniz.

Çıktıyı Görüntüle

İş parçacığı grubunun ayarını tek iş parçacığı (yalnızca bir kullanıcı) ve 1 kez döngü (yalnızca bir kez çalıştır) olarak tuttuk, bu nedenle Sonuç Ağacı Dinleyicisinde tek bir işlemin sonucunu alacağız.

Yukarıdaki sonucun detayları -

  • Visit TutorialsPoint Home Page ismine karşı yeşil renk başarıyı gösterir.

  • JMeter, web sunucusu tarafından gönderilen tüm başlıkları ve yanıtları sakladı ve sonucu bize birçok şekilde göstermeye hazır.

  • İlk sekme Örnekleyici Sonuçları'dır. JMeter verilerini ve web sunucusu tarafından döndürülen verileri gösterir.

  • İkinci sekme, isteğin bir parçası olarak web sunucusuna gönderilen tüm verileri gösteren İstek'dir.

Son sekme, Yanıt verileridir. Bu sekmede dinleyici, sunucudan alınan verileri metin formatında gösterir.

Bu, yalnızca bir isteği gerçekleştiren basit bir test planıdır. Ancak JMeter'ın gerçek gücü, sanki birçok kullanıcı gönderiyormuş gibi aynı isteği göndermesidir. Web sunucularını birden çok kullanıcıyla test etmek için, Konu Grubu (Kullanıcılar) ayarlarını değiştirmemiz gerekiyor.

Bu bölümde, veritabanı sunucusunu test etmek için basit bir test planının nasıl oluşturulacağını göreceğiz. Test amacımız için MYSQL veritabanı sunucusunu kullanıyoruz. Test için başka herhangi bir veritabanını kullanabilirsiniz. MYSQL'de kurulum ve tablo oluşturmak için lütfen MYSQL Eğitimine bakın .

MYSQL kurulduktan sonra, veritabanını kurmak için aşağıdaki adımları izleyin -

  • "Tutorial" adıyla bir veritabanı oluşturun.

  • Bir tablo tutorials_tbl oluşturun .

  • Kayıtları aşağıda gösterildiği gibi tutorials_tbl içine ekleyin -

mysql> use TUTORIALS;
Database changed
mysql> INSERT INTO tutorials_tbl 
   ->(tutorial_title, tutorial_author, submission_date)
   ->VALUES
   ->("Learn PHP", "John Poul", NOW());
  
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO tutorials_tbl
   ->(tutorial_title, tutorial_author, submission_date)
   ->VALUES
   ->("Learn MySQL", "Abdul S", NOW());
 
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO tutorials_tbl
   ->(tutorial_title, tutorial_author, submission_date)
   ->VALUES
   ->("JAVA Tutorial", "Sanjay", '2007-05-06');

Query OK, 1 row affected (0.01 sec)
mysql>
  • Uygun JDBC sürücüsünü şuraya kopyalayın: /home/manisha/apache-jmeter-2.9/lib.

JMeter Test Planı Oluşturun

JMeter'e şu noktadan başlayalım: /home/manisha/apache-jmeter-2.9/bin/jmeter.sh.

Kullanıcı Ekle

Bir Konu grubu oluşturmak için,

  • Test Planına sağ tıklayın.

  • Ekle → Konular (Kullanıcılar) → Konu Grubu'nu seçin.

  • Böylece, iş parçacığı grubu Test Planı düğümünün altına eklenir.

  • Bu İş Parçacığı Grubunu JDBC Kullanıcıları olarak yeniden adlandırın .

İplik Grubunun varsayılan özelliklerini değiştirmeyeceğiz.

JDBC İstekleri Ekleme

Artık kullanıcılarımızı tanımladığımıza göre, gerçekleştirecekleri görevleri tanımlama zamanı. Bu bölümde, gerçekleştirilecek JDBC isteklerini belirtin.

  • JDBC Kullanıcıları öğesine sağ tıklayın.

  • Seçiniz Add → Config Element → JDBC Connection Configuration.

  • Aşağıdaki alanları ayarlayın (tutorial adlı MySQL veritabanını kullanıyoruz) -

    • Değişken adı havuza bağlı. Bunun, yapılandırmayı benzersiz bir şekilde tanımlaması gerekir. JDBC Sampler tarafından kullanılacak konfigürasyonu tanımlamak için kullanılır. Bunu test olarak adlandırdık .

    • Veritabanı URL'si - jdbc: mysql: // localhost: 3306 / tutorial.

    • JDBC Sürücü sınıfı: com.mysql.jdbc.Driver.

    • Kullanıcı adı: root.

    • Şifre: root şifresi.

Ekrandaki diğer alanlar aşağıda gösterildiği gibi varsayılan olarak bırakılmıştır -

Şimdi, yukarıda tanımlanan JDBC Yapılandırma havuzuna başvuran bir JDBC İsteği ekleyin. JDBC Kullanıcıları öğesini seçin.

  • Ekle menüsüne ulaşmak için farenizin sağ düğmesini tıklayın

  • Seçiniz Add → Sampler → JDBC Request.

  • Kontrol Panelini görüntülemek için bu yeni öğeyi seçin.

  • Özellikleri aşağıda gösterildiği gibi düzenleyin -

    • Değişken adı havuza bağlı. Bunun, yapılandırmayı benzersiz bir şekilde tanımlaması gerekir. JDBC Sampler tarafından kullanılacak konfigürasyonu tanımlamak için kullanılır. Test olarak adlandırdı .

    • İsim - Öğrenin.

    • Havuz Adı ​​- test girin (yapılandırma öğesinde olduğu gibi).

    • Sorgu Türü - İfadeyi seçin.

    • SQL Sorgu Dizesi alanına girin.

Dinleyici Oluştur

Şimdi Dinleyici öğesini ekleyin. Bu öğe, JDBC isteklerinizin tüm sonuçlarını bir dosyada depolamaktan ve verilerin görsel bir modelini sunmaktan sorumludur.

  • JDBC Kullanıcıları öğesini seçin

  • Sonuç Ağacı Görüntüle dinleyicisi ekleyin (Add → Listener → View Results Tree).

Test Planını Kaydet ve Yürüt

Şimdi yukarıdaki test planını db_test.jmx olarak kaydedin . Bu test planını kullanarak yürütünRun → Start seçeneği.

Çıkışı Doğrulayın

Son görüntüde iki kaydın seçildiğini görebilirsiniz.

Bu bölümde, JMeter kullanarak bir FTP sitesinin nasıl test edileceğini göreceğiz. FTP sitesini test etmek için bir Test Planı oluşturalım.

Test Planını Yeniden Adlandırın

  • /Home/manisha/apache-jmeter-2.9/bin/jmeter.sh tıklayarak JMeter penceresini açın.

  • Test Planı düğümüne tıklayın.

  • Bu Test Planı düğümünü TestFTPSite olarak yeniden adlandırın.

Konu Grubu Ekle

Örnekleyiciler, Denetleyiciler ve Dinleyiciler gibi diğer tüm öğeler için yer tutucu olan bir İş Parçacığı Grubu ekleyin.

  • TestFTPSite (Test Planımız) üzerine sağ tıklayın

  • Ekle → Konular (Kullanıcılar) → Konu Grubu'nu seçin. İş Parçacığı Grubu, Test Planı (TestFTPSite) düğümünün altına eklenecektir.

  • Testimize uyması için İplik Grubunun varsayılan özelliklerini aşağıdaki gibi değiştirin -

    • Name - FTP kullanıcıları

    • Number of Threads (Users) - 4

    • Ramp-Up Period - 0 saniye olan varsayılan değeri bırakın.

    • Loop Count - 1

Örnekleyici Ekle - FTP İsteği

Artık kullanıcılarımızı tanımladığımıza göre, gerçekleştirecekleri görevleri tanımlama zamanı. FTP İsteği öğeleri ekleyin. Biri bir dosyayı alan ve diğeri ftp sitesine bir dosya koyan iki FTP istek öğesi ekliyoruz.

  • FTP kullanıcıları öğesini seçin.

  • Ekle menüsüne gitmek için fare düğmesine sağ tıklayın

  • Ekle → Örnekleyici → FTP İsteği'ni seçin.

  • Ağaçtaki FTP İsteği öğesini seçin.

  • Aşağıdaki özellikleri aşağıda gösterildiği gibi düzenleyin -

Bu öğeye aşağıdaki ayrıntılar girilir -

  • Name - FTP İsteği Alma

  • Server Name or IP - 184.168.74.29

  • Remote File - /home/manisha/sample_ftp.txt

  • Local File - sample_ftp.txt

  • Al (RETR) seçin

  • Username - manisha

  • Password - manisha123

Şimdi yukarıdaki gibi başka bir FTP isteği ekleyin ve özellikleri aşağıdaki ekran görüntüsünde gösterildiği gibi düzenleyin -

Bu öğeye aşağıdaki ayrıntılar girilir -

  • Name - FTP İsteği Koyma

  • Server Name or IP - 184.168.74.29

  • Remote File - /home/manisha/examplefile.txt

  • Local File - /home/manisha/work/examplefile.txt

  • Koy (STOR) seçin

  • Username - manisha

  • Password - manisha123

Dinleyici Ekle

Test Planınıza eklemeniz gereken son öğe bir Dinleyicidir. Bu öğe, FTP isteklerinizin tüm sonuçlarını bir dosyada saklamaktan ve verilerin görsel bir modelini sunmaktan sorumludur.

  • FTP kullanıcıları öğesini seçin.

  • Ekle> Dinleyici> Sonuç Ağacını Görüntüle'yi seçerek bir Sonuç Ağacı Görüntüle dinleyicisi ekleyin.

Test Planını Çalıştırın

Şimdi yukarıdaki test planını ftpsite_test.jmx olarak kaydedin . Bu test planını kullanarak yürütünRun → Start seçeneği.

Çıktıyı Görüntüle

Dinleyicide aşağıdaki çıktı görülebilir.

Her bir FTP isteği için dört istek yapıldığını ve testin başarılı olduğunu görebilirsiniz. GET isteği için alınan dosya / bin klasöründe saklanır. Bizim durumumuzda/home/manisha/apache-jmeter-2.9/bin/. PUT isteği için dosya yola yüklenir/home/manisha/.

Bu bölümde, bir Web Hizmetini test etmek için bir Test Planının nasıl oluşturulacağını öğreneceğiz. Test amacımız için basit bir web hizmeti projesi oluşturduk ve bunu yerel olarak Tomcat sunucusuna yerleştirdik.

Web Hizmeti Projesi Oluşturun

Bir web hizmeti projesi oluşturmak için Eclipse IDE kullandık. Önce Service Endpoint Interface'i yazınHelloWorld paketin altında com.tutorialspoint.ws. HelloWorld.java'nın içeriği aşağıdaki gibidir -

package com.tutorialspoint.ws;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

//Service Endpoint Interface
@WebService
@SOAPBinding(style = Style.RPC)

public interface HelloWorld {
   @WebMethod String getHelloWorldMessage(String string);
}

Bu hizmetin bir yöntemi var getHelloWorldMessage bir String parametresi alır.

Ardından, uygulama sınıfını oluşturun HelloWorldImpl.java paketin altında com.tutorialspoint.ws.

package com.tutorialspoint.ws;

import javax.jws.WebService;

@WebService(endpointInterface="com.tutorialspoint.ws.HelloWorld")
public class HelloWorldImpl  implements HelloWorld  {
   @Override
   public String getHelloWorldMessage(String myName) {
      return("Hello "+myName+" to JAX WS world");
   }
}

Şimdi Endpoint yayıncısını oluşturarak bu web hizmetini yerel olarak yayınlayalım ve hizmeti sunucuda ortaya çıkaralım.

Yayınlama yöntemi iki parametre alır -

  • Uç Nokta URL Dizesi.

  • Implementor nesnesi, bu durumda, yukarıdaki parametrede belirtilen URL ile tanımlanan uç noktada bir Web Hizmeti olarak gösterilen HelloWorld uygulama sınıfı.

HelloWorldPublisher.java'nın içeriği aşağıdaki gibidir -

package com.tutorialspoint.endpoint;

import javax.xml.ws.Endpoint;
import com.tutorialspoint.ws.HelloWorldImpl;

public class HelloWorldPublisher {
   public static void main(String[] args) {
      Endpoint.publish("http://localhost:9000/ws/hello", new HelloWorldImpl());
   }
}

Web.xml içeriğini aşağıda gösterildiği gibi değiştirin -

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, 
   Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">

<web-app>
   <listener>
      <listener-class>
         com.sun.xml.ws.transport.http.servlet.WSServletContextListener
      </listener-class>
   </listener>
	
   <servlet>
      <servlet-name>hello</servlet-name>
      <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>
	
   <servlet-mapping>
      <servlet-name>hello</servlet-name>
      <url-pattern>/hello</url-pattern>
   </servlet-mapping>
	
   <session-config>
      <session-timeout>120</session-timeout>
   </session-config>
	
</web-app>

Bu uygulamayı bir web hizmeti olarak dağıtmak için başka bir yapılandırma dosyasına ihtiyacımız olacak sun-jaxws.xml. Bu dosyanın içeriği aşağıdaki gibidir -

<?xml version = "1.0" encoding = "UTF-8"?>
<endpoints
   xmlns = "http://java.sun.com/xml/ns/jax-ws/ri/runtime"
   version = "2.0">
   
   <endpoint name = "HelloWorld" 
      implementation = "com.tutorialspoint.ws.HelloWorldImpl" 
      url-pattern = "/hello"/>
</endpoints>

Artık tüm dosyalar hazır olduğuna göre, dizin yapısı aşağıdaki ekran görüntüsünde gösterildiği gibi görünecektir -

  • Şimdi bu uygulamanın bir WAR dosyası oluşturun.

  • Projeyi seçin → sağ tıklayın → Dışa aktar → WAR dosyası.

  • Bunu farklı kaydet hello.war dosya altında webapps Tomcat sunucusunun klasörü.

  • Şimdi Tomcat sunucusunu başlatın.

  • Sunucu başlatıldıktan sonra, web hizmetine şu URL ile erişebilmelisiniz - http: // localhost: 8080 / merhaba / merhaba

JMeter Test planı oluşturun

Şimdi yukarıdaki web hizmetini test etmek için bir test planı oluşturalım.

Test Planını Yeniden Adlandırın

  • /Home/manisha/apache-jmeter2.9/bin/jmeter.sh öğesine tıklayarak JMeter penceresini açın.

  • Test Planı düğümünü tıklayın.

  • Bu Test Planı düğümünü WebserviceTest olarak yeniden adlandırın.

Konu Grubu Ekle

Örnekleyiciler, Denetleyiciler ve Dinleyiciler gibi diğer tüm öğeler için yer tutucu olan bir İş Parçacığı Grubu ekleyin.

  • WebserviceTest (Test Planımız) → Ekle → Konular (Kullanıcılar) → Konu Grubu'na sağ tıklayın. İş Parçacığı Grubu, Test Planı (WebserviceTest) düğümünün altına eklenecektir.

  • Ardından, Testimize uyması için İplik Grubunun varsayılan özelliklerini değiştirelim. Aşağıdaki özellikler değiştirildi -

    • Name - web hizmeti kullanıcısı

    • Number of Threads (Users) - 2

    • Ramp-Up Period - 0 saniye olan varsayılan değeri bırakın.

    • Loop Count - 2

Örnekleyici Ekle - SABUN / XML-RPC İsteği

Artık kullanıcıları tanımladığımıza göre, gerçekleştirecekleri görevleri tanımlama zamanı.

SOAP / XML-RPC İstek öğesi ekleyeceğiz -

  • Ekle menüsüne ulaşmak için farenin sağ tuşuna tıklayın.

  • Ekle → Örnekleyici → SABUN / XML-RPC İsteği'ni seçin.

  • Ağaçtaki SOAP / XML-RPC Request öğesini seçin

  • Aşağıdaki özellikleri aşağıdaki resimde gösterildiği gibi düzenleyin -

  • Bu öğeye aşağıdaki ayrıntılar girilir -

    • Name − SOAP/XML-RPC Request

    • URL - http: // localhost: 8080 / merhaba / merhaba? Wsdl

    • Soap/XML-RPC Data - Aşağıdaki içeriği girin

<soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" 
   xmlns:web = "http://ws.tutorialspoint.com/">
   <soapenv:Header/>
	
   <soapenv:Body>
      <web:getHelloWorldMessage>
         <arg0>Manisha</arg0>
      </web:getHelloWorldMessage>
   </soapenv:Body>
   
</soapenv:Envelope>

Dinleyici Ekle

Test Planınıza eklemeniz gereken son öğe bir Dinleyicidir. Bu öğe, HTTP isteklerinizin tüm sonuçlarını bir dosyada depolamaktan ve verilerin görsel bir modelini sunmaktan sorumludur.

  • Web hizmeti kullanıcı öğesini seçin.

  • Ekle → Dinleyici → Sonuç Ağacını Görüntüle'yi seçerek bir Sonuç Ağacı Görüntüle dinleyicisi ekleyin.

Test Planını Çalıştırın

Şimdi yukarıdaki test planını test_webservice.jmx olarak kaydedin . Çalıştır → Başlat seçeneğini kullanarak bu test planını yürütün.

Çıktıyı Görüntüle

Dinleyicide aşağıdaki çıktı görülebilir.

Son görüntüde "JAX WS dünyasına Merhaba Manisha" yanıt mesajını görebilirsiniz.

Bu bölümde, Java Mesajlaşma Hizmetini (JMS) test etmek için basit bir test planının nasıl yazılacağını öğreneceğiz. JMS iki tür mesajlaşmayı destekler -

  • Point-to-Point messaging- Kuyruk mesajlaşması genellikle gönderenin bir yanıt beklediği işlemler için kullanılır. Mesajlaşma sistemleri normal HTTP isteklerinden oldukça farklıdır. HTTP'de, tek bir kullanıcı bir istek gönderir ve bir yanıt alır.

  • Topic messaging- Konu mesajları genellikle pub / sub mesajlaşma olarak bilinir. Konu mesajlaşma genellikle bir mesajın bir yapımcı tarafından yayınlandığı ve birden fazla abone tarafından kullanıldığı durumlarda kullanılır.

Bunların her biri için bir test örneği görelim. JMS'yi test etmek için ön koşullar şunlardır:

  • Örnekte Apache ActiveMQ kullanıyoruz. IBM WebSphere MQ (eski adıyla MQSeries), Tibco, vb. Gibi çeşitli JMS sunucuları vardır . Apache ActiveMQ web sitesindeki ikili dosyalardan indirin .

  • Arşivi açın, sıkıştırılmış dizine gidin ve ActiveMQ sunucusunu başlatmak için komut konsolundan aşağıdaki komutu çalıştırın -

.\bin\activemq  start

Aşağıdaki adresteki yönetici arayüzünü ziyaret ederek ActiveMQ sunucusunun başlatılıp başlatılmadığını doğrulayabilirsiniz. http://localhost:8161/admin/. Kimlik doğrulama isterse, kullanıcı kimliğini ve parolayı admin olarak girin . Ekran, aşağıda gösterildiği gibidir -

  • Şimdi, activemq-all-xxxjar'ı (sürüme bağlı olarak XXX) ActiveMQ sıkıştırılmamış dizinden /home/manisha/apache-jmeter-2.9/lib.

Yukarıdaki kurulumla, şunun için test planını oluşturalım:

  • JMS Noktadan Noktaya Test Planı

  • JMS Konu Test Planı

Bu bölümde, web sunucularını izlemek için JMeter kullanarak bir Test Planının nasıl oluşturulacağını tartışacağız. Monitör testlerinin kullanımları aşağıdaki gibidir -

  • Monitörler, stres testi ve sistem yönetimi için kullanışlıdır.

  • Stres testi ile birlikte kullanılan monitör, sunucu performansı hakkında ek bilgi sağlar.

  • Monitörler, istemci tarafında sunucu performansı ile yanıt süresi arasındaki ilişkiyi görmeyi kolaylaştırır.

  • Bir sistem yönetim aracı olarak monitör, tek bir konsoldan birden çok sunucuyu izlemek için kolay bir yol sağlar.

İzleme için Tomcat 5 veya üstüne ihtiyacımız var. Test amacımız için Tomcat 7.0.42 sunucusunu izleyeceğiz. Java Yönetim Uzantısını (JMX) destekleyen herhangi bir sunucu uygulaması kapsayıcısını test edebilirsiniz. Tomcat sunucusunu izlemek için bir test durumu yazalım. Önce tomcat sunucumuzu kuralım.

Tomcat Sunucusunu Kur

Tomcat servis durumunu açarak başlıyoruz. Bunu yapmak için, kullanıcılar için yapılandırma dosyasını düzenleyin,<TOMCAT_HOME>/conf/tomcat-users.xml. Bu dosya, gösterildiği gibi bir tomcat-users bölümü (yorumlanmış) içerir -

<tomcat-users>

<!--
   <role rolename = "tomcat"/>
   <role rolename = "role1"/>
   <user username = "tomcat" password = "tomcat" roles = "tomcat"/>
   <user username = "both" password = "tomcat" roles = "tomcat,role1"/>
   <user username = "role1" password = "tomcat" roles = "role1"/>
-->

</tomcat-users>

Yönetici rollerini, yöneticiyi, yönetici-gui'yi eklemek ve kullanıcıya "admin" atamak için bu bölümü değiştirmemiz gerekiyor. Revize edilen dosya aşağıdaki gibidir -

<tomcat-users>

   <role rolename = "manager-gui"/>
   <role rolename = "manager-script"/>
   <role rolename = "manager-jmx"/>
   <role rolename = "manager-status"/>
   <user username = "admin" password = "admin" roles = "manager-gui,manager-script,manager-jmx,manager-status"/>

</tomcat-users>

Şimdi Linux için <TOMCAT_HOME> /bin/startup.sh ve Windows için <TOMCAT_HOME> /bin/startup.bat tomcat sunucusunu başlatın. Başladıktan sonra, tarayıcınızda aşağıdaki bağlantıya girerek Tomcat denetiminin çalışıp çalışmadığını kontrol edin -

http://localhost:8080/manager/status?XML=true

Tarayıcıda bir kimlik doğrulama penceresi belirir. Tomcat oturum açma adını ve ilişkili parolayı girin (bizim durumumuzda bu admin'dir). Ardından, tarayıcı Tomcat'in yürütme durumunu aşağıdaki gibi gösterir -

Yukarıdaki ekran görüntüsünden birkaç şeyi not edebiliriz -

  • URL'de, XML = true (büyük / küçük harf duyarlılığına dikkat edin), JMeter işlevi için gerekli olan denetleyici Tomcat'in temiz bir görüntüsüne izin verdiğini unutmayın.

  • Ayrıca varsayılan iki konektör olduğunu unutmayın. Genel olarak kullanılan AJP bağlayıcısı mod_jk Apache HTTPD ön modülü ve 8080 numaralı bağlantı noktası üzerinden Tomcat'e doğrudan erişim için yaygın olarak kullanılan bağlayıcı olan HTTP bağlayıcısı ile birlikte kullanılır.

JMeter Test Planını Yazın

Bir test planı yazarak Tomcat sunucusunu izleyelim -

Test Planını Yeniden Adlandırın

  • /Home/manisha/apache-jmeter2.9/bin/jmeter.sh öğesine tıklayarak JMeter penceresini açın.

  • Test Planı düğümünü tıklayın.

  • Sonraki adımda açıklandığı gibi bir iş parçacığı grubu ekleyin.

Konu Grubu Ekle

  • Sağ tıklayın Test Plan → Add → Threads(Users) → Thread Group. İş Parçacığı Grubu, Test Planı düğümünün altına eklenecektir.

  • Yeterli sayıda örnek üretilmesi için döngü sayısını sonsuza (veya büyük bir sayıya) değiştirin.

HTTP Yetkilendirme Yöneticisi

  • Ekle → Yapılandırma öğesi → HTTP Yetkilendirme Yöneticisi'ni seçerek İş Parçacığı Grubu öğesine HTTP Yetkilendirme Yöneticisi ekleyin. Bu öğe, Tomcat sunucu durumunu görmek için tarayıcı tarafından istenen kimlik doğrulamasını yönetir.

  • HTTP Yetkilendirme Yöneticisini seçin.

  • Aşağıdaki ayrıntıları düzenleyin -

    • Username - admin (tomcat-users.xml dosyasındaki yapılandırmaya bağlı olarak)

    • Password - admin (tomcatusers.xml dosyasındaki yapılandırmaya bağlı olarak)

    • Diğer alanlar boş bırakılır.

Örnekleyici-HTTP İsteği Ekle

Artık kullanıcılarımızı tanımladığımıza göre, gerçekleştirecekleri görevleri tanımlama zamanı. HTTP İstek öğesi ekliyoruz.

  • Ekle menüsüne gitmek için fare düğmesine sağ tıklayın.

  • Ekle → Örnekleyici → HTTP İsteği'ni seçin.

  • Ardından, ağaçtaki HTTP İsteği öğesini seçin.

  • Aşağıdaki özellikleri aşağıdaki resimde gösterildiği gibi düzenleyin -

  • Bu öğeye aşağıdaki ayrıntılar girilir -

    • Name - Sunucu Durumu

    • Server Name or IP - localhost

    • Port - 8080

    • Path - / yönetici / durum

    • Parameters- Büyük harfle "XML" adlı bir istek parametresi ekleyin. Küçük harfle "true" değerini verin.

    • Optional Tasks - Örnekleyicinin altındaki "Monitör Olarak Kullan" ı işaretleyin.

Sabit Zamanlayıcı Ekleyin

Sunucunun durumunu periyodik olarak istemek için, her istek arasında bir zaman aralığı sağlayacak bir Sabit Zamanlayıcı ekleyin. Ekle → Zamanlayıcı → Sabit Zamanlayıcı'yı seçerek bu iş parçacığı grubuna bir zamanlayıcı ekleyin.

Diş Gecikmesi kutusuna 5000 milisaniye girin . Genel olarak, 5 saniyeden daha kısa aralıkların kullanılması sunucunuzda stres yaratabilir. Monitörü üretim ortamınıza yerleştirmeden önce kabul edilebilir aralığın ne olduğunu öğrenin.

Dinleyici Ekle

Test Planınıza eklemeniz gereken son öğe bir Dinleyicidir. İki tür dinleyici ekliyoruz. Sonuçları bir dosyada depolayan, ikincisi ise sonuçların grafik görünümünü gösteren.

  • Diş grubu elemanını seçin.

  • Basit Veri Yazar dinleyicisi ekleyin Ekle → Dinleyici → Basit Veri Yazıcısı.

  • Çıktı dosyasının bir dizinini ve dosya adını belirtin (bizim durumumuzda bu /home/manisha/work/sample.csv şeklindedir)

  • Test planı öğesi Ekle → Dinleyici → Sonuçları İzle'yi seçerek başka bir dinleyici ekleyelim.

Test Planını Çalıştırın

Şimdi yukarıdaki test planını monitor_test.jmx olarak kaydedin . Çalıştır → Başlat seçeneğini kullanarak bu test planını yürütün.

Çıktıyı Görüntüle

Sonuçlar /home/manisha/work/sample.csv dosyasına kaydedilecektir. Aşağıdaki görüntüdeki gibi İzleme sonucu dinleyicide de grafiksel bir sonuç görebilirsiniz.

Grafiğin, grafiğin her iki yanında da başlıklara sahip olduğuna dikkat edin. Solda yüzde ve sağda ölü / sağlıklı. Hafıza hattı hızla yukarı ve aşağı hareket ederse, hafızanın çöktüğünü gösterebilir. Bu gibi durumlarda, uygulamanın profilini Borland OptimizeIt veya JProbe ile oluşturmak iyi bir fikirdir. Görmek istediğiniz şey, yük, hafıza ve iş parçacıkları için düzenli bir modeldir. Herhangi bir düzensiz davranış genellikle düşük performansı veya bir tür hatayı gösterir.

Dinleyiciler, JMeter çalışırken JMeter'ın test senaryoları hakkında topladığı bilgilere erişim sağlar. Dinleyiciler tarafından toplanan sonuçlar veya bilgiler şu şekilde gösterilebilir:

  • tree
  • tables
  • graphs
  • log dosyası

Tüm dinleyiciler, biri belirtildiğinde çıktı dosyasına aynı ham verileri yazar.

Varsayılan yapılandırma

Kaydedilecek varsayılan öğeler, aşağıdaki iki yoldan biriyle tanımlanabilir -

  • İçinde jmeter.properties(veya user.properties) dosyası. Bu dosya şu konumdadır:/bin Varsayılan biçimi değiştirmek için, jmeter.properties dosyasında aşağıdaki satırı bulun -

jmeter.save.saveservice.output_format=
  • Aşağıdaki ekran görüntüsünde gösterildiği gibi Yapılandırma açılır penceresini kullanarak -

JMeter, JMeter Metin Günlükleri (JTL) olarak bir test çalışmasının sonuçlarını oluşturur. Bunlar varsayılan uzantı olduğu için normalde JTL dosyaları olarak adlandırılır - ancak herhangi bir uzantı kullanılabilir.

Aynı çıktı dosyası adı kullanılarak birden fazla test çalıştırılırsa, JMeter otomatik olarak dosyanın sonuna yeni verileri ekler.

Dinleyici sonuçları bir dosyaya kaydedebilir ancak kullanıcı arayüzüne kaydedemez. GUI ek yükünü ortadan kaldırarak verimli bir veri kaydetme aracı sağlaması amaçlanmıştır.

İçeri girerken -

  • GUI mode - dinleyici Basit Veri Yazıcısını kullanın

  • non-GUI mode - -l bayrağı bir veri dosyası oluşturmak için kullanılabilir.

Dinleyiciler, çok sayıda örnek varsa çok fazla bellek kullanabilir. Gereken bellek miktarını en aza indirmek için, CSV formatıyla Basit Veri Yazma özelliğini kullanın.

CSV Günlük biçimi

CSV günlük biçimi, yapılandırmada hangi veri öğelerinin seçildiğine bağlıdır. Dosyaya yalnızca belirtilen veri öğeleri kaydedilir. Sütunların görünüm sırası sabittir ve aşağıdaki gibidir -

Alan Açıklama Değer Örneği
timeStamp 1/1/1970 tarihinden bu yana milisaniye cinsinden 1354223881017
geçen milisaniye cinsinden 1858
etiket örnekleyici etiketi HTTP İsteği
cevap kodu örneğin 200, 404 200
responseMessage ör. Tamam tamam
threadName Konu Grubu 1-1
veri tipi örneğin metin Metin
başarı doğru ya da yanlış doğru
failMessage varsa
bayt örnekteki bayt sayısı 34908
grpThreads bu konu grubundaki aktif konu sayısı 1
tüm konular tüm gruplarda toplam aktif konu sayısı 1
URL http://tutorialspoint.com
Dosya adı Yanıtı Dosyaya Kaydet kullanılmışsa
gecikme ilk yanıt zamanı 132
kodlama utf-8
SampleCount örnek sayısı (birden fazla örnek kümelenmediği sürece 1) 1
ErrorCount hata sayısı (birden fazla örnek bir araya getirilmediği sürece 0 veya 1) 0
Ana bilgisayar adı örnek nerede üretildi LaptopManisha
Boşta kalma süresi 'Boşta' süresinin milisaniye sayısı (normalde 0)
Değişkenler belirtilmişse

Yanıt Verilerini Kaydetme

Yanıt verileri gerekirse XML günlük dosyasına kaydedilebilir. Ancak büyük dosya ve görüntülerin kaydedilmesine izin vermez. Bu gibi durumlarda, İşlemci Sonrası Kaydet_Responses_to_a_file'ı kullanın. Bu, her örnek için yeni bir dosya oluşturur ve dosya adını örnekle birlikte kaydeder. Dosya adı daha sonra örnek günlük çıktısına dahil edilebilir. Veriler, örnek günlük dosyası yeniden yüklendiğinde gerekirse dosyadan alınacaktır.

Yanıt verilerini yükleme (okuma)

Mevcut bir sonuç dosyasını görüntülemek için, bir dosya seçmek üzere dosya "Gözat ..." düğmesini kullanabilirsiniz. Gerekirse, içinde uygun Dinleyici bulunan sahte bir test planı oluşturun.

Dinleyici GUI Verilerini Kaydetme

JMeter herhangi bir dinleyiciyi PNG dosyası olarak kaydedebilir. Böyle yaparak,

  • Düzenle → Görüntü Olarak Kaydet'i seçerek sol panelde dinleyiciyi seçin. Bir dosya iletişim kutusu açılır.

  • İstenen adı girin.

  • Dinleyiciyi kaydedin.

JMeter Fonksiyonları ve Kullanıcı Değişkenleri

JMeter işlevleri, herhangi bir Örnekleyicinin alanlarını veya bir test ağacındaki başka bir öğeyi doldurabilen özel değerlerdir.

  • Bir işlev çağrısı şuna benzer -

${__functionName(var1,var2,var3)}
  • _functionName , bir işlevin adıyla eşleşir. Örneğin${__threadNum}.

  • Bir işlev parametresi virgül içeriyorsa, aşağıda gösterildiği gibi bundan "\" ile çıktığınızdan emin olun -

${__time(EEE\, d MMM yyyy)}
  • Değişkenlere -

${VARIABLE}

Fonksiyon Listesi

Aşağıdaki tablo, türlere göre gevşek bir şekilde gruplandırılmış bir grup işlevi listelemektedir -

Fonksiyon Tipi İsim Yorum Yap
Bilgi threadNum İplik numarasını alın.
Bilgi samplerName Örnekleyici adını (etiket) alın.
Bilgi makine IP Yerel makine IP adresini alın.
Bilgi makine adı Yerel makine adını alın.
Bilgi zaman Geçerli saati çeşitli biçimlerde döndürür.
Bilgi günlük Bir mesajı günlüğe kaydedin (veya görüntüleyin) (ve değeri döndürün).
Bilgi oturum açma Bir mesajı kaydedin (veya görüntüleyin) (boş dönüş değeri).
Giriş StringFromFile Bir dosyadan bir satır okuyun.
Giriş FileToString Dosyanın tamamını okuyun.
Giriş CSVRead CSV ile ayrılmış dosyadan okuyun.
Giriş XPath Bir dosyadan okumak için bir XPath ifadesi kullanın.
Hesaplama sayaç Artan bir sayı oluşturun.
Hesaplama intSum İnt sayıları ekleyin.
Hesaplama longSum Uzun sayılar ekleyin.
Hesaplama Rastgele Rastgele bir sayı oluşturun.
Hesaplama RandomString Rastgele bir dize oluşturun.
Hesaplama UUID Rastgele tip 4 UUID oluşturun.
Komut dosyası oluşturma BeanShell Bir BeanShell komut dosyası çalıştırın.
Komut dosyası oluşturma javaScript JavaScript'i (Mozilla Rhino) işleyin.
Komut dosyası oluşturma jexl, jexl2 Bir Commons Jexl ifadesini değerlendirin.
Özellikleri Emlak Bir mülk okuyun.
Özellikleri P Bir özelliği okuyun (kısaltma yöntemi).
Özellikleri setProperty Bir JMeter özelliği ayarlayın.
Değişkenler Bölünmüş Bir dizeyi değişkenlere bölün.
Değişkenler V Bir değişken adını değerlendirin.
Değişkenler değerlendirme Değişken bir ifadeyi değerlendirin.
Değişkenler evalVar Bir değişkende depolanan bir ifadeyi değerlendirin.
Dize regexFunction Normal bir ifade kullanarak önceki yanıtı ayrıştırın.
Dize escapeOroRegexpChars ORO normal ifadesi tarafından kullanılan meta karakterlerden alıntı yapın.
Dize kömür Bir sayı listesinden Unicode karakter değerleri oluşturun.
Dize manzarasız Java kaçışları içeren işlem dizileri (örneğin \ n & \ t).
Dize unescapeHtml HTML kodlu dizelerin kodunu çözün.
Dize escapeHtml Dizeleri HTML kodlaması kullanarak kodlayın.
Dize TestPlanName Mevcut test planının adını döndür.
  • İki tür işlev vardır -

    • Kullanıcı tanımlı statik değerler (veya değişkenler)

    • Yerleşik işlevler

  • Kullanıcı tanımlı statik değerler, bir test ağacı derlendiğinde ve çalıştırılmak üzere gönderildiğinde kullanıcının değişkenleri statik değerleriyle değiştirilmesini sağlar.

  • Değişkenler yuvalanamaz; yani${Var${N}} çalışmıyor.

  • __V (değişken) işlevi (2.2'den sonraki sürümler) bunu yapmak için kullanılabilir - $ {__ V (Var $ {N})}.

  • Bu tür bir değiştirme işlevler olmadan mümkündür, ancak daha az kullanışlıdır ve daha az sezgiseldir.

Fonksiyonlar ve Değişkenler Nerede Kullanılır

Fonksiyonlar ve değişkenler herhangi bir test bileşeninin herhangi bir alanına yazılabilir.

Aşağıdaki işlevler bir test planında iyi çalışmalıdır -

  • intSum
  • longSum
  • machineName
  • BeanShell
  • javaScript
  • jexl
  • random
  • time
  • mülkiyet fonksiyonları
  • günlük işlevleri

Test Planında kullanılan işlevlerin bazı kısıtlamaları vardır. JMeter iş parçacığı değişkenleri, işlevler işlendiğinde tam olarak ayarlanmayacaktır, bu nedenle parametreler olarak aktarılan değişken adları ayarlanmayacak ve değişken referansları çalışmayacaktır. Bu nedenle, split () ve regex () ve değişken değerlendirme işlevleri çalışmayacaktır. ThreadNum () fonksiyonu çalışmaz ve test planı düzeyinde mantıklı değil.

Değişkenlere ve Fonksiyonlara Başvurma

  • Bir test öğesinde bir değişkene başvurmak, değişken adı '$ {' ve '}' ile parantez içine alınarak yapılır.

  • İşlevlere aynı şekilde başvurulur, ancak geleneksel olarak işlevlerin adları, kullanıcı değeri adlarıyla çakışmayı önlemek için "__" ile başlar.

  • Bazı işlevler, onları yapılandırmak için bağımsız değişkenler alır ve bunlar, virgülle ayrılmış parantez içinde yer alır. İşlev hiçbir argüman almazsa, parantezler ihmal edilebilir. Örneğin -

${__BeanShell(vars.put("name"\,"value"))}
  • Alternatif olarak, komut dosyanızı bir değişken olarak tanımlayabilirsiniz, örneğin Test Planında -

SCRIPT     vars.put("name","value")
  • Betiğe daha sonra aşağıdaki gibi referans verilebilir -

${__BeanShell(${SCRIPT})}

İşlev Yardımcısı İletişim Kutusu

İşlev Yardımcısı İletişim Kutusu, JMeter'ın Options sekmesi.

  • İşlev Yardımcısı'nı kullanarak, açılır menüden bir işlev seçebilir ve bağımsız değişkenleri için değerler atayabilirsiniz. Tablodaki sol sütun, bağımsız değişkenin kısa bir açıklamasını sağlar ve sağdaki sütun, bu bağımsız değişken için değeri yazdığınız yerdir. Farklı işlevler farklı argümanlar alır.

  • Bunu yaptıktan sonra, "Oluştur" düğmesini tıklayın ve gerekli dizeyi test planına kopyalayıp yapıştırabileceğiniz uygun dize oluşturulur.

Önceden Tanımlanmış Değişkenler

Bazı değişkenler JMeter tarafından dahili olarak tanımlanır. Onlar -

  • COOKIE_cookiename - çerez değerini içerir.

  • JMeterThread.last_sample_ok - son örnek iyi olsun ya da olmasın - true / false. Not - Bu, PostProcessors and Assertions çalıştırıldıktan sonra güncellenir.

  • START değişkenleri.

Önceden Tanımlanmış Özellikler

Bazı yerleşik özellikler JMeter tarafından tanımlanmıştır. Bunlar aşağıda listelenmiştir. Kolaylık sağlamak için, START özellikleri aynı ada sahip değişkenlere de kopyalanır.

  • START.MS - Milisaniye cinsinden JMeter başlangıç ​​zamanı.

  • START.YMD - yyyyMMdd olarak JMeter başlangıç ​​zamanı.

  • START.HMS - HHmmss olarak JMeter başlangıç ​​zamanı.

  • TESTSTART.MS - milisaniye cinsinden test başlangıç ​​zamanı.

BAŞLAT değişkenlerinin / özelliklerinin test başlangıç ​​zamanını değil, JMeter başlangıç ​​zamanını temsil ettiğini unutmayın. Esas olarak dosya adlarında vb. Kullanılmak üzere tasarlanmıştır.

Düzenli ifadeler, kalıplara göre metni aramak ve değiştirmek için kullanılır. JMeter, kalıp eşleştirme yazılımı Apache Jakarta ORO dahil olmak üzere bir JMeter test planı boyunca kullanılan düzenli ifadelerin veya kalıpların biçimlerini yorumlar .

Normal ifadelerin kullanımıyla, bir Test Planı oluştururken veya geliştirirken kesinlikle çok zaman kazanabilir ve daha fazla esneklik sağlayabiliriz. Normal ifadeler, bir sonucu tahmin etmenin imkansız veya çok zor olduğu durumlarda sayfalardan bilgi almak için basit bir yöntem sağlar.

İfadeleri kullanmanın standart bir kullanım örneği, sunucu yanıtından bir oturum kimliği almaktır. Sunucu benzersiz bir oturum anahtarı döndürürse, kod dosyamızdaki ifadeleri kullanarak bunu kolayca alabiliriz.

Test planınızda normal ifadeler kullanmak için JMeter Düzenli İfade Çıkarıcıyı kullanmanız gerekir. Bir Test Planındaki herhangi bir bileşene normal ifadeler yerleştirebilirsiniz.

Arasındaki farkı vurgulamaya değer contains ve matches, Response Assertion test öğesinde kullanıldığı gibi -

  • containsnormal ifadenin hedefin en azından bir kısmıyla eşleştiği anlamına gelir, bu nedenle 'alfabe' "," "ph.b" içerir. çünkü normal ifade 'phabe' alt dizesiyle eşleşir.

  • matchesnormal ifadenin tüm hedefle eşleştiği anlamına gelir. Dolayısıyla "alfabe" "al. * T" ile "eşleşir".

Bir web sayfasının aşağıdaki kısmıyla eşleştirmek istediğinizi varsayalım -

name = "file" value = "readme.txt"

Ve readme.txt dosyasını çıkarmak istiyorsunuz. Uygun bir normal ifade -

name = "file" value = "(.+?)">

Yukarıdaki özel karakterler -

  • ( ve ) - bunlar, eşleştirme dizesinin döndürülecek kısmını kapsar

  • . - herhangi bir karakterle eşleş

  • + - bir veya daha fazla kez

  • ? - ilk maç başarılı olduğunda dur

JMeter Test Planı Oluşturun

Bir test planı yazarak bir Son İşlemci Öğesi olan Normal İfade Ayıklayıcısında Normal ifadelerin kullanımını anlayalım. Bu öğe, istenen bir öğenin uyumlu olduğu metin desenini tanımlamak için Normal İfade kullanarak geçerli sayfadan metni çıkarır.

Önce, kişilerin ve e-posta kimliklerinin bir listesini içeren bir HTML sayfası yazıyoruz. Onu tomcat sunucumuza dağıtıyoruz. Html (index.html) içeriği aşağıdaki gibidir -

<html>
   <head>
   </head>
	
   <body>
      <table style = "border: 1px solid #000000;">
		
         <th style = "border: 1px solid #000000;">ID</th>
         <th style = "border: 1px solid #000000;">name</th>
         <th style = "border: 1px solid #000000;">Email</th>
			
         <tr>
            <td id = "ID" style = "border: 1px solid #000000;">3</td>
            <td id = "Name" style = "border: 1px solid #000000;">Manisha</td>
            <td id = "Email" style = "border: 1px solid #000000;">[email protected]</td>
         </tr>
			
         <tr>
            <td id = "ID" style = "border: 1px solid #000000;">4</td>
            <td id = "Name" style = "border: 1px solid #000000;">joe</td>
            <td id = "Email" style = "border: 1px solid #000000;">[email protected]</td>
         </tr>
			
      </table>
   </body>
</html>

Tomcat sunucusunda konuşlandırıldığında, bu sayfa aşağıdaki ekran görüntüsünde gösterildiği gibi görünecektir -

Test planımızda yukarıdaki kişi listesi sayfasında görülen kişi tablosunun ilk satırındaki kişiyi seçeceğiz. Bu kişinin kimliğini yakalamak için, önce ikinci sıradaki kişiyi bulacağımız kalıbı belirleyelim.

Aşağıdaki anlık görüntüde görülebileceği gibi, ikinci kişinin kimliği <td id = "ID"> ve </ td> ile çevrilidir ve bu desene sahip ikinci veri satırıdır. Bunu, bilgi almak istediğimiz modelle tam olarak eşleştirmek için kullanabiliriz. Bu sayfadan kişi kimliği ve kişi adı olmak üzere iki parça bilgi çıkarmak istediğimiz için alanlar aşağıdaki gibi tanımlanır -

JMeter'ı başlatın, bir Diş grubu ekleyin Test Plan → Add→ Threads(Users)→ Thread Group.

Ardından bir örnekleyici HTTP İsteği ekleyin, test planını seçin, sağ tıklayın Add → Sampler → HTTP Request ve ayrıntıları aşağıda gösterildiği gibi girin -

  • Name - Yönet

  • Server Name or IP - localhost

  • Port Number - 8080

  • Protocol - Bunu boş bırakacağız, yani protokol olarak HTTP'yi istiyoruz.

  • Path - jmeter / index.html

Ardından, bir Normal İfade Çıkarıcı ekleyin. HTTP İstek Örnekleyicisini (Yönet) seçin, sağ tıklayınAdd → Post Processor → Regular Expression Extractor.

Aşağıdaki tablo, yukarıdaki ekran görüntüsünde kullanılan alanların bir açıklamasını sağlar -

Sr.No Alan tasviri
1

Reference Name

Çıkarılan testin saklanacağı değişkenin adı (refname).

2

Regular Expression

Ayıklanacak metnin karşısındaki desen eşleştirilecektir. Çıkartılacak metin grupları '(' ve ')' karakterleri ile çevrelenmiştir. '. +?' <td ..> .. </td> etiketlerinin içine alınan metnin tek bir örneğini belirtmek için. Örneğimizde ifade - <td id = "ID"> (+?) </td> \ s * <td id = "Ad"> (+?) </td> \ s *

3

Template

Çıkarılan metinlerin her grubu, '(' ve ')' ile çevrelenen her bir kalıp grubunun sırasına göre değişken Kişi'nin bir üyesi olarak yerleştirilir. Her grup refname_g # olarak saklanır, burada refname, referans adı olarak girdiğiniz dizedir ve # grup numarasıdır. $ 1 $, 1. gruba, $ 2 $, 2. gruba, vb. $ 0 $, tüm ifadenin eşleştiği şeyi ifade eder. Bu örnekte, çıkardığımız kimlik Kişi_g1'de tutulurken Ad değeri Kişi_g2'de saklanır.

4

Match No.

Bu modelin yalnızca ikinci örneğini çıkarmayı planladığımız için, ikinci gönüllüyü eşleştirerek, 2 değerini kullanıyoruz. 0 değeri rastgele bir eşleşme oluştururken, ForEach Denetleyicisi ile negatif bir değer kullanılması gerekir.

5

Default

Öğe bulunmazsa, bu varsayılan değer olacaktır. Bu isteğe bağlı bir alandır. Boş bırakabilirsiniz.

Bu Test Planının sonucunu yakalamak için bir dinleyici ekleyin. İş Parçacığı Grubuna sağ tıklayın ve dinleyiciyi eklemek için Ekle → Dinleyici → Sonuç Ağacını Görüntüle seçeneğini seçin.

Test planını reg_express_test.jmx olarak kaydedin ve testi çalıştırın. Çıktı, aşağıdaki ekran görüntüsünde gösterildiği gibi başarılı olacaktır -

JMeter, özellikle dağıtılmış bir ortamda çalıştırıldığında bazı sınırlamalara sahiptir. Bu yönergelere uymak, gerçek ve sürekli bir yük oluşturmaya yardımcı olacaktır -

  • Birden fazla JMeter örneğini kullanın, iş parçacığı sayısının daha fazla olması durumunda.

  • Kapsam Belirleme Kurallarını kontrol edin ve buna göre tasarlayın.

  • Her zaman tüm öğeler için adlandırma kurallarını kullanın.

  • Komut dosyalarını çalıştırmadan önce varsayılan tarayıcı Bağlantı ayarlarını kontrol edin.

  • Uygun şekilde Dinleyiciler ekleyin.

  • İşte kaynak gereksinimlerini azaltmak için bazı öneriler -

    • GUI dışı modu kullanın: jmeter -n -t test.jmx -l test.jtl.

    • Mümkün olduğunca az Dinleyici kullanın; -l işaretini yukarıdaki gibi kullanıyorsanız, hepsi silinebilir veya devre dışı bırakılabilir.

    • “Sonuç Ağacını Görüntüle” dinleyicisini devre dışı bırakın, çünkü çok fazla bellek tüketir ve konsolun donmasına veya JMeter'ın belleğinin bitmesine neden olabilir. Bununla birlikte, "Sonuç Ağacını Görüntüle" dinleyicisini yalnızca "Hatalar" işaretlenmiş olarak kullanmak güvenlidir.

    • Çok sayıda benzer örnekleyici kullanmak yerine, bir döngüde aynı örnekleyiciyi kullanın ve örneği değiştirmek için değişkenleri (CSV Veri Kümesi) kullanın. Veya belki Erişim Günlüğü Örnekleyicisini kullanın.

    • İşlevsel modu kullanmayın.

    • XML yerine CSV çıktısını kullanın.

    • Yalnızca ihtiyacınız olan verileri kaydedin.

    • Mümkün olduğunca az İddia kullanın.

    • Çok fazla bellek tükettiklerinden tüm JMeter grafiklerini devre dışı bırakın. Web arayüzünüzdeki JTL'ler sekmesini kullanarak tüm gerçek zamanlı grafikleri görüntüleyebilirsiniz.

    • Kullanılıyorsa CSV Veri Kümesi Yapılandırmasından yerel yolu silmeyi unutmayın.

    • Her test çalıştırmasından önce Dosyalar sekmesini temizleyin.