API Nedir? Postman ile API Testine Giriş

ElifDilhanAtasoy
blutv
Published in
5 min readSep 13, 2021

Herkese merhaba,

Bu yazımda sizlere “API nedir?” ve “Postman ile API Testine Giriş” konularından bahsedeceğim. Keyifli okumalar dilerim.

API Nedir?

API(Application Programing Interfaces — Uygulama Programlama Arayüzleri), iki uygulamanın birbiri ile veya veritabanı arasında iletişim kurmasını sağlayan katmandır. Herhangi bir web uygulaması üç katmandan oluşur. Kullanıcı arayüzü, API(uygulama arayüzü) ve veritabanı katmanı diyebiliriz.

Örnek verecek olursak telefonunuzdan mobil uygulamanın ön yüzünden hesabım sayfası tıklandığında ön yüz uygulama arayüzündeki servise bir istek(request) atar. Arayüz gerektiğinde veritabanı ile iletişimde bulunur. Veritabanı bu bilgileri arayüze bir cevap(response) olarak döner. Uygulama istediği bilgileri bu cevap ile alır, ön yüzde gösterilir.

API testleri, istekleri ve işlevselliği doğrulamak, performans ve kullanılabilirliği ölçmek için yapılan testlerdir. Arayüz geliştirmeleri sırasında yapılarak hatanın daha önce bulunup çözülmesini sağlamaktadır. API testlerinde status code, response time, response body, response headers gibi bir çok alan test edilebilir. Daha sonra birden fazla API’den oluşan test senaryoları test edilir.

HTTP requestleri nelerden oluşur biraz da bunları inceleyelim.

API URL

Hangi endpoint yani arayüze istek yapılacağını belirler.

HTTP ÇAĞRI METHODLARI

Postman üzerinde de gördüğümüz gibi bir çok method türü vardır. Biz en çok kullanılan GET, POST, PUT ve DELETE methodlarını inceleyeceğiz.

GET: Bu method türü sunucudaki veriyi okumak için kullanılır.

POST: Method türü genellikle sunucuya “Oluştur” komutu göndererek bir kayıt oluşturmak amacıyla kullanılır.

PUT: Bu method daha önceden kaydedilmiş bir verinin güncellenmesi, örneğin kayıtlı bir bilginin güncellenmesi için kullanılır.

DELETE: Bu method kayıtlı bir bilgiyi veritabanından silmek için kullanılır.

BODY

Body tabından endpointi belirtilmiş adrese gönderilecek veriler girilir. Bu veriler form-data, urlencoded, raw, binary şeklinde olabilir.

HEADERS

Headers tabında yapılacak olan http isteği sırasında backend tarafına URL ya da Body dışında gönderilmek istenilen bir takım bilgiler olabilir. Örneğin Authorization bilgisi, gönderilen ve talep edilen Body formatı gibi bilgiler gönderilebilir. Yapacağımız isteğe göre farklı headerlar kullanılabilmektedir. En sık kullanılanlardan Content-Type ile örnek verilebilir.

Content-Type: Request body’sinde gönderilen veri formatını belirtmektedir. “application/json”, “application/xml” ve “text/plain değerleri” en çok kullanılan değerlerdir. Json, Xml veya düz yazı formatında veri gönderdiğimizi belirtmek için kullanılmaktadır.

RESPONSE CODE

Yapılan işlemin başarılı olup olmadığını anlamak için sunucudan belirli bir kod geri dönüşü yapılır. Bu kodların standart bir karşılığı olmaktadır. Örneğin 2xx ile başlayan bir kod başarılı 4xx- işlemci tarafında hata, 5xx-sunucu tarafında hata olduğunu anlayabiliriz.

POSTMAN Nedir?

Postman backend API’ları test emek için HTTP requestlerimizi istediğimiz şekilde düzenleyip çalıştırabileceğimiz ve test edebileceğimiz bir program çeşididir.

Postman’i açarak new butonuna tıkladığımızda ilk olarak bizi bu ekran karşılamaktadır. New butonuna tıkladığımızda yeni requestler oluşturabiliyoruz. Yapacağımız requestleri sınıflandırmak istediğimizde collection tanımlayarak kullanırız.

Collection butonuna tıkladığımızda yeni collection oluşturabilir, bu collectionda kullanılacak değişkenleri tanımlayabiliriz. Collection üzerine gelip “Run Collection” butonuna tıklamamız tüm testlerimizi koşabilmemizi sağlamaktadır. Burada testlerin hangi ortam değişkenlerini kullanacağına dikkat etmemiz gerekir.

POSTMAN’DE GLOBAL ve ENVIRONMENT DEĞİŞKEN TANIMLAMA

Testlerimizde değişkenleri kullanarak; yapacağımız isteklerimizde kullanmak istediğimiz değerleri kaydederek değiştirmek istediğimiz zaman bu değişkenlere daha kolay erişim sağlayabiliriz. Değişkenlerimizi birden fazla yerde kullanmak isteyebiliriz.

Postman’de değişkenlerin kapsamları birbirinden farklıdır. Bunlar:

Global > Collection > Environment > Data > Local

Global Değişkenler

Global değişkenler en kapsamlı değişkenlerdir. Collectionlardan bağımsız tüm requestlerde kullanılabilirler. Testlerimiz arttıkça oluşabilecek karmaşıklığı önlemek amacıyla sadece tüm projede kullanabileceğimiz değişkenleri burada tanımlamamız işinizi kolaylaştıracaktır. Resimde gösterilen alana tıklayarak değişkenlerimizi görebiliriz.

Add alanına tıklayarak değişkenlerimizi oluşturabiliriz. Ben örnek olarak baseURL adında global bir değişken tanımladım. Save butonuna tıklayarak kaydettikten sonra artık Global altında değişkenimizi göreceğiz.

İsteklerimizde bu değişkene ulaşmak için kullanmak istediğimiz alana gelerek {{değişken_adı}} girerek değişkenimizi kullanmış oluyoruz.

Environment Değişken

Ortam değişkenleri global değişkenlere göre daha dar kapsamlıdır. Sadece yapacağımız request ile kullandığımız değişkenleri environment değişkenler altında tanımlamalıyız.

Environment oluşturmak için sağ üst köşede bulunan Add tuşuna tıklıyoruz.

Yukarıda gördüğünüz gibi bir adet global değişkenler kümesine sahip olabilirken birden fazla environment oluşturabiliriz. Örneğin farklı requestlerimiz var ise farklı değişkenler yaratabiliriz.

Daha sonra yapacağımız istek için kullanılmasını istediğimiz ortamı seçebiliriz. Quick look butonuna bastığımızda seçtiğimiz ortam altında değişkenlerimizi görmekteyiz.

İki değişkenimizin ismi aynı olduğu durumda ortam seçilmiş ise Postman o ortam altındaki değişkenin değerini kullanmaktadır.

Yukarıda bahsettiğimiz gibi isteklerimizde bu değişkene ulaşmak için kullanmak istediğimiz alana gelerek {{ degisken-adı }} girerek değişkenimizi kullanmış oluyoruz.

Değişkenlerimizi kullandıktan sonra artık isteğimiz en son hali ile hazır ve Send tuşuna basıyoruz. Response kodumuzun 200 OK döndüğünü başarılı olduğunu görüyoruz.

Bu yazımda sizlere API nedir ve Postman ile birlikte API testine giriş yapmaya çalıştım. Umarım faydalı olmuştur.

Sonraki yazılarımızda görüşmek üzere, keyifli okumalar 👋

KAYNAKÇA

https://www.ozgurozkok.com/what-is-rest-api/

https://www.udemy.com/course/postman-ile-api-arayuz-testi-ve-test-otomasyonu/

https://medium.com/@ozaneseriu/postman-ile-backend-api-otomasyonuna-i%CC%87lk-ad%C4%B1m-13573eacc0c2

https://tugceakin.medium.com/rest-api-testi-olu%C5%9Fturmaya-giri%C5%9F-693f208be0f5

https://medium.com/kodcular/postmande-collection-global-ve-environment-variable-tan%C4%B1mlamak-5f320a73320b

--

--