Talend API Tester, tarayıcınızdan ayrılmadan HTTP istekleri göndermek ve yanıtları incelemek için kullanılan bir Chrome uzantısıdır. Eskiden Restlet Client olarak biliniyordu ve birçok geliştirici, uzantının kendisi dışında indirilecek başka bir şey olmadığı için hızlı kontroller için hala yüklü tutar. REST API'lerini işler, yaygın HTTP yöntemlerini destekler ve istekleri senaryolar halinde zincirleyebilir.
Bu kılavuz, gerçek test çalışmaları için Talend API Tester'ın nasıl kullanılacağını gösterir. Onu kuracak, ilk isteğinizi gönderecek, istekleri projelere ve hizmetlere göre düzenleyecek, birden fazla isteği sırayla çalıştıran bir senaryo oluşturacak ve aracı, yanıtları sizin elle incelemeniz yerine sizin için kontrol etmesi için onaylar (assertions) ekleyeceksiniz. Örnekler, herkesin hemen takip edebilmesi için herkese açık bir API kullanır.
Uzantıyı Yükleme ve İstek Gönderme
Talend API Tester, Chrome Web Mağazası'nda bulunur. “Talend API Tester” araması yapın ve Chrome'a Ekle'ye tıklayın. Ayrıca Edge ve Brave gibi Chromium tabanlı tarayıcılarda da çalışır. Kurulduktan sonra, uzantılar menüsünden açın veya hızlı erişim için araç çubuğuna sabitleyin.
Arayüzün solunda bir kenar çubuğu ve sağında bir istek paneli bulunur. İstek paneline tıkladığınızda bir yöntem açılır menüsü, bir URL alanı ve başlıklar (headers) ile gövde (body) için sekmeler göreceksiniz.
Temel bir istek göndermek için GET seçin ve gerçek bir uç nokta girin. JSONPlaceholder hizmeti pratik için iyi çalışır:
GET https://jsonplaceholder.typicode.com/users/1
Gönder'e tıklayın. Yanıt aşağıda durum kodu, yanıt süresi, başlıklar ve gövde ile birlikte görünür. Talend API Tester, JSON ve XML'i güzelce biçimlendirir, böylece iç içe geçmiş bir yanıt ek adımlar olmadan okunabilir olur.
Bir POST isteği için yöntemi değiştirin, Gövde bölümünü açın ve bir içerik türü seçin. application/json seçin ve bir yük (payload) girin:
{
"name": "Priya Nair",
"email": "priya.nair@example.com"
}
Başlıklar bölümünün altına başlıklar ekleyin. Kimlik doğrulamalı bir API için, jetonunuzla bir Authorization başlığı ekleyin. Araç ayrıca, başlığı elle ayarlamak istemiyorsanız Temel (Basic), Özet (Digest), OAuth ve Taşıyıcı (Bearer) şemaları için yerleşik kimlik doğrulama yardımcılarına da sahiptir.
İstekleri Projeler ve Hizmetler Halinde Düzenleme
Bir API'ye hızlı bir göz atmak için birkaç bağımsız istek yeterlidir. Çok fazla isteğiniz olduğunda bir yapı istersiniz. Talend API Tester, çalışmayı projelere ve bir proje içinde hizmetlere göre düzenler.
Kenar çubuğundan bir proje oluşturun ve ona "Kullanıcı API'si" gibi net bir ad verin. İçinde, ilgili uç noktaları gruplayan hizmetler oluşturun; örneğin, bir "Kullanıcılar" hizmeti ve bir "Siparişler" hizmeti. Her isteği doğru hizmete kaydedin. Bir hizmet bir temel URL barındırabilir, böylece altındaki bireysel isteklerin yalnızca yolu belirtmesi gerekir, bu da düzeni sağlar.
Bu yapı iki nedenden dolayı önemlidir. Birincisi, büyük bir istek kümesini gezinilebilir hale getirir, böylece istediğinizi bulmak için onlarca etiketsiz çağrı arasında kaydırma yapmazsınız. İkincisi, bir senaryo kaydedilmiş isteklere referans verdiği için, sonraki bölümde ele alacağımız senaryoların temelini oluşturur.
Projeler, ortamlar arası geçişe de yardımcı olur. Talend API Tester, ortam değişkenlerini destekler, böylece hazırlık ortamı URL'nizi tutan bir host değişkeni tanımlayabilir ve bir yer tutucu ile projedeki her istekte buna başvurabilirsiniz. Üretim ana bilgisayarı ile ikinci bir ortam tanımlayın, aralarında geçiş yapın ve tüm proje aynı anda yeniden hedeflesin. Bu, URL'leri elle düzenlemekten ve yanlışlıkla yanlış sunucuya yıkıcı bir istek göndermekten sizi korur.
Talend API Tester, mevcut çalışmaları da içe aktarabilir. Postman koleksiyonlarını, Swagger ve OpenAPI tanımlarını ve HAR dosyalarını kabul eder. Zaten bir API belirtiminiz veya bir Postman dışa aktarımınız varsa, her isteği elle yeniden oluşturmak yerine içe aktarın. Kontrolleri gruplama hakkında yapılandırılmış bir şekilde düşünmek için API test durumu örneği kılavuzu faydalı bir yardımcıdır.
İstekleri Sırayla Çalıştırmak İçin Bir Senaryo Oluşturma
Tek bir istek tek bir soruyu yanıtlar. Gerçek test genellikle bir akış anlamına gelir: bir kayıt oluştur, onu geri oku, güncelle, sil. Talend API Tester bunu senaryolarla ele alır.
Bir senaryo, kaydedilmiş isteklerin sıralı bir listesidir. Kenar çubuğundan bir tane oluşturun, ardından çalıştırmaları gereken sırayla istekleri ekleyin. Senaryoyu çalıştırdığınızda, araç her isteği yukarıdan aşağıya ateşler ve her adımın sonucunu gösterir.
Faydalı kısım, adımlar arasında veri aktarmaktır. Bir senaryo, bir yanıttan bir değeri yakalayabilir ve bunu daha sonraki bir isteğe besleyebilir. Örneğin, bir "kullanıcı oluştur" isteği, yanıt gövdesinde yeni bir id döndürür. Bu id'yi bir değişkene çıkarırsınız, ardından daha sonraki bir "kullanıcı al" isteği, URL'sinde bu değişkeni kullanır. Yalıtılmış çağrılar yerine durum bilgisi olan akışları bu şekilde test edersiniz.
Senaryolar ayrıca koşullu mantığı ve tekrarı da destekler. Bir yanıta göre dallanma yapabilirsiniz, böylece bir adım yalnızca önceki bir adım belirli bir durum döndürürse çalışır ve bir uç noktayı tekrar tekrar vurmak için bir adımı döngüye alabilirsiniz. Değişken çıkarma ile birleştiğinde, bu, tek bir senaryonun gerçekçi bir sırayı modellemesini sağlar: kimlik doğrulama, bir kayıt oluşturma, doğru okunduğunu onaylama, onu değiştirme ve ardından silerek temizleme. Bu senaryoyu baştan sona çalıştırmak, her isteği yalıtılmış olarak ateşlemekten çok daha iyi bir sinyaldir. Test senaryosu ve test durumu hakkındaki makale, burada istekler ve senaryolar arasında doğrudan eşleşen tek bir kontrol ile çok adımlı bir akış arasındaki farkı açıklar.
Aracın Yanıtları Kontrol Etmesi İçin Onaylar (Assertions) Ekleme
Bir senaryo çalıştırmak, neyin geri döndüğünü gösterir. Onaylar (Assertions), aracın geri dönen şeyin doğru olup olmadığına karar vermesini sağlar, böylece her yanıtı elle okumak zorunda kalmazsınız.
Talend API Tester, bir isteğe onaylar eklemenize olanak tanır. Kaydedilmiş bir isteği açın ve onaylar bölümünü bulun. Kod yazmak yerine bir form aracılığıyla onaylar oluşturursunuz. Yaygın olanlar şunlardır:
- Durum kodu,
200veya201gibi beklenen bir değere eşittir. - Yanıt süresi,
500milisaniye gibi bir eşiğin altındadır. - Bir yük alanı, JSON gövdesindeki bir yolu kullanarak beklenen bir değerle eşleşir.
- Bir başlık mevcut veya belirli bir değere sahip.
Eklediğiniz her onay, istek kendi başına veya bir senaryoda bir adım olarak çalıştığında değerlendirilir. Sonuç paneli, her onayın geçtiğini veya başarısız olduğunu işaretler. Tüm senaryoyu çalıştırdığınızda, her adımda net bir geçiş veya başarısızlık elde edersiniz, bu da senaryoyu tekrarlanabilir bir regresyon kontrolüne dönüştürür.
Onaylar kod tabanlı değil form tabanlı olduğu için, araç JavaScript yazmayan test uzmanları için erişilebilirdir. Bu, hızlı, manuel doğrulama için gerçek bir güçtür. Diğer yandan, onay söz dağarcığı, komut dosyasına dayalı bir araca göre daha dardır. Formun ifade edemediği bir şeyi, örneğin hesaplanmış bir değeri veya birden çok alan arasındaki karmaşık bir koşulu onaylamanız gerekiyorsa, bir sınıra ulaşırsınız. Çoğu günlük kontrol için, durum kodu artı birkaç gövde alanı onayı yeterlidir. Neyin doğrulanmaya değer olduğu konusunda rehberlik için, API onayları hakkındaki daha derinlemesine kılavuza bakın.
Yanıtı Doğru Okuma
Onay ekleseniz de eklemeseniz de, bir yanıtı nasıl okuyacağınızı bilmelisiniz. Dört kısım önemlidir.
- Durum kodu. Bu ilk sinyaldir.
2xxbaşarı anlamına gelir,4xxisteğin yanlış olduğunu,5xxise sunucunun başarısız olduğunu gösterir. REST API'lerinin kullanması gereken HTTP durum kodları hakkındaki kılavuz gibi bir referans, daha az açık olanları yorumlamanıza yardımcı olur. - Yanıt süresi. Talend API Tester, isteğin ne kadar sürdüğünü bildirir. Doğru veriyi döndürse bile yavaş bir uç nokta bir sorundur.
- Başlıklar (Headers). Başlıklar
Content-Type, önbelleğe alma yönergeleri, oran sınırlama bilgileri ve CORS ayrıntılarını taşır. Genellikle gövdenin yapmadığı davranışı açıklarlar. - Gövde (Body). Genellikle JSON veya XML olan gerçek veriler. Alanların, türlerin ve değerlerin sözleşmenin vaat ettiği gibi olup olmadığını kontrol edin.
Dördünü birden okumak, API'nin yalnızca yanıt verip vermediğini değil, sağlıklı olup olmadığını da size söyler.
Bir Chrome Uzantısının Yeterli Olmadığı Durumlar
Talend API Tester, tarayıcı tabanlı kontroller için kullanışlı ve hızlıdır. İş büyüdükçe sınırlamaları ortaya çıkar. Chrome'a bağlıdır, bu nedenle CI ardışık düzeninde başsız (headless) çalışamaz. Onay sistemi sağlam ama tam bir test platformuna kıyasla temeldir. Ve API tasarımı, alay etme (mocking) veya dokümantasyonu kapsamaz, bu nedenle tek bir çalışma alanı yerine birkaç araçtan biridir.
Apidog, bu boşlukları dolduran hepsi bir arada bir API platformudur. Tarayıcı uzantısı yerine bağımsız bir uygulamadır, tıpkı Talend API Tester gibi Postman, OpenAPI ve diğer formatları içe aktarır ve görsel bir onay oluşturucu, sahte sunucular (mock servers), otomatik test senaryoları ve tek bir projede oluşturulan dokümantasyon ekler. Spesifikasyon ve testler tek bir doğruluk kaynağını paylaştığı için birbirinden uzaklaşmazlar. Apidog'u indirebilir ve mevcut isteklerinizi karşılaştırmak için içe aktarabilirsiniz. Daha geniş bir seçenek yelpazesi için, ücretsiz çevrimiçi API test araçlarının karşılaştırması iyi bir başlangıç noktasıdır.
Talend API Tester, hızlı, tarayıcı içi kontroller için hala iyi bir seçimdir. Aracı, test çalışmanızın boyutuna ve aşamasına göre eşleştirin.
Sıkça Sorulan Sorular
Talend API Tester, Restlet Client ile aynı mı?
Evet. Talend API Tester, eskiden Restlet Client olarak adlandırılan aracın yeniden adlandırılmış versiyonudur. İşlevsellik aynı soyadı taşır: HTTP istekleri göndermek, bunları düzenlemek ve onaylarla senaryolar çalıştırmak için bir Chrome uzantısıdır.
Talend API Tester ücretsiz mi?
Chrome Web Mağazası'nda istek gönderme, bunları projelere düzenleme ve onaylarla senaryolar oluşturmayı kapsayan ücretsiz bir sürüm bulunmaktadır. Ücretli katmanlar geçmişte ekip özelliklerini ve daha büyük limitleri ekliyordu. Ücretsiz sürüm, çoğu bireysel test çalışması için yeterlidir.
Talend API Tester, CI/CD'de testleri çalıştırabilir mi?
Doğrudan hayır. Bir Chrome uzantısıdır ve tarayıcı içinde çalışır, bu nedenle bir ardışık düzende başsız (headless) yürütülemez. Her kayıtta çalışan otomatik testler için, komut satırı çalıştırıcısı olan bir araca ihtiyacınız vardır. CI/CD'de API testlerini otomatikleştirmek hakkındaki kılavuz, 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. Bu, her isteği manuel olarak yeniden oluşturmak yerine mevcut API spesifikasyonlarını veya dışa aktarımları getirmenizi sağlar.
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, sırayla çalışan sıralı bir istek listesidir ve bir yanıttan yakalanan verileri daha sonraki bir isteğe geçirebilir. Senaryolar, oluşturma, okuma, sonra silme gibi çok adımlı akışları test ederken, tek bir istek yalıtılmış bir çağrıyı test eder.
