İşlemci girişi JMeter: Ön İşlemci ve Son İşlemci
⚡ Akıllı Özet
İşlemci girişi JMeter Önişlemci, örnekleyici isteklerini yürütmeden önce veya sonra değiştirir. Önişlemci istek verilerini hazırlarken, Sonişlemci ise istekleri değiştirir.tracts değerleri ve kontrolleri test akışını yöneterek korelasyonu, dinamik parametreleştirmeyi ve güvenilir performans test davranışını mümkün kılar.
Bir işlemci Apache JMeter Bu, kendi kapsamı içindeki örnekleyicileri değiştiren bir test planı öğesidir. İstek gönderilmeden hemen önce veya sonra otomatik olarak çalışır. JMeter veya bir yanıt geldikten hemen sonra, bu da onu dinamik verilerin işlenmesi sırasında kullanılan ana mekanizma haline getirir. performans testi.
2 Tip işlemci vardır:
- ön işlemci
- Post işlemcisi
Kapsam, bir işlemcinin ne kadar uzağa erişebileceğini belirler. Doğrudan bir cihazın altına yerleştirilen bir işlemci... Test planı Veya bir İş Parçacığı Grubu, altındaki her Örnekleyiciye uygulanırken, tek bir Örnekleyicinin içine yerleştirilmiş bir işlemci yalnızca o isteği etkiler. Bu kuralı anlamak, bu sayfanın sorun giderme bölümünde ele alınan yapılandırma hatalarını önler.
ön işlemci
Ön işlemci bazı eylemleri yürütür önce Örnekleyici Talebi yapılıyor.
Basit bir örnek düşünün: Diyelim ki istediniz JMeter test edilen web sitesinde "örümcek" yapmak, ayrıştırmak bağlantı(sayfadaki tüm bağlantıları kontrol edin) ve dönüş HTML. Bir HTTP isteği oluşturmadan önce denetleyicinize "HTML bağlantı ayrıştırıcısı" gibi bazı eylemler eklersiniz.
Yukarıdaki diyagram, ön işlemcinin denetleyici ile giden istek arasında yer aldığını göstermektedir. İlk önce çalıştığı için, istek verilerini oluşturmak için doğru yerdir: zaman damgası oluşturma, CSV sütunundan değer okuma, oturum tanımlayıcısını yeniden yazma gibi işlemler burada gerçekleştirilir. URLveya her sanal kullanıcıya farklı kimlik bilgileri atamak.
Post işlemcisi
Son işlemci, Örnekleyici İsteği yaptıktan sonra bazı eylemleri gerçekleştirir.
Basit bir örnek düşünün: JMeter test altındaki web sunucusuna bir HTTP isteği gönderir (vb.) www.google.com) ve yanıtı alın. İstediğiniz JMeter Sunucu yanıtı bir hata ise testi durdurmak için, aşağıdaki gibi bir işlem sonrası modülü kullanabilirsiniz:
İkinci diyagramda gösterildiği gibi, Son İşlemci, Örnekleyici tamamlandıktan sonra yanıtı okur. Bu aynı zamanda korelasyona verilen standart cevaptır. Bir sunucu her çalıştırmada değişen bir belirteç, oturum kimliği veya sipariş numarası döndürdüğünde, Son İşlemci bu değeri yakalar. JMeter Böylece bir sonraki örnekleyici onu yeniden kullanabilir.
Önişlemci Türleri JMeter
Apache JMeter Kompakt bir önişlemci setiyle birlikte gelir. Her biri bir örnekleyiciyi farklı bir şekilde hazırlar, bu nedenle doğru elemanı seçmek, test planının okunabilir ve bakımı kolay olmasını sağlar.
- Örnek Zaman Aşımı: Bir isteğin maksimum süresini tanımlar. Yapılandırılan değerden daha uzun süre çalışan herhangi bir örnekleyici başarısız olarak işaretlenir.
- Kullanıcı Parametreleri: Her sanal kullanıcı için değişkenlere belirli değerler atar, böylece her iş parçacığı kendi veri kümesini gönderir.
- HTML Bağlantı Ayrıştırıcısı: Test edilen sayfayı tarayan örümcek, bulduğu bağlantıları ayrıştırır ve bunları bir sonraki HTTP isteğine iletir.
- HTTP URL Yeniden Yazma Değiştiricisi: Oturum tanımlayıcısını ekler. URL olan uygulamalar için tracÇerez kullanılmadan k oturum.
- RegEx Kullanıcı Parametreleri: Önceki bir yanıttan normal bir ifadeyle yakalanan değerleri kullanarak istek parametrelerini doldurur.
- JDBC Önişlemcisi: Örnekleyici (Sampler) işleminden önce bir SQL sorgusu çalıştırır; bu, veritabanı kayıtlarını oluşturmak veya sıfırlamak için kullanışlıdır.
- JSR223 Önişlemci: Bir Groovy or Java Herhangi bir özel hazırlık mantığı için kullanılan betik. Eski BeanShell Önişlemcisinin yerini almıştır ve yük altında önemli ölçüde daha iyi performans gösterir.
💡 İpucu: JSR223 önişlemcisini tercih edin. Groovy BeanShell üzerinden dil. Groovy Komut dosyaları derlenip önbelleğe alındığı için, binlerce iş parçacığı paralel olarak çalıştığında çok daha az CPU tüketirler.
Postişlemci Türleri JMeter
Son işlemciler iki gruba ayrılır: örneğintracYanıttan değerleri çeken nesneler ve Sampler'ın sonucuna tepki veren işleyiciler. Aşağıdaki tablo, her bir öğeyi en uygun yanıt biçimiyle eşleştirir.
| Son İşlemci | En Uygun | Tipik Kullanım |
| Düzenli İfade Örneğitractor | Herhangi bir metin yanıtı | HTML ve düz metinden belirteçler veya kimlikler yakalama |
| Sınır Extractor | Herhangi bir metin yanıtı | Tam bir normal ifade yerine sol ve sağ sınır kullanarak bir değeri yakalama |
| JSON Örn.tractor | JSON yanıtları | REST verilerinden alanları okuma sırasında API testi |
| CSS/jQuery Örneğitractor | HTML yanıtları | CSS seçici kullanarak bir öğeyi seçme |
| XPath Örneğitractor | XML ve XHTML yanıtları | Yapılandırılmış bir belge ağacında gezinme |
| JDBC Son İşlemcisi | Veritabanı sonuçları | Bir isteğin ardından satırları doğrulama veya temizleme |
| JSR223 Son İşlemci | Herhangi bir yanıt | Özel betik tabanlı ayrıştırma ve doğrulamalar |
| Sonuç Durum Eylem İşleyicisi | Herhangi bir yanıt | durping Bir örnekleyici başarısız olduğunda bir iş parçacığı veya tüm test |
Sınır ExtracTor geldi JMeter 4.0 sürümünde yer alır ve genellikle yazılması en hızlı seçenektir, çünkü yalnızca değerin hemen solundaki ve sağındaki metni ister. Düzenli İfade ÖrneğitracYanıtlar arasında çevre işaretlemesi farklılık gösterdiğinde, Tor daha esnek bir seçenek olmaya devam ediyor.
Önişlemci ve Sonişlemci Arasındaki Fark
Her iki unsur da aynı kapsam kurallarını paylaşır, ancak zıt sorunları çözerler. Aşağıdaki karşılaştırma, örnek uygulamadan önce bu ayrımı özetlemektedir.
| Parametre | önişlemci | Son İşlemci |
| Uygulama vakti | Örnekleyici isteğini göndermeden önce çalışır. | Örnekleyici yanıtını aldıktan sonra çalışır. |
| Birincil amaç | Talep verilerini hazırlar ve değiştirir. | Yanıt verilerini okur ve buna göre tepki verir. |
| Tipik unsurlar | Kullanıcı Parametreleri, HTML Bağlantı Ayrıştırıcı, JSR223 Ön İşlemci | Düzenli İfade Örneğitractor, JSON Extractor, Sonuç Durumu Eylem İşleyicisi |
| Akış üzerindeki etkisi | Testi durduramazsınız, sadece isteği şekillendirebilirsiniz. | Bir iş parçacığını veya tüm test çalışmasını durdurabilir. |
| Ortak hedef | Parametrelendirme | Korelasyon ve hata yönetimi |
Pratikte ikisi birlikte çalışır. Bir PostProcessor, giriş yanıtından bir oturum belirteci yakalar ve bir sonraki istekte bir PreProcessor, çağrı gönderilmeden önce bu belirteci ekler. Aşağıdaki örnek, bu modelin PostProcessor kısmını göstermektedir.
Son İşlemci Örneği
Bu eğitimde Post-processor'un nasıl kullanılacağına ilişkin adım adım talimatlar gösterilecektir. JMeter. Basit test komut dosyasıyla başlayalım.
- JMeter test edilen web sunucusuna bir HTTP isteği gönderir www.google.com.
- JMeter bir yanıt alıyor Google sunucusu.
- Sunucu yanıtı ise bir hata, JMeter irade durdurmak test.
- Sunucu yanıtı ise OK (hata yok), JMeter irade devam etmek test.
Burada ise yol haritası bu örneğin:
Ön koşul:
We yeniden kullanımı makaledeki 1. Adım ve 2. Adım JMeter Performans testi. Eğer JMeter Henüz yüklenmedi, aşağıdaki adımları izleyin. JMeter yükleme Rehberi İlk.
Adım 1) Konu Grubu Ekle
Sağ tıklayın Test planı ve yeni bir iş parçacığı grubu ekleyin: Ekle -> Konular (Kullanıcılar) -> Konu Grubu
Ancak Konu Grubu kontrol panelinde Konu Özelliklerini aşağıdaki gibi girin:
Bu ayar şunları sağlar: JMeter yaratmak 10 kullanıcı isteği http://www.google.com 10 kez.
Adım 2) Ekle JMeter elemanları
- HTTP isteği varsayılanını ekle
- HTTP isteği ekle
Hala yapıyoruz JMeter istek gönder http://www.google.com için Google sunucusu.
Adım 3) Son İşlemci Öğesini Ekleyin
Sağ tıklayın Konu Grubu -> Ekle -> Post işlemcisi -> Sonuç Durum Eylem İşleyicisi
Sonuç Durum Eylem İşleyicisi Kullanıcı isteği başarısız olursa kullanıcının iş parçacığını veya tüm testi durdurmasına olanak tanır.
Sonuç Durum Eylemi Tutamaç Bölmesinde şunu seçin: Testi Şimdi Durdur. Bu seçim aşağıdaki durumlarda testi durduracaktır: JMeter sunucu yanıtından hatayı alın.
Adım 4) HTTP İsteğini Yapılandırma
HTTP İstek Panelini açın. Girmek "ABC" Yol alanına.
Girdiğin zaman "ABC" yola, JMeter yaratacak URL istek Google Sunucu: http://www.google.com/abc. Bu URL mevcut değil Google sunucu. Bu yanlış URL talep etmek Google Sunucu bir hata döndürecektir.
Adım 5) Sonuç Ağacını Görüntüle Ekle
Sağ tıklayın Konu Grubu -> Ekle -> dinleyici -> Sonuç Ağacını Görüntüle
Adım 6) Testi Çalıştırın
Sonuç Ağacını Görüntüle'yi seçin, Menü çubuğunda Çalıştır düğmesine basın. göreceksin hata yanıt Google sunucu ve test duracak. dışarı ile 100 konuyu tamamlıyoruz.
Şimdi 4. adıma dönün, HTTP İstek bölmesini açın, "Takvim” bölmeye. Yapar JMeter yaratmak URL talep https://calendar.google.com/calendar/u/0/r için Google Sunucu. Bu doğru URL talep etmek Google Sunucu OK (hata yok) yanıtını verecektir.
Sonuç Ağacını Görüntüle'yi seçin, Menü çubuğunda Çalıştır düğmesine basın. göreceksin OK yanıt Google Sunucu ve test, 100 iş parçacığının tamamı tamamlanana kadar devam edecektir.
Bir ekleme iddia Sonuç Durumu Eylem İşleyicisi ile birlikte kullanıldığında, kontrol daha sıkı hale gelir çünkü bir doğrulama, HTTP 200 döndüren ancak yanlış içerik ileten bir Örnekleyiciyi başarısız kılabilir.
Sorun giderme
Yukarıdaki senaryoyu çalıştırırken bu sorunla karşılaşırsanız… aşağıdakileri yapın:
- İnternete proxy üzerinden bağlanıp bağlanmadığınızı kontrol edin. Evetse proxy'yi kaldırın.
- Yeni bir Jmeter örneği açın
- Açın ProcessorTestPlan.jmx Jmeter'da
- Double- Konu Grubuna tıklayın -> Sonuç Ağacını Görüntüle
- Testi Çalıştır
Bir işlem sonrası bileşeninin hiçbir şey yapmadığı görülüyorsa, öncelikle konumunu kontrol edin. Hedeflediği örnekleyicinin kapsamı dışında yerleştirilen bir işlem sonrası bileşeni asla çalışmaz; bu da boş bir örneklem hatasının en sık görülen nedenidir.tracted değişkeni. İlgili unsurlar, örneğin: kontrolörleri hem de dağıtılmış test Aynı kapsam mantığını izleyin.










.gif)

.gif)