Postman ile API Testlerine Giriş: Restful HTTP Metodları (TR)

Cihan Eroğlu
Cihan Eroğlu | Blog
5 min readSep 1, 2022

API (arayüz) testleri, önyüz (frontend) ve database (server) arasındaki ilişkilenmenin ne kadar doğru kurgulandığını görmek için kullanılır.

Sektörde en sık kullanılan arayüz mimarisi olan Restful Mimarisinde belirli HTTP metodları kullanarak (en sık kullanılan metodlar) serverin bu çağrılara verdiği cevabı göreceğiz. Kullanacağımız HTTP metodları şunlar olacak: GET, POST, PUT ve DELETE.

Sorgularımız sonucunda 2 ile başlayan (2xx) bir response code (cevap kodu) ile karşılaşırsak, sorgunun başarılı sonuç verdiğini; 4 ile başlayan (4xx) veya 5 ile başlayan (5xx) response code ile karşılaşırsak, sorgumuzun başarısız sonuç verdiğini göreceğiz.

Testlerimizi gerçekleştirmek için Trello.com’a ait API’ı kullanacağız. Çeşitli yerlerde NASA’nın veya Restful-Booker.herokuapp.com gibi sitelerin API’larını kullanarak API testlerini anlatan yazı ve videolara rastladım. Ben Trello’yu tercih ettim. Trello, aynı Jira gibi bir proje geliştirme yazılımı, zaten aynı şirkete aitler. Tamamlanmış olan, yapılıyor olan ve yapılacak olan işler şeklinde işlerinizi gruplandırıp notlar ekleyebiliyor ve aynı projeyi ekibinizle -10 kişiye kadar- paylaşabiliyorsunuz.

Teste Hazırlık

Öncelikle bir Trello hesabı almanız gerekiyor. Trello.com sitesine gidip ücretsiz hesap oluşturuyor ve sonrasında “Panolar” kısmında yeni bir pano oluşturuyoruz. İstediğiniz ismi verebilirsiniz, ben Postman adını verdim ve Oluştur’a tıkladım. Burada listeler karşınıza çıkıyor ve istediğiniz herhangi bir listeye kart ekleyebiliyorsunuz veya yeni bir liste de oluşturabiliyorsunuz.

İkinci olarak bilgisayarınıza Postman’i kurmuş olmanız gerekiyor. Kurulumdan sonra Collections’a tıklayıp yanındaki “+” simgesinden yeni Collection oluşturuyoruz. “Trello Arayüz Çağrısı” ismini verdim. Sağ tarafta çıkan “…” üç noktaya tıklayıp “add request”e dokunalım.

“Trello” adıyla request’imizi oluşturalım.

Hazır sayılırız. Şimdi Trello üzerinden API testlerini yapabilmemiz için KEY ve TOKEN oluşturalım. https://trello.com/app-key adresine gidelim. Hesap oluşturduğunuzu ve giriş yapmış olduğunuzu varsayıyorum. Şartları kabul edip API Anahtarını Göster’e dokunalım.

Anahtarı oluşturduk, şimdi TOKEN oluşturmak için Belirteç’e tıklıyoruz. Çıkan sayfada Allow/İzin ver’e dokunuyoruz.

Böylece TOKEN oluşturuldu.

POST Metodu

Metodumuz ile Trello’da yeni bir Pano yani Board oluşturacağız. “https://developer.atlassian.com/cloud/trello/rest/api-group-actions/” adresine gidiyoruz. Soldaki navigatörden önce Boards’a sonra altında çıkan sekmelerden Create a board’a tıklıyoruz. Example yazan kısımdaki URL’i kopyalıyoruz ve Postman uygulamasında sorgu kısmını GET yerine POST olarak değiştirip URL’i yapıştırıyoruz.

URL’de bulunan API Key ve API Token kısımlarını aldığımız Key ve Token ile değiştiriyoruz. Sonrasında name kısmına oluşturduğumuz board için bir isim belirleyip giriyoruz. Ben kendi adımla bir board oluşturmak istiyorum:

Sonrasında Send butonuna basarak çağrımızı gerçekleştiriyoruz. Çağrımız başarılı gerçekleştiğinde Trello sayfamızda yeni bir board oluştuğunu görebileceğiz.

Buradaki id kısmı önemli, onu kullanarak diğer bazı metodlarımızı çalıştıracağız. Mavi nokta ile işaretlediğim Status kısmı, çağrımızın başarılı mı yoksa başarısız mı döndüğünü bize gösteriyor. Status: 200 ifadesi çağrının başarılı olduğunu yani metodumuzun başarılı şekilde çalıştığını gösteriyor. Status bilgisi 4 veya 5 ile başlayan 3 haneli bir kod olarak karşımıza çıksaydı, çağrımızın hata verdiğini söyleyebilirdik. Şimdi çağrımızın, Trello hesabımızda gerçekten “Cihan Eroğlu” adında bir board oluşturup oluşturmadığına bakabiliriz.

Board’umuz oluşmuş.

GET Metodu

Yine “https://developer.atlassian.com/cloud/trello/rest/api-group-actions/” adresine girip Boards ve Get a Board’a tıklıyoruz. Example kısmındaki URL’i kopyalayıp Postman’de yeni bir Request oluşturup Metodumuzu GET olarak değiştirip kopyaladığımız URL’i yapıştırıyoruz. Linkteki {id} kısmına Post metodunda oluşturduğumuz Board’ın id’sini yapıştıracağız. Sonrasında sorgumuzu çalıştırıyoruz. Ekranımız böyle görünüyor:

Böylece GET metodu çalışmış oldu ve biz sadece ID’sini bildiğimiz bir Board’ın tüm bilgilerini çektik. Kafası karışanlar için URL’i biraz anlatayım.

İlk mavi dikdörtgen içindeki kod bizim POST metodunda oluşturduğumuz Board’umuzun ID’si,

İkinci mavi dikdörtgen içindeki kod API Key’imiz,

Üçüncü Mavi dikdörtgen içindeki kod Token’ımız.

UPDATE Metodu

Şimde de oluşturduğumuz Board’ın “Cihan Eroğlu” olan ismini güncelleyelim yani değiştirelim. Tekrar “https://developer.atlassian.com/cloud/trello/rest/api-group-actions/” adresinden Boards ve Update a Board’a tıklıyoruz. URL’i kopyalıyor, Postman’da “Trello Update a Board” adında yeni request oluşturup metodumuzu PUT olarak değiştirip kopyaladığımız URL’i yapıştırıyoruz. URL üzerinden ID, Key ve Token’i düzenleyip URL’in sonuna “&name=Cihan Eroğlu1” ifadesini ekliyoruz. Çünkü Update bir güncelleme metodu olduğu için mevcut ismi nasıl veya ne ile güncelleyeceğimizi de belirtmemiz gerekiyor. Böylece ben “Cihan Eroğlu” olan Board adını “Cihan Eroğlu1” olarak güncellemiş olacağım. Siz bunu da değiştirebilirsiniz. Ardından Send butonuna tıklıyoruz.

Status: 200 OK (Çağrımız sonucunda boardımızın ismi Cihan Eroğlu1 olarak değişti.)
Trello hesabımızda değişimi anında görebiliriz.

DELETE Metodu

https://developer.atlassian.com/cloud/trello/rest/api-group-actions/” adresinden önce Boards ve sonra Delete a Board’a tıklayıp URL’i kopyalıyoruz. Bize lazım olanlar yine ID, Token ve Key olacak. Postman > New Request adımlarını takip ettikten sonra metodumuzu DELETE olarak belirleyip URL’i yapıştırıyor ve ilgili alanları düzenleyip Send işlemini gerçekleştiriyoruz.

200 Cevabı döndü, Board’umuz silindi.
Board’umuzun silindiğini görüyoruz.

Bir sonraki yazımda görüşmek üzere.

--

--