Apache JMeter(5.6.2 Version) HTTP(S) Test Script Recorder Kullanımı (Açıklamalı)

MerveC
5 min readFeb 8, 2024

--

HTTP(s) Test Script Recorder, JMeter’da HTTP isteğimizi kaydetmemize yardımcı olur. Burada Apache JMeter proxy server olarak kullanıldığı için ilgili web tarayıcısında yapılan işlemler otomatik olarak kayıt edilir. İsteğimizi bir HTTP Sampler’a manuel olarak eklemek yerine, çok hızlı bir şekilde test planı oluşturabilir ve kayıt yapabiliriz.

HTTP(s) Test Script Recorder bileşenini kullanabilmek için Apache JMeter’da ve web tarayıcısında bazı ayarlar yapmamız gerekir.

Öncelikle Apache JMeter’da gerekli hazırlıkları yaparak bu fonksiyonun nasıl çalıştığına göz atalım.

Çalışmalara başlamadan önce şunu belirteyim: Örnek olarak https://www.automationexercise.com/ bu web sitesinin her sayfasını farklı kayıt denetleyicilerine kaydedeceğiz. (örn: login, products, cart.. )

1. Test Script Recorder Ekleme

Bir Test Plan create edin ve üzerinde sağ tıklayın.

Test Plan →Add →Non-Test Elements →HTTP(S) Test Script Recorder HTTPS(S) Test Script Recorder proxy server gibi çalışacak böylece ilgili web tarayıcısı üzerindeki tüm trafik buradan geçecektir.

HTTP(S) Test Script Recorder ekleme

2. Recording Controllers Kullanma

Recording Controller bize web tarayıcısında yaptığımız işlemleri otomatik kaydederken ayrı ayrı kategorize etmemize yardımcı olur.

İlk olarak, test planımız için Thread Group ekleyin ve üzerine sağ tıklayın.
Thread Group →Add →Logic Controllers →Recording Controller

Recording Controllers ekleme

Şimdi üç adet Recording Controllers oluşturun ve her birini aşağıdaki gibi yeniden adlandırın. (login, products, cart)

3.Proxy’nin Kurulması

Web tarayıcı olarak Mozilla Firefox kullanacağım. (Firefox kullanmamın nedeni, Chrome’a göre Firefox’ta bir proxy kurmanın daha kolay olması.) Mozilla Firefox’u açın Ayarlar menüsünden Seçeneklere tıklayın.

Sol köşede Genel sekmesi var. Sayfanın en aşağısında bulunan Ağ Ayarları bölümündeki Ayarlar butonuna basın.

Sizi bu ekran karşılayacak. Vekil sunucuyu elle ayarla seçeneğini işaretleyin ve Port numarası alanına 8888 yazın. Eğer “HTTPS için de bu vekil sunucusunu kullan” butonu aktif değilse onu da aktif hale getirin. Burada belirlediğiniz port numarasını Apache JMeter’da oluşturduğumuz HTTP(S) Test Script Recorder’a da gireceğiz. Dolayısıyla Web tarayıcıda belirttiğiniz port numarası ile apache jmeter’daki port numarası farklı olmamalı aksi takdirde otomatik kaydetme çalışmayacaktır.

Bir sonraki bölüm SSL Sertifikasını eklemektir. Bu sertifikayı tarayıcınıza eklemeniz gerekir. Bunu seçeneklere girerek ve bir sertifika arayarak ekleyebilirsiniz.
Arama kısmına “certificate” yazın ve certifikaları göster butonuna tıklayın.

Firefox Sertifika Yöneticisi

Sertifika yöneticisinde ‘Yetkililer’ sekmesi altında ‘içe aktar’a tıklayın.

Ve Apache JMeter klasörünüzün bin klasöründeki “ApacheJMeterTemporaryRootCA.crt” dosyasını içe aktarın.

apache-jmeter →bin →ApacheJMeterTemporaryRootCA.crt

Firefox Sertifika Yöneticisi

Ve aşağıdaki onay kutusunu işaretleyin.

Firefox Sertifika Yöneticisi

Şimdi proxy kurulumumuz tamamlandı. (Aynı adımlar izlenerek Chrome tarayıcısına da uygulanabilir.)

4. HTTP(S) Test Script Recorder Port Yapılandırması

Firefox proxy ayarlamamızda port numarasını 8888 varsayılan olarak eklediğimiz için HTTP(S) Test Script Recorder da bu şekilde kaydedeceğiz.(Port numaralarının aynı olmasına dikkat edin.)

5. HTTP(S) Test Script Recorder ile Test Senaryosunun Kaydedilmesi

Test edeceğimiz sitenin login, products, cart bölümlerinin her birini ayrı ayrı kaydedeceğiz ve ilgili kayıt kontrolöründe saklayacağız.

İlk olarak, HTTP(S) Test Script Recorder’ı açın.
İlk testimiz için hedef denetleyicimiz olarak “login page” i seçelim.(Daha sonra her bölümü ayrı ayrı kayıt edeceğiz.) Ve start butonuna basın.

HTTP(S) Test Komut Dosyası Kaydedici düzenleyicisi

Ve Kaydedici: İşlem Kontrolü açılır.
Şimdi kaydınızı başlattınız. Firefox tarayıcısında gerçekleştirdiğiniz tüm eylemler işlem denetleyicisine kaydedilecektir.(Burada eğer sertifika oluşturmada problem yaşadıysanız bunu başka bir yazımda ele alacağım.)

Ayrıca bir İşlem adı da verebilirsiniz. Ben “login page” olarak verdim çünkü aldığımız kayıt login kısmına ait.

Recorder: Transaction Control

Şimdi firefox tarayıcısına gidin ve siteye login olun. Yükleme tamamlandıktan sonra recorder’ı durdurun çünkü JMeter şimdiye kadar tüm örnekleri toplamıştır. Login page olarak isimlendirdiğimiz kaydımız şu şekilde görünür:

login Recording controller

Bunu bu şekilde diğer sayfalara da uygulayabilir ve kaydı görebilirsiniz. Bunun için önce (yukarıdaki gibi) hedef kontrolünü seçip kaydı o şekilde başlatırsanız sayfalar daha düzenli kaydedilmiş olur.

  • *İşinizi kolaylaştıran bir bilgi: Eğer aldığınız kaydın tamamını silmek isterseniz, silmek istediğiniz recorder’a tıklayın. Ve tümünü sil deyin. Bu şekilde kayıt bilgileri silinecek, tekrar aynı işlemi sıfırdan yapabileceksiniz.

Şimdi hepsini controller’a kaydettikten sonra sonuçları görmek için view results tree eklememiz gerekir.

Thread Group →Add →Listener →view results tree

view results tree ekleme

Testimizin sonucu aşağıdaki gibidir. Eğer doğru bir şekilde yaparsanız tüm testleriniz geçecektir.

Yine aynı Listener bölümünden Summary Report kısmını seçerseniz ayrıntılı bir rapor almış olursunuz. Thread Group bileşeninden kullanıcı sayısını artırarak performans, yük ve stres testlerinizi yapabilirsiniz.

Thread Group

Unutmayın! Testleri yürütürken HTTP(S) Test Script Recorder’ın çalışıyor olması gerekmektedir.

--

--

MerveC

Software Test Engineer | Life is a journey of continuous learning.