Postman ile Test Otomasyonu [3]-Newman ve Jenkins ile Postman Collection Kullanımı

Acihadugur
Dgpays Tech
Published in
4 min readMay 23, 2022

Serinin son yazısında sürekli entegrasyonun ne olduğunu, Jenkins uygulamasını kullanarak oluşturulan test senaryolarının koşumunu Newman ile nasıl gerçekleştirebileceğimizden bahsedeceğim.

Jenkins, sürekli entegrasyon yani CI(continuous integration) yöntemi için kullanılan bir otomasyon sunucusudur. Yazılım geliştirme süreçlerinin otomatize edilmesini sağlar. Kısaca jenkins, testlerin koşulması istenilen makine üzerine kurulur ve sonrasında Jenkins’e testlerin hangi kaynak üzerinde tutulduğu belirtilir. Jenkins bu bilgileri kullanarak test koşumunu ve test raporlamasını gerçekleştirir.

Continuous Integration, kod üzerinde yapılan her değişikliğin ardından, tüm sistemin çalışır durumda olduğunu, yapılan değişikliğin sistemin bazı bölümlerinde kırılmalara yol açmadığını tespit etmek için kullanılan bir yöntemdir.

Sürekli Entegrasyon Akışı

Aşağıdaki tanımlar geliştirme aracına göre farklılıklar gösterir. Tanımlanan ifadeler Visual Studio içindir.

Compile(Derleme), Sadece editör de açık olan sayfa derlenir.

Build, son yapılan build işleminden sonra üzerinde değişiklik yapılan tüm dosyaları derler ve dll,exe.. dosyaları oluşturulur.

Deploy, yazılım geliştirmede yazılım kodlarının bir ortamdan diğer ortama taşınmasıdır.

Test, bir yazılımın, kendisinden beklenen özellikleri karşılayıp karşılayamadığını incelemek amacıyla yapılan işlemlerdir.

Testin amacı, yazılımda hataların olduğunu göstermektir; yazılımda hata kalmadığını ispatlamak değildir.

Release, production ortamına yapılan değişiklik ya da değişiklikler kümesidir.

Jenkins Kurulumu

Jenkins commit edilen kodları otomatik olarak algılar ve kod testleri otomatik olarak yapılır. Jenkins’e verilen kriter değerlerini sağlanıyorsa Jenkins otomatik olarak projenin yeni versiyonunu derleyip deploy eder.

jenkins.io/download/ sitesine gidilir. Açılan ekranda sol taraf stabil, sağ taraf ise son sürümdür. Jenkins’in kurulumu yapılacağı işletim sistemi seçilir ve msi uzantılı dosya local cihaza indirilip kurulur.

Jenkins’in kurulduğu cihazda jenkins otomatik olarak local host üzerinde 8080 portunda kurulur ve Jenkins yapılandırılır. Jenkins’i local host’ta açmadan önce local’de C:\Program Files\Jenkins klasörüne gidilir, bu dizinde command prompt çalıştırılır, command prompt’ta java -jar jenkins.war yazılır. Ekran görüntüsündeki gibi parola generate edilir ve ilgili alana kopyalanır. http://localhost:8080/ login ekranında devam edilir.

Command Prompt Admin Password

Admin parolası ile devam edildikten sonra plugins’leri yüklemek için ilgili ekran gelir. Kuruluma önerilen plugins seçimi yapılıp devam edildi.

Plugins Seçimi

Plugins’ler yüklendikten sonra user oluşturma ekranı gelir ve buradaki ilgili alanlar doldurulur.

User Oluşturma

Bu işlemin ardından Jenkins ana sayfası karşınıza çıkacaktır.

Jenkins GUI

Jenkins Kavramları

Job, Bir jenkins projesidir. Otomatize edilmek istenilen işler burada belirlenir. Örneğin, job config üzerinden şu repository’i çek, şu şartlarda build et, şu testleri çalıştır ve belirlenen kişilere mail at gibi işlemleri burada belirleriz.

Job Oluşturmak İçin İlk Adım

Node, job’un üzerinde çalıştığı sunucuyu ifade eder. Testlerin başka bir bilgisayarda koşulması istenildiğinde node oluşturur ve bağlantı için gerekli şartları gerçekleştirildikten sonra node’da testler koşulabilir.

Pipeline, işlerin ardışık bir sırada yapılması, bir işlemin çıktısının sonraki gelen işlemin girdisi olması anlamına gelir. Örneğin: Bir test adımının başarısız olması durumunda diğer bir testin hiç başlamaması gibi.

Plugin, Jenkins saf haliyle yüklenir, ihtiyaca göre plugin yükler ve bunlar kullanılabilir. Örneğin, Job çalıştıktan sonra mail atması için “Email Extension” eklentisini yüklemeli ve post-build adımında kullanılmalı.

Jenkins’in kurulu olduğu cihazda npm, node ve newman’ın doğru kurulup kurulmadığını kontrol eden basit bir job oluşturalım.

Jenkins’te Windows Batch Command
Console Çıktısı

Bir collection içerisinde bulunan tüm request’leri ve bu request içerisinde bulunan tüm testleri Postman API ile Jenkins üzerinde koşalım.

Postman API ile Jenkins’te Collection Koşumu

Burada yapılan işlemler aslında terminalde yaptığımız gibi jenkins üzerinden newman’ı kullanarak öncelikle testimizin yerini belirttik, sonrasında ortam değişkenlerinin yerini belirttik. Jenkins bu job’u çalıştırarak testlerin koşumları gerçekleştirilmiş oldu.

Postman uygulaması ile ilgili yazılarımın sonuna geldik, umarım faydalı bir yazı serisi olmuştur. 🙂🍀

Keep Testing…👩‍💻️

Contact Information: https://www.linkedin.com/in/acihadugur/

--

--

Acihadugur
Dgpays Tech

Software Development Engineer In Test #TestAutomation #QualityAssuranceAutomation #SeleniumWebDriver #Postman