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.
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.
- Chrome Web Mağazası'nda Talend API Tester arayın.
- Chrome'a Ekle seçeneğine tıklayın.
- Kurulumdan sonra uzantılar menüsünden açın.
- 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,DELETEvb. - 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
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"
}
Kimlik doğrulama gereken bir API test ediyorsanız Headers bölümüne örneğin şu başlığı ekleyebilirsiniz:
Authorization: Bearer YOUR_TOKEN
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ı
Uygulama adımları:
- Sol kenar çubuğundan yeni bir proje oluşturun.
- Projeye örneğin Kullanıcı API'si adını verin.
- İlgili uç noktaları gruplayacak hizmetler oluşturun:
- Kullanıcılar
- Siparişler
- Her isteği doğru hizmetin altına kaydedin.
Bir hizmet için temel URL tanımlayabilirsiniz. Örneğin:
https://jsonplaceholder.typicode.com
Böylece her istekte tam URL yerine sadece yolu kullanabilirsiniz:
GET /users/1
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
İsteklerde bunu şu şekilde kullanabilirsiniz:
GET {{host}}/users/1
Aynı proje için ikinci bir ortamda üretim adresini tanımlayabilirsiniz:
host = https://api.example.com
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:
- Kayıt oluştur.
- Oluşturulan kaydı oku.
- Kaydı güncelle.
- 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:
- Kenar çubuğundan yeni bir senaryo oluşturun.
- Daha önce kaydettiğiniz istekleri sırayla ekleyin.
- Senaryoyu çalıştırın.
- 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
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"
}
Bu yanıttaki id değerini bir değişkene çıkarıp sonraki istekte kullanabilirsiniz:
GET /users/{{userId}}
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
200olmalı. - Durum kodu
201olmalı. - Yanıt süresi
500 msaltı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
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
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
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"
}
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)