Postman ile Fonksiyonel API Testi: Response Doğrulama ve JavaScript Assertion Yazımı
Postman ile Fonksiyonel API Testi
API testleri, yazılım geliştirme sürecinin kritik bir parçasıdır. Postman, API’lerinizi test etmek için en popüler araçlardan biridir. Bu yazıda, Postman ile nasıl fonksiyonel API testleri yapabileceğinizi, özellikle response doğrulama metotlarını ve JavaScript kullanarak assertion yazımını ele alacağız.
Postman Nedir?
Postman, API geliştirme ve test süreçlerini kolaylaştıran bir platformdur. Geliştiricilerin API çağrıları yapmalarını, yanıtları incelemelerini ve bu yanıtlar üzerinden testler gerçekleştirmelerini sağlayan özelliklere sahiptir.
Neden API Testi Yapmalıyız?
API testleri, uygulamanızın farklı bölümleri arasında veri akışını ve etkileşimi doğrulamak için önemlidir. İntegrasyon testleri sayesinde:
API’nın beklenen şekilde çalıştığını doğrulayabiliriz.
Performans sorunlarını erken teşhis edebiliriz.
Hataları zamanında tespit ederek, potansiyel kullanıcı sorunlarını minimize edebiliriz.
Postman ile API Testi Yapmanın Temelleri
1. Postman Kurulumu ve Ortama Tanıtım
Postman'ı bilgisayarınıza indirip kurduktan sonra, API’nizi tanıtmak için şu adımları takip edin:
Yeni bir çalışma alanı oluşturun.
API URL’nizi girin.
İlgili HTTP metodu (GET, POST, PUT, DELETE vb.) seçimini yapın.
2. Örnek API Çağrısı Yapma
Bir API üzerinden basit bir GET çağrısı yapalım:
GET https://jsonplaceholder.typicode.com/postsBu çağrı sonrasında sunucudan aldığınız yanıtı Postman'da inceleyebilirsiniz. Yanıtı görmek için "Send" butonuna tıklayın.
3. Temel Response Doğrulama
Postman’da test yapmak için "Tests" sekmesine gidin ve aşağıdaki JavaScript kodunu yazın:
pm.test("Status code is 200", function () {
pm.expect(pm.response.code).to.equal(200);
});
Bu kod, yanıtın HTTP durum kodunun 200 olup olmadığını kontrol eder.
JavaScript ile Assertion Yazımı
JavaScript, Postman’ın test scriptlerinde kullanılan dil olduğundan, bu dilde assertion yazımı oldukça önemlidir.
4. Temel Assertionlar
Aşağıda, sıklıkla kullanılan bazı assertion örneklerini görebilirsiniz:
Durum Kodunun Doğrulanması:
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
Yanıt Süresinin Kontrolü:
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
JSON Yanıt İçeriği:
pm.test("Response contains userId", function () {
var jsonData = pm.response.json();
pm.expect(jsonData[0].userId).to.eql(1);
});
5. Gelişmiş Assertionlar
Daha karmaşık durumlar için aşağıdaki örnekleri inceleyebilirsiniz:
Tüm Postların Başlığı Kontrolü:
pm.test("All posts should have a title", function () {
var jsonData = pm.response.json();
jsonData.forEach(function(post) {
pm.expect(post.title).to.exist;
});
});
Yanıt Şemasının Kontrolü:
const schema = {
type: "array",
properties: {
userId: {type: "integer"},
id: {type: "integer"},
title: {type: "string"},
body: {type: "string"}
},
required: ["userId", "id", "title", "body"]
};
pm.test("Response matches the schema", function () {
const jsonData2 = pm.response.json();
pm.expect(jsonData2).to.have.jsonSchema(schema);
});
Postman'da Test Koşulları Oluşturma
Test scriptleri yazmak, sadece belirli assertions yazmakla kalmaz; aynı zamanda test koşulları oluşturarak daha dinamik test senaryoları geliştirebilirsiniz. Aşağıda birkaç koşul örneği bulunmaktadır:
6. Koşullu Testler Yazma
pm.test("Response is OK", function () {
if (pm.response.code === 200) {
console.log("Everything is okay!");
} else {
console.log("Something went wrong!");
}
});
7. Çıktıların Kontrolü
Yanıtın içerik tipini kontrol etmek de önemlidir:
pm.test("Content-Type is json", function () {
pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');
});
Postman, API testlerini daha ulaşılabilir ve etkili bir hale getiren güçlü bir araçtır ve testlerin otomatikleştirilmesine olanak sağlar. JavaScript ile yazdığınız assertionlar sayesinde, API'nizin fonksiyonelliğini ve doğru çalıştığını garantileyebilirsiniz. Belirlenen hedeflere ulaşmak için doğru test senaryoları oluşturmak ve bunları düzenli bir şekilde uygulamak oldukça önemlidir.
Yazımızda, Postman ile nasıl fonksiyonel API testleri yapabileceğinizi, response doğrulama işlemlerini ve JavaScript kullanarak nasıl assertion yazabileceğinizi ele aldık.