- Postman mock server ne işe yarar?
- Adım adım: koleksiyon ve örnek yanıtları hazırlayın
- Adım adım: mock server'ı oluşturun ve URL'yi alın
- İstemciyi mock'a bağlamak: URL'yi ortam değişkenine koyun
- Eşleştirme, oturum ve gecikme ayarları
- Mock'u test akışına koymak ve sık hatalar
- Bu beceriyi Mindset programlarında nerede çalışırsınız
- Sık sorulan sorular
Postman mock server ile sahte API adım adım nasıl kurulur ve kullanılır?
Koleksiyon ve örnek yanıt hazırlama, mock server oluşturma, URL kullanımı ve eşleştirme ayarlarıyla Postman ile API simülasyonu adımları.
Postman mock server ne işe yarar?
Mock server, henüz yazılmamış, erişilemeyen ya da test için kullanılması riskli bir API'nin yerine geçen sahte bir sunucudur. İstemci tarafı (mobil uygulama, web arayüzü, başka bir servis) gerçek API hazır olmadan geliştirilebilir; testler gerçek sisteme dokunmadan çalıştırılabilir; ödeme ya da SMS gibi ücretli veya geri alınamaz işlemler taklit edilebilir. Backend ekibi uç noktaları yazarken frontend ekibi sözleşmeye göre mock'a bağlanır ve iki ekip birbirini beklemeden ilerler.
Postman'de mock server, kayıtlı örnek yanıtlara (examples) dayanır. Bir koleksiyondaki her istek için, o isteğe verilecek örnek yanıtı kaydedersiniz; mock server gelen isteği bu örneklerle eşleştirir ve eşleşen örneğin yanıtını döner. Resmî dokümantasyona göre eşleştirme varsayılan olarak istek gövdesini ve başlıkları dikkate almaz; bu davranış yapılandırmadan değiştirilebilir.
Mock server her sorun için doğru araç değildir. Gerçek iş mantığını, veritabanı tutarlılığını ya da performansı sınamaz; yalnızca önceden tanımladığınız yanıtları döner. Amacı, sözleşmeye göre geliştirmeyi ve entegrasyon akışlarını erken test etmektir. Gerçek API hazır olduğunda aynı koleksiyonla gerçek ortama karşı çalıştırıp farkı yakalayabilirsiniz.
Adım adım: koleksiyon ve örnek yanıtları hazırlayın
Mock server bir koleksiyondan oluşturulur, bu yüzden önce koleksiyonu kurun. Koleksiyon yalnızca HTTP isteklerinden oluşmalıdır; Postman belgesi bunu şart koşar. Her istek için yöntemi (GET, POST, PUT, DELETE), yolu ve gerekiyorsa parametreleri tanımlayın.
Sonra her isteğe örnek yanıt ekleyin. Örnek, mock'un o istek geldiğinde döneceği şeydir: durum kodu, yanıt başlıkları (özellikle Content-Type) ve gövde. Birkaç tür senaryoyu ayrı örneklerle tanımlamak yararlıdır: • Başarılı yanıt: beklenen veri yapısıyla. • Boş liste: veri yokken arayüzün nasıl davrandığını sınamak için. • Doğrulama hatası: eksik ya da hatalı alanla gelen istek için istemci hatası. • Yetkisiz erişim: kimlik doğrulama hatasında arayüzün tepkisi. • Sunucu hatası: servis çöktüğünde yeniden deneme ve hata mesajı davranışı.
Örnek gövdelerde gerçekçi veri kullanın. Örneğin bir kullanıcı listesi için ad, e-posta ve rol alanlarını içeren bir JSON hazırlarsınız. Gerçek API'nin şemasıyla (OpenAPI belgesi ya da yazılı sözleşme) aynı alan adlarını ve tiplerini kullanmak, mock'tan gerçeğe geçişte sürprizi azaltır. Mock yanlış bir sözleşmeyi taklit ediyorsa, istemci kodu da yanlış yazılır.
Adım adım: mock server'ı oluşturun ve URL'yi alın
Postman'in resmî dokümantasyonundaki akış şöyledir. Kenar çubuğunda artı simgesine tıklayıp Mock Server'ı seçin, ardından mevcut bir koleksiyondan oluşturmak için Existing collection seçeneğini işaretleyin. Karşınıza gelen ayarlar şunlardır: • Name: mock server'a bir ad. • Collection: kullanılacak koleksiyon (var olanı seçebilir ya da yenisini oluşturabilirsiniz). • Environment: isteğe bağlı olarak ortam değişkenleri. • Simulate a fixed network delay: sabit bir ağ gecikmesi; yavaş ağda arayüz davranışını sınamak için. • Save the mock server URL as a new environment variable: mock URL'sini yeni bir ortam değişkenine kaydeder. • Make mock server private: istekler için bir API anahtarı başlığı şartı koşar.
Ayarları yapıp Deploy'a tıkladığınızda mock server yayına alınır; çalışma alanında Copy Mock Server URL ile adresi kopyalarsınız. Adrese Services altındaki Mock Servers bölümünden de ulaşabilirsiniz. Bir mock'u geçmiş (History) sekmesindeki isteklerden de oluşturabilirsiniz; sidebar'daki History sekmesinde bir isteğin yanındaki More actions menüsünden Mock Request seçilir. Ayrıca mevcut bir mock'tan da oluşturmak mümkündür.
Postman arayüzü ve adları zamanla değişebilir; güncel adımlar için resmî dokümantasyonu kontrol edin.
İstemciyi mock'a bağlamak: URL'yi ortam değişkenine koyun
Mock server adresini koda veya isteklere sabit yazmak yerine bir değişkende tutun. Postman'de mock URL'sini ortam değişkenine kaydetme seçeneği vardır. Böylece isteği {{mockUrl}}/kullanicilar gibi yazarsınız; gerçek API'ye geçerken değişkenin değerini değiştirmeniz yeter, istek ve test betikleri aynı kalır. Uygulama kodunda da taban adresi yapılandırma dosyasından veya ortam değişkeninden okuyun.
Mock'u Postman içinden çağırmak için koleksiyondaki isteğin adresini mock URL'si ile değiştirip gönderin. Yanıt, kayıtlı örneğe uygun gelir. Başka bir araçtan (tarayıcı, mobil uygulama, curl) çağırırken mock server public ise doğrudan adres yeterlidir; private ise isteğe x-api-key başlığıyla Postman API anahtarınızı eklemeniz gerekir. Dokümana göre yeni mock server'lar varsayılan olarak public'tir; kurumsal planlarda yöneticiler public mock oluşturmayı kısıtlayabilir.
Güvenlik açısından, mock örneklerine gerçek müşteri verisi, gerçek parola ya da üretim anahtarı koymayın. Public bir mock adresini bilen herkes yanıtları görebilir. Örnek veriyi uydurma ve anonim tutun, gizli veri gerekiyorsa private mock kullanın.
Eşleştirme, oturum ve gecikme ayarları
Mock server gelen isteği hangi örnekle eşleştirecek? Varsayılan olarak yöntem ve yola bakılır; istek gövdesi ve başlıklar yok sayılır. Aynı yola farklı gövdelerle farklı yanıtlar döndürmek istiyorsanız yapılandırmayı değiştirirsiniz: Services altında Mock Servers'a gidin, ilgili sunucuyu seçip Edit Configuration'a tıklayın ve Response Matching altında Request body ya da Headers seçeneğini açın. Gövde eşleşmesi açıkken örnek yanıtlarda istekle aynı değere sahip bir Content-Type başlığı bulunmalıdır. Başlık eşleşmesi için virgülle ayrılmış başlık anahtarları verilir; büyük küçük harf ayrımı yapılmaz.
Oturumlar, mock'un durumunu kullanıcıya veya test koşusuna göre ayırmayı sağlar. Oturum durumu x-mock-session başlığıyla tanımlanır; Postman ayrıca oturumu istekler arasında sürdürmek için bir çerez de kullanabilir. Oturumlar varsayılan olarak açıktır; kapatırsanız tüm istekler tek bir durumu paylaşır. Paralel çalışan testlerin birbirinin verisini bozmaması için oturumları açık tutmak mantıklıdır.
Ağ gecikmesi simülasyonu, yavaş yanıt koşullarında arayüzün yükleme göstergelerini ve zaman aşımı davranışını sınamak için kullanılır. Auto deploy when mock changes seçeneği ise mock'taki değişikliklerin otomatik yayına alınmasını sağlar. Dokümanda belirli bir durum kodunu zorlayan başlık adı geçmediği için, hata senaryolarını ayrı örnekler ve eşleştirme kurallarıyla kurgulayın.
Mock'u test akışına koymak ve sık hatalar
Mock server'ın gücü, otomatik testlerle birleştiğinde ortaya çıkar. Postman test betikleri mock'a karşı yazılıp çalıştırılabilir; durum kodu, yanıt şeması ve zorunlu alan kontrolleri sözleşmeye uygunluğu sınar. Aynı test seti gerçek API'ye karşı çalıştırıldığında ortaya çıkan farklar, mock ile gerçek arasındaki sözleşme sapmalarını gösterir. Bu testler komut satırı aracı ile sürekli entegrasyon hattında koşturulabilir.
Daha geniş bağlamda, bir mock yalnızca basit örnek yanıt dönmekle sınırlı değildir. Sanal servis yaklaşımı (service virtualization), bir bağımlılığın davranışını durumlu ve karmaşık biçimde taklit etmeyi hedefler; test ortamı sanallaştırma bu konunun kurumsal boyutudur. Postman mock, bu yelpazenin hafif ucunda, hızlı ve koleksiyon odaklı bir çözümdür.
Sık yapılan hatalar şunlardır: • Mock örneklerini gerçek API şemasından kopuk tutmak; sözleşme değiştiğinde mock'u güncellememek. • Sadece başarılı senaryoyu tanımlayıp hata ve boş durumları unutmak. • Gerçek müşteri verisini public mock'a koymak. • Mock'u gerçek sistem sanıp performans veya iş kuralı doğrulamak. • Eşleştirme ayarını değiştirmeden aynı yola farklı gövde için farklı yanıt beklemek. • Mock URL'sini koda sabitleyip gerçek API'ye geçişi zorlaştırmak.
Küçük bir başlangıç: tek bir uç nokta için başarılı ve hata örneklerini ekleyin, mock'u yayına alın, URL'yi ortam değişkenine kaydedin ve bir istemciyi buna bağlayın.
Bu beceriyi Mindset programlarında nerede çalışırsınız
Postman ile API Testi eğitiminin Mock Server ve API Simülasyonu modülü, bu çalışmayı koleksiyon ve ortam yönetimi, test betikleri ve Newman ile CI/CD entegrasyonu modüllerinin yanında ele alır; test mühendisleri ve backend ile frontend geliştiricileri için uygundur. Test Ortamı Sanallaştırma ve Servis Sanallaştırma eğitimi ise sanal servis tasarımı ve davranış modelleme ile konuyu kurumsal test stratejisi boyutuna taşır. Kurumsal ekiplerde, entegrasyon ekipleri arasındaki bağımlılık beklemelerini azaltmak ve ortak bir sözleşme üzerinden çalışmak, pratik kazanımlardır.
İlgili Mindset programı
Postman ile API Testi
Sık sorulan sorular
Postman mock server ücretsiz mi, hesap gerekir mi?
Mock server Postman hesabı ve çalışma alanı üzerinden oluşturulur. Kullanım limitleri ve kapsam planınıza göre değişebilir; güncel koşulları Postman'in resmî fiyatlandırma ve plan sayfalarından kontrol edin. Yönetici ayarları da public mock oluşturmayı kısıtlayabilir.
Mock server ile gerçek API arasındaki fark nedir?
Mock server önceden kaydedilmiş örnek yanıtları döner; iş mantığı, veritabanı ya da gerçek performans yoktur. Gerçek API ise isteği işler ve duruma göre yanıt üretir. Mock, sözleşmeye göre erken geliştirme ve test için kullanılır, gerçek sistemi sınamanın yerini tutmaz.
Aynı uç noktadan farklı gövdeye farklı yanıt nasıl döndürülür?
Varsayılan davranış istek gövdesini yok sayar. Mock Servers altında Edit Configuration'a girip Response Matching bölümünde Request body seçeneğini açarsınız. Bu durumda örnek yanıtlarda isteğin Content-Type değeriyle aynı başlık bulunmalı ve her örnek ilgili gövdeye göre tanımlanmalıdır.
Private mock server'a nasıl istek atılır?
Private mock server, isteklerde Postman API anahtarını içeren bir x-api-key başlığı ister. Anahtarı kod ya da koleksiyon içine gömmeyin; ortam değişkeni veya güvenli yapılandırma kullanın. Gizli olmayan, anonim örnek verilerle çalışıyorsanız public mock yeterli olabilir.
Mock server olmadan sahte API'yi başka nasıl kurarım?
Başka araçlar da vardır: yerel çalışan hafif sunucular, JSON tabanlı sahte API araçları veya sözleşme tabanlı mock üreten araçlar. Seçim ekibin ihtiyacına bağlıdır: bulut tabanlı paylaşım, otomatik eşleştirme, CI entegrasyonu ve durumlu davranış gibi ölçütlere bakın.