DEV Community

Cover image for Talend API Tester ile API Testi Nasıl Yapılır
Tobias Hoffmann
Tobias Hoffmann

Posted on • Originally published at apidog.com

Talend API Tester ile API Testi Nasıl Yapılır

Talend API Tester, tarayıcıdan çıkmadan HTTP istekleri göndermek ve yanıtları incelemek için kullanılan bir Chrome uzantısıdır. Eskiden Restlet Client olarak biliniyordu. REST API çağrılarını hızlıca denemek, yanıtları doğrulamak ve basit test akışları oluşturmak için kullanılabilir.

Apidog'u bugün deneyin

Bu rehberde Talend API Tester ile pratik bir API test akışı kuracaksınız: uzantıyı yükleyecek, ilk isteği gönderecek, istekleri projeler ve hizmetler altında düzenleyecek, çok adımlı bir senaryo oluşturacak ve yanıtları otomatik kontrol etmek için onaylar (assertions) ekleyeceksiniz. Örneklerde herkesin deneyebilmesi için herkese açık bir API kullanılacaktır.

Uzantıyı Yükleme ve İlk İsteği Gönderme

Talend API Tester, Chrome Web Mağazası üzerinden kurulabilir.

  1. Chrome Web Mağazası'nda Talend API Tester arayın.
  2. Chrome'a Ekle seçeneğine tıklayın.
  3. Kurulumdan sonra uzantılar menüsünden açın.
  4. Sık kullanacaksanız araç çubuğuna sabitleyin.

Uzantı, Edge ve Brave gibi Chromium tabanlı tarayıcılarda da çalışır.

Arayüzde genellikle solda proje/istek listesi, sağda ise istek düzenleme paneli bulunur. İstek panelinde şu alanları kullanırsınız:

  • HTTP yöntemi: GET, POST, PUT, DELETE vb.
  • URL alanı
  • Headers sekmesi
  • Body sekmesi
  • Yanıt alanı

İlk test için GET seçin ve aşağıdaki uç noktayı girin:

GET https://jsonplaceholder.typicode.com/users/1
Enter fullscreen mode Exit fullscreen mode

Gönder düğmesine tıklayın. Yanıtta şunları kontrol edin:

  • Durum kodu
  • Yanıt süresi
  • Yanıt başlıkları
  • JSON gövdesi

Talend API Tester, JSON ve XML yanıtlarını biçimlendirerek okunabilir hale getirir.

Bir POST isteği denemek için yöntemi POST olarak değiştirin, Body bölümünde application/json seçin ve aşağıdaki yükü girin:

{
  "name": "Priya Nair",
  "email": "priya.nair@example.com"
}
Enter fullscreen mode Exit fullscreen mode

Kimlik doğrulama gereken bir API test ediyorsanız Headers bölümüne örneğin şu başlığı ekleyebilirsiniz:

Authorization: Bearer YOUR_TOKEN
Enter fullscreen mode Exit fullscreen mode

Talend API Tester ayrıca Basic, Digest, OAuth ve Bearer gibi kimlik doğrulama şemaları için yerleşik yardımcılar da sunar.

İstekleri Projeler ve Hizmetler Halinde Düzenleme

Birkaç isteği tek tek çalıştırmak hızlı kontroller için yeterlidir. Ancak istek sayısı arttığında yapı kurmak gerekir. Talend API Tester, çalışmaları projeler ve proje içindeki hizmetler ile düzenler.

Örnek yapı:

Kullanıcı API'si
├── Kullanıcılar
│   ├── Kullanıcı listele
│   ├── Kullanıcı detayı
│   └── Kullanıcı oluştur
└── Siparişler
    ├── Sipariş listele
    └── Sipariş detayı
Enter fullscreen mode Exit fullscreen mode

Uygulama adımları:

  1. Sol kenar çubuğundan yeni bir proje oluşturun.
  2. Projeye örneğin Kullanıcı API'si adını verin.
  3. İlgili uç noktaları gruplayacak hizmetler oluşturun:
    • Kullanıcılar
    • Siparişler
  4. Her isteği doğru hizmetin altına kaydedin.

Bir hizmet için temel URL tanımlayabilirsiniz. Örneğin:

https://jsonplaceholder.typicode.com
Enter fullscreen mode Exit fullscreen mode

Böylece her istekte tam URL yerine sadece yolu kullanabilirsiniz:

GET /users/1
Enter fullscreen mode Exit fullscreen mode

Bu yapı iki nedenle faydalıdır:

  • Büyük istek koleksiyonlarında aradığınız çağrıyı hızlı bulursunuz.
  • Senaryolar, kaydedilmiş isteklere referans verdiği için düzenli yapı test akışlarını kolaylaştırır.

Talend API Tester ortam değişkenlerini de destekler. Örneğin bir host değişkeni tanımlayarak farklı ortamlar arasında geçiş yapabilirsiniz:

host = https://staging.example.com
Enter fullscreen mode Exit fullscreen mode

İsteklerde bunu şu şekilde kullanabilirsiniz:

GET {{host}}/users/1
Enter fullscreen mode Exit fullscreen mode

Aynı proje için ikinci bir ortamda üretim adresini tanımlayabilirsiniz:

host = https://api.example.com
Enter fullscreen mode Exit fullscreen mode

Bu yaklaşım, URL'leri elle değiştirme ihtiyacını azaltır ve yanlış ortama istek gönderme riskini düşürür.

Talend API Tester ayrıca mevcut çalışmaları içe aktarabilir:

  • Postman koleksiyonları
  • Swagger tanımları
  • OpenAPI tanımları
  • HAR dosyaları

Zaten bir API spesifikasyonunuz veya Postman dışa aktarımınız varsa, istekleri tek tek yeniden oluşturmak yerine içe aktarmak daha hızlıdır. Testleri nasıl gruplayacağınızı planlamak için API test durumu örneği kılavuzundan da yararlanabilirsiniz.

İstekleri Sırayla Çalıştırmak İçin Senaryo Oluşturma

Tek bir istek, tek bir HTTP çağrısını test eder. Gerçek API testlerinde ise çoğu zaman bir akış doğrulanır:

  1. Kayıt oluştur.
  2. Oluşturulan kaydı oku.
  3. Kaydı güncelle.
  4. Kaydı sil.

Talend API Tester bu akışları senaryolar ile yönetir.

Bir senaryo, kaydedilmiş isteklerin sırayla çalıştırıldığı bir listedir. Oluşturmak için:

  1. Kenar çubuğundan yeni bir senaryo oluşturun.
  2. Daha önce kaydettiğiniz istekleri sırayla ekleyin.
  3. Senaryoyu çalıştırın.
  4. Her adımın sonucunu yanıt panelinden kontrol edin.

Örnek senaryo:

Kullanıcı Yaşam Döngüsü
1. Kullanıcı oluştur
2. Kullanıcı detayı getir
3. Kullanıcı güncelle
4. Kullanıcı sil
Enter fullscreen mode Exit fullscreen mode

Senaryoların asıl faydası, adımlar arasında veri taşıyabilmesidir. Örneğin Kullanıcı oluştur isteği şu yanıtı döndürebilir:

{
  "id": 42,
  "name": "Priya Nair",
  "email": "priya.nair@example.com"
}
Enter fullscreen mode Exit fullscreen mode

Bu yanıttaki id değerini bir değişkene çıkarıp sonraki istekte kullanabilirsiniz:

GET /users/{{userId}}
Enter fullscreen mode Exit fullscreen mode

Bu sayede izole istekler yerine durum bilgisi olan akışları test edersiniz.

Senaryolar ayrıca koşullu mantık ve tekrar kullanımını da destekler. Örneğin bir adımı yalnızca önceki istek 201 Created döndürdüyse çalıştırabilir veya belirli bir uç noktayı birden fazla kez çağırabilirsiniz.

Bu yaklaşım özellikle şu akışlarda işe yarar:

  • Kimlik doğrulama
  • Kayıt oluşturma
  • Oluşturulan kaydı doğrulama
  • Güncelleme
  • Silerek temizleme

Tek bir isteği elle çalıştırmak yerine senaryoyu baştan sona çalıştırmak, regresyon kontrolü için daha güvenilir sinyal verir. Test senaryosu ve test durumu makalesi, tekil kontrol ile çok adımlı akış arasındaki farkı daha ayrıntılı açıklar.

Yanıtları Otomatik Kontrol Etmek İçin Onaylar Ekleme

Senaryo çalıştırmak, API'nin ne döndürdüğünü gösterir. Onaylar (assertions) ise dönen sonucun doğru olup olmadığını otomatik kontrol eder.

Kaydedilmiş bir isteği açın ve onaylar bölümüne gidin. Talend API Tester'da onaylar form tabanlı olarak oluşturulur; çoğu durumda kod yazmanız gerekmez.

Yaygın onay örnekleri:

  • Durum kodu 200 olmalı.
  • Durum kodu 201 olmalı.
  • Yanıt süresi 500 ms altında olmalı.
  • JSON gövdesindeki belirli bir alan beklenen değere eşit olmalı.
  • Belirli bir başlık mevcut olmalı.
  • Bir başlık beklenen değeri taşımalı.

Örnek doğrulama mantığı:

Status code equals 200
Response time less than 500ms
Body field $.email equals priya.nair@example.com
Header Content-Type contains application/json
Enter fullscreen mode Exit fullscreen mode

Bir istek tek başına veya senaryo içinde çalıştırıldığında bu onaylar otomatik değerlendirilir. Sonuç panelinde hangi onayların geçtiğini veya başarısız olduğunu görebilirsiniz.

Bu, manuel kontrolü tekrarlanabilir bir regresyon testine dönüştürür.

Form tabanlı onayların avantajı, JavaScript yazmadan temel doğrulamalar oluşturabilmenizdir. Ancak karmaşık hesaplamalar veya birden fazla alan arasında koşullu kontroller gerekiyorsa sınırlarına ulaşabilirsiniz. Günlük API kontrollerinde çoğu zaman durum kodu, yanıt süresi ve birkaç gövde alanı yeterlidir.

Hangi kontrollerin eklenmesi gerektiğini planlamak için API onayları kılavuzuna bakabilirsiniz.

Yanıtı Doğru Okuma

Onay ekleseniz de eklemeseniz de, API yanıtını doğru okumak önemlidir. Dört bölüme odaklanın.

1. Durum kodu

Durum kodu ilk sinyaldir:

  • 2xx: Başarılı istek
  • 4xx: İstemci tarafında hata
  • 5xx: Sunucu tarafında hata

Daha az bilinen durum kodlarını yorumlamak için REST API'lerinin kullanması gereken HTTP durum kodları kılavuzu faydalı olabilir.

2. Yanıt süresi

Talend API Tester, isteğin ne kadar sürdüğünü gösterir. Doğru veriyi döndüren ama yavaş çalışan bir uç nokta yine de sorun olabilir.

Örnek hedef:

GET /users/1 should respond under 500ms
Enter fullscreen mode Exit fullscreen mode

3. Başlıklar

Başlıklar API davranışı hakkında önemli bilgiler taşır:

  • Content-Type
  • Önbellekleme başlıkları
  • Oran sınırlama bilgileri
  • CORS başlıkları
  • Kimlik doğrulama ile ilgili başlıklar

Örneğin JSON bekliyorsanız şunu doğrulamak isteyebilirsiniz:

Content-Type: application/json
Enter fullscreen mode Exit fullscreen mode

4. Gövde

Gövde, API'nin döndürdüğü gerçek veridir. Genellikle JSON veya XML olur.

Kontrol edilmesi gerekenler:

  • Alanlar mevcut mu?
  • Veri tipleri doğru mu?
  • Değerler beklenen aralıkta mı?
  • API sözleşmesiyle uyumlu mu?

Örnek JSON yanıt:

{
  "id": 1,
  "name": "Leanne Graham",
  "email": "Sincere@april.biz"
}
Enter fullscreen mode Exit fullscreen mode

Bu yanıtta en azından id, name ve email alanlarının beklenen şekilde geldiğini doğrulayabilirsiniz.

Bir Chrome Uzantısının Yeterli Olmadığı Durumlar

Talend API Tester, tarayıcı içinden hızlı API kontrolleri yapmak için kullanışlıdır. Ancak test çalışması büyüdükçe bazı sınırlar ortaya çıkar:

  • Chrome uzantısı olduğu için CI/CD ardışık düzenlerinde doğrudan headless çalıştırılamaz.
  • Onay sistemi temel doğrulamalar için uygundur, ancak tam kapsamlı test platformlarına göre sınırlıdır.
  • API tasarımı, mocking veya dokümantasyon gibi süreçleri tek çalışma alanında kapsamaz.

Apidog, bu boşlukları hedefleyen hepsi bir arada bir API platformudur. Tarayıcı uzantısı yerine bağımsız bir uygulamadır. Postman, OpenAPI ve diğer formatları içe aktarabilir; görsel onay oluşturucu, mock server'lar, otomatik test senaryoları ve projeden üretilen dokümantasyon sunar.

Spesifikasyon ve testler aynı doğruluk kaynağını paylaştığında, API dokümantasyonu ile testler arasındaki kopma riski azalır. Mevcut isteklerinizi karşılaştırmak için Apidog'u indirebilir ve içe aktarabilirsiniz.

Alternatif araçları değerlendirmek isterseniz ücretsiz çevrimiçi API test araçları karşılaştırması iyi bir başlangıç noktasıdır.

Talend API Tester, hızlı ve tarayıcı içi kontroller için hâlâ iyi bir seçenektir. Daha büyük ekiplerde veya otomasyon ihtiyacında, kullandığınız aracı test sürecinin ölçeğine göre seçmek daha doğru olur.

Sıkça Sorulan Sorular

Talend API Tester, Restlet Client ile aynı mı?

Evet. Talend API Tester, eskiden Restlet Client olarak bilinen aracın yeniden adlandırılmış versiyonudur. HTTP istekleri göndermek, istekleri düzenlemek ve onaylarla senaryolar çalıştırmak için kullanılan bir Chrome uzantısıdır.

Talend API Tester ücretsiz mi?

Chrome Web Mağazası'nda ücretsiz bir sürümü bulunur. Bu sürüm istek gönderme, projeler halinde düzenleme ve onaylarla senaryo oluşturma gibi temel işlevleri kapsar. Ücretli katmanlar geçmişte ekip özellikleri ve daha yüksek limitler ekliyordu. Ücretsiz sürüm çoğu bireysel test çalışması için yeterlidir.

Talend API Tester, CI/CD'de test çalıştırabilir mi?

Doğrudan hayır. Talend API Tester bir Chrome uzantısıdır ve tarayıcı içinde çalışır. Bu nedenle CI/CD ardışık düzenlerinde headless olarak doğrudan çalıştırılamaz. Her commit veya deploy sonrasında otomatik test çalıştırmak için komut satırı çalıştırıcısı olan bir araca ihtiyaç duyarsınız. CI/CD'de API testlerini otomatikleştirmek kılavuzu bu kurulumun nasıl göründüğünü açıklar.

Talend API Tester hangi formatları içe aktarabilir?

Postman koleksiyonlarını, Swagger ve OpenAPI tanımlarını ve HAR dosyalarını içe aktarabilir. Böylece mevcut API spesifikasyonlarını veya dışa aktarımları kullanarak istekleri manuel olarak yeniden oluşturma ihtiyacını azaltırsınız.

Bir senaryo, tek bir istekten nasıl farklıdır?

Tek bir istek, tek bir HTTP çağrısı gönderir ve tek bir yanıtı gösterir. Bir senaryo ise sırayla çalışan birden fazla isteği içerir. Ayrıca bir yanıttan yakalanan verileri sonraki isteklere aktarabilir. Bu nedenle senaryolar, oluşturma, okuma, güncelleme ve silme gibi çok adımlı API akışlarını test etmek için daha uygundur.

Top comments (0)