JMeter Test Raporlarını Email Üzerinden Otomatik Olarak Gönderme

Buse Kaya
Odeal-Tech
Published in
4 min readApr 14, 2020

Merhaba arkadaşlar,

Daha önceki yazımda da bahsettiğim gibi JMeter open-source, Java tabanlı bir fonksiyonel ve load testing tooldur. Fakat zaman içerisinde FTP, SMTP, JDBC gibi protokelleri desteklemesi için genişletilmiştir. Bu sayede email atmak için gerekli alt yapı oluşmuştur.

Biz email gönderimini SMTP Sampler kullanarak yapacağız.SMTP Sampler emailleri, SMTP/SMTPS protokollerini kullanarak gönderir. Bağlantı için (SSL ve TLS) güvenlik protokolleri de ayarlayabilirsiniz. Buna neden ihtiyacımız var? Bu sorunun cevabı; test sona erdiğinde, bir hata oluştuğunda, ya da beklenmedik bir sonuçların dönmesi vb. gibi durumlarda e-postaların test kullanıcılarına / developerlara/ yöneticilere gönderilmesi gerekir. Bu sayede bir hata oluştuğunda hatadan hızlıca haberdar olunmuş ve hızlıca da çözüme yönelik aksiyon alınmış olacaktır.

SMTP Sampler arayüzünde bizi aşağıdaki parametreler karşılayacak;

  • Server : Server’ın IP adresi veya hostname girildiği alan. Gmail sunucuları için smtp.googlemail.com veya smtp.gmail.com kullanılacaktır.
  • Port : Server’a bağlanmak için kullanılacak portlar. Default değerler: SMTP = 25, SSL = 465, StartTLS = 587
  • Connection Timeout : Milisaniye cinsinden bağlantının zaman aşımı süresi. Siz herhangi bir değer girmezseniz eğer, default değer sonsuz zaman aşımı olarak ayarlanır.
  • Read Timeout : Milisaniye cinsinden okunma zaman aşımı süresi. Siz herhangi bir değer girmezseniz eğer, default değer sonsuz zaman aşımı olarak ayarlanır.
Message Settings
  • Address From : Mailin kim tarafından gönderileceğini girdiğimiz alan.
  • Address To : Mailin kime gideceğini girdiğimiz alan. (Birden fazla kişiye mail atmak istediğimiz durumda herbir mail adresi arasına “;” kullanmalıyız.-Adress To CC ve BCC’de maillerin gönderimini yapmak istediğimiz kişilerin bilgilerini girdiğimiz alan.)
  • Address Reply-To : Test maillerinin ulaştığı kişilerin maili cevapladığı zaman, geri dönüş yapacakları mail adresidir.
Auth Settings
  • Use Auth : SMTP Server kullanıcı kimlik doğrulamasının gerekli olup olmadığını gösterir.
  • Username : Kullanıcı kimlik doğrulaması gerekliği olduğu zaman girilmesi gerekilen kullanıcı adı bilgisi.
  • Password : Kullanıcı kimlik doğrulaması gerekliği olduğu zaman girilmesi gerekilen password bilgisi.
Security Settings
  • Use no security features : SMTP server bağlantısı için güvenlik protokolü kullanılmadığını belirtmek için bu seçeneği kullanırız.
  • Use SSL : SMTP server bağlantısının SSL protokolünü kullanması gerektiğini belirtmek için kullanırız.
  • User StartTLS : SMTP server bağlantısının TLS protokolünün başlatılması gerektiğini belirtir.
  • Enforce StartTLS : Sunucu TLS protokolünü başlatmazsa bağlantı sonlandırılır.
Message Settings
  • Subject : Email mesajı konusunu bu kısma giriyoruz.
  • Suppress Subject Header : Bu seçeneği seçersek subject’e girmiş olduğumuz başlığı almadan maili atar.
  • Include timestamp in subject : Subject’e System.currentTimemillis () öğesini dahil eder.
  • Add Header : Bu sayede ek header’lar ayarlayabilirsiniz.
  • Message : Atacağımız mailin içeriğini bu kısma giriyoruz.
  • Attach files : Maile eklemek istediğiniz dosyaları buradan seçiyoruz.
Additional Settings
  • Calculate message size : Mesaj boyutunu hesaplar ve sampler result’a kaydeder.
  • Enable debug logging? : Bu seçenek seçilirse, “mail.debug” özelliği “true” olarak ayarlanır.

Yukarıda SMTP Sampler sayfasındaki kompenentlerden bahsettik. Şimdi mail ayarını yapıp bir örnek yapalım.

Example

Yukarıda gördüğünüz üzere ihtiyacım olan tüm alanları doldurduk ve kayıt ettik. Şimdi ise senaryolarımızın altına koyduğumuz SMTP Sampler’ımızın çalışıp çalışmadığını görmek için testimizi koşacağız.

Failed Result

Yukarıda ki resimden SMTP Sampler’dan 500 döndüğünü ve mailimizin atılamadığını gözlemliyoruz. Bu case’i sizinde denk gelebilme ihtimalinden dolayı paylaşmak istedim. Bu hatayı alıyor olmamızın muhtemel üç sebebi vardır;

  1. Username-password kombinasyonumuz gerçekten hatalı olabilir.
  2. Mail attığınız hesabınızın (ben gmail kullanıyorum) güvenlik ayarları aktif olabilir. Bu durumu aşağıda eklediğim adresten “TURNED ON” olarak ayarlayıp daha az güvenlik seçeneğini aktif edebilirsiniz. https://www.google.com/settings/security/lesssecureapps
  3. Mail attığınız hesabınızın erişimi kapalı olabilir. Bunu da aşağıda eklediğim adresten ilgili mailiniz için her uygulama için mail atma özelliğini aktif edebilirsiniz. https://accounts.google.com/b/0/DisplayUnlockCaptcha

Yukarıda bahsettiğimiz adımları kontrol ettikten sonra tekrar testimizi koşturuyoruz.

Successful Result

Yukarıda eklemiş olduğumuz resimden de görüldüğü gibi SMTP Sampler’ımız çalışmış ve mailimiz ilgili adrese ulaşmıştır.

Request Body of SMTP Sampler

Aynı zamanda mail içeriğini de Request tab’ında Request body’e tıklayarak görüntüleyebilirsiniz.

Incoming Mail

Burada ise gelen mailin nasıl gözüktüğünü görebilirsiniz. Basit bir şekilde SMTP Sampler’ın nasıl ayarlandığını, karşımıza en sık çıkan problemin çözümünü ve ufak bir örnekle durumu daha anlaşılır kılmaya çalıştım.

Bir diğer SMTP Sampler yazımda failed eden caselerin response ve request bilgilerini nasıl mesaj içeriğine eklendiğini ve bu eklenen mesajların sadece fail eden senaryolar için nasıl yapılabileceğimizi örneklerle anlatmaya çalışacağım. Umarım herkes için keyifli ve faydalı bir yazı olmuştur. Beğenmediğiniz her detayı yorumda benimle paylaşmanız benim için son derece önemli. Bir sonraki yazımda görüşmek üzere.

--

--