Postman ile Test Otomasyonu [3]-Newman ve Jenkins ile Postman Collection Kullanımı
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.
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.
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’ler yüklendikten sonra user oluşturma ekranı gelir ve buradaki ilgili alanlar doldurulur.
Bu işlemin ardından Jenkins ana sayfası karşınıza çıkacaktır.
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.
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.
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.
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/