HTTP Proxy Sunucusu JMeter: Örnek Komut Dosyasını Kaydet
⚡ Akıllı Özet
JMeter HTTP Proxy Sunucusu, tarayıcı etkinliğini yeniden kullanılabilir bir test betiğine kaydeder. Kaydedici, tarayıcı ve web sitesi arasında yer alır, her isteği bir Kayıt Denetleyicisine kaydeder ve kaydedilen plan birçok sanal kullanıcı tarafından tekrar oynatılır.
Nedir JMeter HTTP Proxy Sunucusu?
MKS JMeter HTTP Proxy Sunucusu, tarayıcı ile test edilen web sitesi arasında yer alan yerleşik bir kayıt cihazıdır. Uygulama normal şekilde gezinirken kullanıcı etkinliğini izler ve kaydeder ve yakalanan her isteği test planı içinde bir HTTP İstek örnekleyicisine dönüştürür. JMeter 3.0 öğeye şu isim verildi: HTTP(S) Test Komut Dosyası KaydediciVe her iki isim de aynı bileşeni tanımlıyor.
Rekor test yapmak Bir test uzmanının test hedefi üzerindeki etkinliği kaydetmesine ve tekrar oynatmasına yardımcı olur. Bu, birden fazla kullanıcı için aynı anda gerçekleştirilen bir otomatik test türüdür.
Senaryoyu elle yazmak yerine neden kayıt altına almalıyız?
Modern bir sitedeki gerçekçi bir kullanıcı yolculuğu, her biri kendi başlıklarına, çerezlerine ve form parametrelerine sahip düzinelerce istek üretir.ping Tüm bunları elle örnekleyicilere kaydetmek yavaş ve hataya açık bir işlemdir. Kayıt, tarayıcının gönderdiği trafiği tam olarak yakalar ve bu da üç avantaj sağlar:
- Doğruluk: Başlık sırası, çerezler ve gizli form alanları, sunucunun bunları aldığı şekilde aynen kaydedilir.
- hız: On sayfalık bir yolculuğu kaydetmek dakikalar sürerken, elle yazmak saatler sürüyor.
- Kapsam: Arayüzde görünmeyen arka plan AJAX çağrıları kayıtta yine de görünür.
Bu kayıt, tamamlanmış bir testten ziyade bir başlangıç noktasıdır. Kullanılabilir hale gelmeden önce temizlenmesi, ilişkilendirilmesi ve parametrelendirilmesi gerekmektedir. yük testiAşağıdaki bölümler, boş bir başlangıç noktasından başlayarak tüm yolu kapsamaktadır. JMeter Güvenilir bir şekilde tekrar oynatılabilen bir komut dosyasına açılan pencere.
Burada ise yol haritası bu pratik örneğin
Senaryo Nasıl Kaydedilir? JMeter 5.x
Şu anki sürüm Apache JMeter 9 Ocak 2024'te yayınlanan 5.6.3 sürümü, belirli şartları gerektiriyor. Java 8 veya daha sonrası ile Java 17 numaralı sürüm önerilir. Bu sayfanın aşağısındaki resimli adımları izleyenler, WorkBench düğümünü bulamayacaklardır, çünkü bu düğüm 5.0 sürümünde kaldırılmıştır. İşlevsellik ortadan kaybolmadı; yeri değiştirildi. Kaydedici artık doğrudan Test Planına ekleniyor ve HTTP(S) Test Komut Dosyası Kaydedici olarak adlandırılıyor.
En hızlı yol, paketlenmiş şablondur. Seçin fileto > Şablonlar > Kayıt hem de JMeter Bu komut, bir İş Parçacığı Grubu, HTTP İstek Varsayılanları, bir Kayıt Denetleyicisi ve kaydedicinin kendisini içeren, zaten birbirine bağlanmış eksiksiz bir plan oluşturur. Aynı yapıyı elle oluşturmak aşağıdaki adımları gerektirir.
- Planın iskeletini oluşturun. Önce bir Thread Group ekleyin, ardından altına bir Recording Controller ekleyin. Yakalanan örnekler buraya kaydedilecektir.
- Test planına kayıt cihazını ekleyin. Test Planı düğmesine sağ tıklayın ve seçin. Ekle > Test Dışı Öğeler > HTTP(S) Test Komut Dosyası KaydediciBu, Thread Grubu'nun bir alt grubu değil, kardeş grubudur.
- Bağlantı noktasını ayarlayın. Varsayılan değer 8888'dir. Tarayıcınızın buna göre yapılandırılması koşuluyla, herhangi bir boş port kullanılabilir.
- Seçin Target Denetleyici. Birinci adımda oluşturulan Kayıt Denetleyicisini seçin, böylece istekler planın kök dizininde dağınık halde değil, beklediğiniz yerde gruplandırılır.
- Ekle URL dışlama kalıpları. İstek Filtreleme sekmesinde, aşağıdaki gibi bir kalıba sahip statik kaynakları hariç tutun: .*\.(bmp|css|js|gif|ico|jpe?g|png|svg|woff2?)Bu, ilerleyen bölümlerde açıklanan manuel temizleme işlemlerinin çoğunu ortadan kaldırır.
- Ses kaydediciyi başlatın. Tıkla Ana Sayfa Kaydedici panelinin en üstünde. JMeter Apache yazıyorJMeterŞu anda TemporaryRootCA.crt dosyasını bin klasörüne taşıyın; bu da HTTPS kaydını mümkün kılan şeydir.
- Tarayıcıyı proxy'ye yönlendirin. localhost ve seçilen portu kullanarak uygulamada normal şekilde gezinin.
- Dur ve ortalığı topla. Durdur düğmesine basın, kalan tüm üçüncü taraf aramalarını silin ve planı kaydedin.
- Ölçeklendirmeden önce doğrulayın. Konu Grubuna sağ tıklayın ve seçin OnaylamakBu, planı tek bir iş parçacığıyla bir kez çalıştırır, böylece hatalar herhangi bir yük uygulanmadan önce ortaya çıkar.
Çalışan bir betiği güvenilir bir betikten ayıran bir alışkanlık daha var. Grafik arayüzü yalnızca derleme ve hata ayıklama için kullanın, gerçek testi ise komut satırından çalıştırın. jmeter -n -t plan.jmx -l results.jtl -e -o reportBu komut aynı zamanda bir HTML kontrol paneli de oluşturur. Aynı komut, şunun da temelini oluşturur: dağıtılmış test Çeşitli yük jeneratörleri arasında. Kurulum aşağıdaki kapsamda ele alınmıştır. JMeter yükleme Rehberive tüm işlem ayrıntılı olarak belgelenmiştir. Apache JMeter kayıt sayfası.
⚠️ Sürüm notu: Aşağıdaki kılavuzdaki ekran görüntüleri eski bir cihazda kaydedilmiştir. JMeter WorkBench düğümünün hala bulunduğu bir sürüm. WorkBench daha sonra kaldırıldı. JMeter 5.0. Tüm kavramlar hala geçerlidir; sadece kayıt cihazının konumu değişir ve mevcut prosedür yukarıda verilenle aynıdır.
Adım 1) HTTP Proxy sunucusunun ayarlanması
Bu, proxy kurulumu için adım adım bir kılavuzdur
- Ana Sayfa JMeter
- Seç Test planı ağaçta
- Ekle Konu Grubu. sağ tıklayın Test planı ve yeni bir iş parçacığı grubu ekleyin: Ekle > Konular (Kullanıcılar) > Konu Grubu
- Ekle HTTP İsteği. İş Parçacığı Grubunu seçin; sağ tıklayın Ekle > Yapılandırma Öğesi > HTTP İstek Varsayılanları
Yeni HTTP İstek Varsayılanları öğesinde: Sunucu adı veya IP'ye “google.com” yazın. Diğer alanları boş bırakmalısınız
- Ekle Kayıt Denetleyicisi“Konu Grubu”na sağ tıklayın ve bir kayıt denetleyicisi ekleyin: Ekle > Mantık Denetleyicisi > Kayıt Denetleyicisi
- Ekle Proxy Sunucusu Workbench'e gidin. Workbench'e sağ tıklayın ve http proxy'sini ekleyin: Ekle > Test Dışı Öğeler > HTTP Proxy Sunucusu. üzerinde JMeter 5.x, sağ tıklayın Test planı bunun yerine düğümü seçin ve HTTP(S) Test Komut Dosyası Kaydedici.
- set Target kontrolör kayıtlı komut dosyalarınızın nereye ekleneceği
- Ana Sayfa Proxy Sunucusu. HTTP Proxy Sunucusuna geri dönün ve tıklayın. Ana Sayfa alttaki düğmeye basın. Şimdi senin JMeter proxy sunucu başlangıcı
- Tarayıcınızı başlatın (kullandım Firefox), Seç araç > Opsiyon > Gelişmiş ortodontik vakalar için kapsamlı çözüm paketi > ağ > ayar Aşağıdaki şekilde gösterildiği gibi HTTP proxy'sini girin. Mevcut durumda Firefox Aynı diyaloga erişim, şu yollarla sağlanır: Ayarlar > Genel > Ağ Ayarları.
Adım 2) Etkinliğinizi kaydedin
- Şimdi Başlat http://www.google.com web tarayıcınızda (JMeter hala açık)
- Etkinlikler “anahtar kelimesini arıyor mu?”guru99".
- Için Geri JMeter, HTTP Proxy Sunucusu'nda, dur Bittiğinde
- Kaydı bitirdikten sonra göreceksiniz JMeter aşağıdaki şekildeki gibi otomatik olarak yeni bir HTTP isteği oluşturdu
JMeter zaten bir kullanıcı isteği kaydetti Ana Sayfa of Google https://serdartavaslioglu.com sitesi üzerinden ücretsiz erişebilirseniz. http://www.google.com/
Diğer HTTP istekleri yukarıdaki şekilde gösterilmektedir, bunları kaldırmalısınız. Çünkü bazen JMeter Ayrıca, anahtar kelime ararken bazı reklam bağlantılarını da kaydeder. GoogleTest planımızda bunları dikkate almamalıyız.
- Dosya > Test Planınızı farklı kaydet seçeneğine tıklayın.
- Bir iletişim kutusu görüntülenecek > Dosya Adı alanına test planınızın adını girin > Kaydet'e tıklayın. Artık test planınız RecordingTestPlan.jmx adıyla kaydedildi.
Adım 3) Test Planınızı Çalıştırın
- Seç Konu Grubu > Ekle > Dinleyici > Özet Raporu
- Özet Raporu bazı temel istatistikleri gösterecektir
- Konu Grubunu seçin, bilgileri aşağıdaki şekildeki gibi girin
Makaleye bakabilirsiniz. JMeter Performans testi Thread Group yapılandırması hakkında detaylı bilgi edinmek için.
- Teste başlamadan önce “Özet Rapor”u seçin. Testi çalıştırmaya hazır olduğunuzda, Çalıştır > Başlat (Ctrl+R) seçeneğini seçin. JMeter Etkinliğiniz 100 kez tekrar oynatılacaktır. Test çalışırken, test tamamlanana kadar istatistikler değişecektir.
Adım 4) Test sonucunuzu kaydedin
- Tıkla Tablo Verilerini Kaydet test sonucunu dosyaya kaydetmek için
- Test sonucunun adını girin ve Kaydet'e tıklayın. Test Sonucu JMeter varsayılan olarak *.csv formatında kaydedilir
Dosya Kaydı Test Planını İndirin
Dosya HTTP Proxy Sunucusunu İndirin
HTTPS Trafiğinin ve Sertifikalarının Kaydedilmesi
Günümüzde neredeyse her site HTTPS kullanıyor; oysa orijinal kılavuz bundan önce yazılmıştı. Bir proxy, tarayıcı ona güvenmediği sürece şifrelenmiş trafiği okuyamaz, bu nedenle fazladan bir adım gereklidir.
Kayıt cihazı çalışmaya başladığında, JMeter adlı geçici bir kök sertifikası oluşturur. ApacheJMeterGeçiciKökCA.crt Bin dizininde bulunan dosyayı tarayıcıya güvenilir bir sertifika yetkilisi olarak ekleyin ve ardından tarayıcıyı yeniden başlatın. JMeter Artık her site için kendi sertifikasını sunabilir ve oturumu kaydetmek için şifresini çözebilir.
Bilmeniz gereken üç nokta var:
- Sertifika yedi gün sonra geçerliliğini yitirir. Bu kasıtlı. Silin ve bırakın. JMeter Geçerliliğini uzatmak yerine yenisini oluşturmak.
- İşiniz bittiğinde çıkarın. Çalışır durumdaki bir makinede güvenilir bir kök sertifikasının kurulu kalması, teorik değil, gerçek bir güvenlik riskidir.
- Bazı başvurular bunu reddediyor. Sertifika sabitleme veya karşılıklı TLS kullanan siteler hiçbir şekilde proxy üzerinden kaydedilemez ve bunun yerine komut dosyası tarayıcı geliştirici araçlarından elle oluşturulmalıdır.
Korelasyon: Kaydedilmiş Bir Senaryonun Tekrar Oynatılabilir Hale Getirilmesi
Kaydedilen bir komut dosyası, bir kez olanları birebir kopyalar; bu, ikinci kez nadiren gerçekleşen bir durumdur. Kayıt sırasında yakalanan oturum tanımlayıcıları, belirteçler ve oluşturulan anahtarlar, komut dosyası yeniden oynatıldığında artık geçerliliğini yitirmiş değerlerdir ve çalıştırma, uygulama hatalarına benzeyen şekillerde başarısız olur.
Korelasyon çözümdür. A son işlemci Örneğin, Düzenli İfade ÖrneğitracTor veya JSON ExtracTor, giriş yanıtından gelen yeni değeri yakalar, bir değişkene kaydeder ve daha sonraki istekler kaydedilen değer yerine bu değişkene başvurur.
İş akışı kısaca şöyledir:
- Sonuç Ağacını Görüntüle dinleyicisiyle komut dosyasını bir kez daha çalıştırın ve başarısız olan ilk isteği bulun.
- Başarısız olan isteği kayıtla karşılaştırın. İki çalıştırma arasında farklılık gösteren herhangi bir değerin ilişkilendirilmesi gerekir.
- Eski bir kullanıcı ekletracDeğeri üreten yanıta gidin, ardından sabit kodlanmış değeri değişken referansıyla değiştirin.
- Ekle iddia Dolayısıyla, hata mesajı içeren HTTP 200 yanıtı veren bir sayfa yine de testi geçemez.
Komut dosyasının ölçeklendirilmesi ancak korelasyon sağlandıktan sonra güvenlidir. Yüz kullanıcıda korelasyonsuz bir kayıt çalıştırmak, hata yönetimini ölçmekten ziyade hata yönetimini ölçer. performansDiğer unsurlar ise metnin devamında ele alınmaktadır. JMeter EĞİTİMLER.
Sorun giderme
Yukarıdaki senaryoyu çalıştırırken bir 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 örneğini aç JMeter.
- RecordingTestPlan.jmx dosyasını açın. JMeter.
- Workbench'e sağ tıklayın > Birleştir > HTTP Proxy Server.jmx dosyasını seçin. JMeter 5.x sürümünde, WorkBench artık mevcut olmadığı için, bunun yerine Test Planı düğümüne birleştirin.
- Konu Grubu > Özet Raporu'na tıklayın.
- Testi çalıştırın.
Geriye kalan arızaların çoğunu açıklayan iki belirti daha vardır. Tarayıcı bağlantı kurulamayacağını bildiriyorsa, kayıt cihazı hiç başlatılmamışsa veya tarayıcıda ayarlanan bağlantı noktası, kayıt cihazında ayarlanan bağlantı noktasıyla eşleşmiyorsa. JMeterSayfalar normal şekilde yükleniyor ancak ağaç yapısında hiçbir şey görünmüyorsa, trafik HTTPS'dir ve sertifika içe aktarılmamıştır.




















