Postman ile RESTful API’lere Test Otomasyonu Hazırlamak Bölüm 3

Ali Akyürek
Neyasis Technology
Published in
5 min readSep 30, 2020
Postman ile RESTful API’lere Test Otomasyonu Hazırlamak

Bölüm 3: Otomasyona Giriş, Collection, Login, Authorization, Kayıt Ekleme ve Görüntüleme İşlemleri

Merhabalar,

Sizlere aktaracağım serinin devamında bir web projesine otomasyon hazırlayacağız.

Bu otomasyonda login olma, authorization, kayıt ekleme, eklenen kayıtları görüntüleme, kayıt güncelleme, kayıt silme, gibi işlemleri ele almakla beraber oluşturduğumuz requestler’i kopyalayıp çoğaltarak çalışma ve birbirinin kayıtlarından beslenen entegre ekranlar için oluşturduğumuz requestler’i kütüphane içerisinde sıraya koyup düzenleyerek otomasyon işlemi için hazır hale getireceğimizi serimizin ilk bölümlerinde dile getirmiştik.

Bu bölümde Postman tarafında kütüphane (collection) oluşturduktan sonra login, authorization ve kayıt ekleme işlemlerini gerçekleştiriyor olacağız.

Yeni bir kütüphane oluşturarak işe başlayalım.

Yeni Kütüphane Oluşturmak

New collection butonuna tıklayıp açılan pencereden oluşturacağımız kütüphanemize isim vererek Create butonuna tıklıyoruz ve kütüphanemizi oluşturmuş oluyoruz.

Login: Diyelim ki aşağıdaki gibi bir projemiz var ve login ekranında olup bitenleri Postman kütüphanemize ekleyip sonrasında bu işlemi otomasyon için kullanmak istiyoruz.

Login Arayüzü

Kullanıcı adımız “001” ve şifremiz de “Password” olsun. Alanları bu şekilde doldurup yollayalım ve Google Inspect ile neler olacağını gözlemleyelim.

Başarılı Login İsteği

Görüldüğü gibi post metodu ile 200 dönen başarılı bir login işlemimiz olmuş. Password ve userid alanlarında ne gönderdiğimizi de görebiliyoruz. Şimdi gelelim bunu Postman tarafına eklemeye…

Yeni Request (İstek) Ekleme

Oluşturduğumuz kütüphaneye add request butonunu kullanarak ya da collection üzerine geldiğimizde sağda beliren üç nokta içinde seçenekler arasından request ekleyip isimlendiriyor ve kütüphanemizin içine kayıt ediyoruz.

Login Request Düzenlemesi

Kütüphanemizin içine kayıt edilen request’imizi yollamaya hazır hale getirip yollayalım.

Metod olarak 2 üst görselde paylaşmış olduğum ‘Başarılı Login İsteği’ görselinde görebileceğiniz üzere login olmak için kullanılan post metodunu kullanıyoruz.

Bu metotun istek attığı url adresi Postman tarafında url alanına yazılmalı. Bu adres ‘Başarılı Login İsteği’ adlı görselden gözlemlenebilir.

Request’imizde gönderecek olduğumuz username ve password bilgilerimizi body alanı içerisinde raw json text formatında düzenliyoruz ardından Send butonuna tıklayıp yolluyoruz.

Bundan sonra oluşturacağımız bütün request’lerin body alanı raw json formatında olacak ve request’imizin atıldığı url bilgisine de gene Google Inspect yardımıyla ulaşacağız.

Yolladığımız request’in 200 durum kodu ile başarılı olarak yansıdığını ve response olarak dönen bir tokenkey görüyoruz.

Buraya kadar yaptığımız işlemleri “Login Request Düzenlemesi” adlı görselden takip edebilirsiniz.

Ayrıca aşağıdaki görselde de görüldüğü gibi (Test Sonuçları) isteklerimizi test etmek ve durumunu görüntülemek üzere test tarafındaki sonuçları kullanabiliriz.

Test Sonuçları

Şimdi dönen key’i yakalayıp request’imizin test tarafını yazmaya başlayabiliriz.

Önce otomasyonumuzu yazarken oluşturacağımız değişkenlerin tutulması için bir değişken ortamı (Environment) oluşturalım.

Environment Ekleme

Arayüzümüzün sağ üst tarafında bulunan ‘Manage Environment’ ikonuna tıkladıktan sonra açılan ilk pencerede (üstteki görselde solda) daha önce oluşturulmuş olan environment’lar listelenir ve Add butonu ile yeni bir environment eklenebilir. Açılan ikinci pencerede (üstteki görselde sağda) environment adı yazılıp yeni bir ortam oluşturulabilir.

Variable (Değişken) Oluşturmak

Şimdi test tarafımıza ekleyeceğimiz kodlarla değişkenlerimizi oluşturup token key’imizi yakalayalım.

var jsonData = JSON.parse(responseBody);

jsonData adlı bir değişken oluşturulur ve response tarafında dönen body json formatına parse edilerek (çevrilerek) bu değişkene atanır. Artık response olarak dönen her şey jsonData olarak adlandırdığımız değişken içinde yakalanıp test yazmak için kullanılabilir.

postman.setEnvironmentVariable(“T.O_Token _Key”, jsonData.key);
T.O_Token _Key (Test Otomasyon Token Key)

adında bir değişken oluşturulur ve bu değişkene response tarafında gelen token key atanır. Bu değişkenler oluşturmuş olduğumuz environment içersinde tutulur.

Artık otomasyonumuzun herhangi bir aşamasında bu değişken çağırılıp elde edilen token key kullanılabilir.

pm.test(“Should Be Status Code Is 200”, function ()
{pm.response.to.have.status(200);});

İşlemimiz başarılı olduğunda dönen durum kodu 200 olmalıdır diyoruz.
Otomasyonumuz çalıştığında bu request başarılı olmaz ve belirttiğimiz durum 200 dönmez ise bu request’in durumunda fail alarak bir sorun olduğunu anlayabiliriz. Farklı request’ler için farklı durum kodları içerecek şekilde bu kodu kullanmaya devam edeceğiz.

Authorization (Yetki) ve Insert (Kayıt Ekleme) İşlemi: Örnek olarak web projemizde yer alan grup ekleme sayfasını kullanalım ve projemize kullanıcı grubu ekleyelim. Bunun gerçekleşmesi için son yaptığımız login işleminden elde edilen token key authorization için kullanmalıdır.

Authorization (Postman Tarafı)

Önce web projemize grup eklemek amacıyla, insert adında yeni bir request oluşturacağız ve authorization alanını seçip type olarak bearer token belirleyeceğiz.

Bu işlemlerin ardından Postman daha önce elde edilen token key’in atandığı variable’ı (T.O_Token _Key) yakalayıp token alanına yerleştirecektir. Bu noktadan sonra bu authorization işlemini eklediğimiz her request için tekrar uygulamamız gerekir çünkü bu işlem uygulanmazsa unauthorized hatası alınır ve request’imiz başarısız olur.

Şimdi insert işlemimize devam edip grubumuzu ekleyelim.

Grup Ekleme (Web Projesi Tarafı)

Grubumuzu ekledik, gruplar adlı tablomuza eklendiğini gördük ve Google Inspect tarafında request’imiz içinde giden datayı takip ettik. Şimdi insert işlemi için kullanılan request url ve gönderdiğimiz datayı Postman tarafındaki kütüphanemize ekleyelim.

Grup Ekleme (Postman Tarafı)

Grubumuzu eklerken gönderdiğimiz içeriği body alanımıza ekleyip request’imizin gideceği url adresini belirledik. Metot olarak post seçimini yaptık.

Bu request’i oluştururken ihtiyacımız olan url ve body içeriği gibi gerekli olan tüm datayı “Grup Ekleme (Web Projesi Tarafı)” görselinde belirttiğim üzere Google Inspect yardımıyla elde ettikten sonra “Grup Ekleme (Postman)” görselinde görüldüğü üzere json formatında düzenledik ve send butonuna tıklayıp gönderdik. Durum kodunda post metodu için başarılı varsayılan 202 kodunu görüyor ve ardından test tabını açıyoruz.

pm.test(“Should Be Status Code Is 202”, function () {pm.response.to.have.status(202);});

Üstteki kodu test tabı içerisine ekliyoruz. İşlemimizin başarılı olarak dönen statüsü 202 olmalıdır diyoruz. Postman tarafından gönderdiğimiz istekle web projemize grup eklemiş olduk.

Eklenen Kayıtları Görüntüleme (Get) İşlemi:

Web projemize girip gruplar sayfamızı açıyoruz ve eklemiş olduğumuz “Example Group” adlı grubumuzu görüntülüyoruz.

Grupları Görüntüleme (Web projesi Tarafı)

Ardından postman kütüphanemize bu requestimizi ekliyoruz.

Grupları Görüntüleme Postman Tarafı

Serinin devamında kayıt eklediğimiz sayfanın kayıtlarından beslenen farklı bir sayfaya kayıt ekleme, kayıt güncelleme ve kayıt silme işlemlerini gerçekleştirmiş olacağız.

Teşekkürler.

Ali Erhan Akyürek

--

--