Test Konsolu
Test Konsolu üzerinden Postman ya da SOAP UI gibi başka bir araç kullanmadan, SOAP ve REST API’ler test edilir ve test kayıtları yönetilebilir.
Test Konsolu içeren görsele aşağıda yer verilmiştir:
Test Konsolu 3 bölümden oluşmaktadır;
- İstek (Request): Bu bölümde istek hazırlama işlemleri yönetilir.
- Yanıt (Response): Bu bölümde yanıta ait sonuç işlemleri yönetilir.
- Test Kayıtları: Bu bölümde test geçmişi ve grup olarak kaydedilmiş testler görülür.
İstek (Request)
İstek Adresini Oluşturma
İstek adresi oluşturulmanın 2 yolu bulunur;
- Test etmek istenilen endpoint manuel olarak yazılabilir.
- Test Helper arayüzünden Apinizer üzerindeki bir API Proxy test edilebilir ya da API tanım dosyası üzerinden istek adresi oluşturulabilir.
Test Helper ile İstek Adresini Oluşturma
Aşağıdaki görselde seçili butona tıklandığında Test Helper dialogu açılır.
Test Helper ayarlarını içeren görsele aşağıda yer verilmiştir:
Test Helper konfigürasyonu için kullanılan alanlar aşağıdaki tabloda görülmektedir.
Alan | Açıklama | |
---|---|---|
İstek Tipi (Request Type) | Proxy, Proxy Group, Swagger, OpenApi, WADL, WSDL seçeneklerinden biri seçilerek test edilecek API tipi belirlenir. Bu tipler:
Bu tipler, Apinizer üzerinde seçili projenizde bulunan API Proxy'ler test edilmek istendiğinde seçilir. Ayrıca, seçili API Proxy'nin deploy edildiği ortamlardan (environments) test edilir. Oluşturulan uç noktanın eğer varsa parametre listesi ve örnek istek gövdesi (request body) de Apinizer tarafından oluşturulmaktadır. | |
Proxy Grup Listesi (Proxy Group List) | Aynı proje içindeki test edilebilecek API Proxy grubları listelenir. | |
Proxy Listesi (Proxy List) | Aynı proje içindeki test edilebilecek API Proxy'ler listelenir. Proxy 'nin test edilebilmesi için deploy edilmiş olması gerekir. | |
Servis URL (Service URL) | Test edilecek API'nin servis URL'idir. URL vasıtasıyla parse işlemi yapılır ve API'nin uç noktaları oluşturulur. | |
Uç Noktalar (Endpoints) | API'de bulunan uç noktalar arasından test edilecek uç nokta seçilir. | |
Ortam Listesi (Environment List) | Proxy 'nin test edileceği ortam (environment) seçilir. |
Sorgu Parametresi (Query Paremeter) Ekleme
Parametreler (Parameters) tabından isteğin sorgu parametreleri yönetilir. Düzenlenen her değer URL bilgisi üzerinde otomatik olarak güncellenir.
Başlık (Header) Ekleme
Başlılar (Headers) tabından istek başlıkları yönetilir.
Gövde (Body) Ekleme
İsteğin gövdesine eklenecek veri 2 farklı şekilde oluşturulabilir; raw, x-www-form-urlencoded
Format XML
İsteğin gövdesine eklenecek veri ile Format XML işlemi yapılabilir.
Format JSON
İsteğin gövdesine eklenecek veri ile Format JSON işlemi yapılabilir.
WS Security İmzala
İsteğin gövdesine eklenecek veri raw olarak seçildiğinde WS Security İmzala işlemi yapılabilir.
WS Security İmzala ekranını içeren görsele aşağıda yer verilmiştir:
WS Security İmzalama tuşuna basıldığında aşağıdaki konfigürasyonla test konsolundaki veri imzalanır.
WS Security İmzala konfigürasyonu için kullanılan alanlar aşağıdaki tabloda görülmektedir.
Alan | Açıklama |
---|---|
(Private Key) | İmzalama için kullanılacak Private Key değerinin PKCS#8 PEM formatındaki metinsel halidir. |
Sertifika (Certificate) | İmzalama için kullanılacak sertifikanın PKCS#8 PEM formatındaki metinsel halidir. |
Signature Algorithm (Signature Algorithm) | İmzalama algoritması bilgisidir. |
Signature Canonicalization (Signature Canonicalization) | İmza kanonikleştirme bilgisidir. |
Digest Algorithm (Digest Algorithm) | İmzada kullanılacak digest algoritmasıdır. |
Key Identifier Type (Key Identifier Type) | İmza anahtarının mesajın neresine nasıl yerleştirileceği bilgisidir. |
Use Single Certificate (Use Single Certificate) | İmzalamanın tek sertifika ile mi yapılacağı bilgisidir. |
Must Understand (Must Understand) | WS-Security başlığında "Must Understand" değerinin ne olması gerektiğini belirtir. |
WS Encryption Part (WS Encryption Part) | Verinin nerelerinin imzalanacağı bilgisidir. Birden fazla değer girilebilir. İmzalanacak XML elemanı adı, XML elemanının namespace bilgisi ve Element olarak mı İçerik olarak mı imzalanacağı bilgisidir. |
JSON İmzala
İsteğin gövdesine eklenecek veri raw olarak seçildiğinde JSON İmzala işlemi yapılabilir.
JSON İmzala ayarlarını içeren görsele aşağıda yer verilmiştir:
JSON imzala konfigürasyonu için kullanılan alanlar aşağıdaki tabloda görülmektedir.
JSON imzalama tuşuna basıldığında aşağıdaki konfigürasyonla test konsolundaki veri imzalanır.
Alan | Açıklama |
---|---|
Algoritma (Algorithm) | İmzalama yapılacak algoritma bilgisidir |
(Private Key) | İmzalama için kullanılacak Private Key değerinin PKCS#8 PEM veya JWK formatındaki metinsel halidir. |
() | Oluşturulacak imzanın içine oluşma zamanı eklenecekse bu seçenek aktifleştirilmelidir. |
() | Oluşturulacak imzanın içine tükenme zamanı eklenecekse bu seçenek aktifleştirilmelidir. |
() | İmzanın ne kadar süre geçerli olacağı bilgisidir |
(Expiration Time Unit) | İmzanın geçerli olma süresinin zaman birimidir. |
(JWT Headers) | İmzalanacak verinin başlık kısmına ekstra başlık bilgisi eklenmek istenirse bu alana JSON formatında eklenebilir. |
Payload () | İmzalanacak verinin gövde kısmına ekstra bilgi eklenmek istenirse bu alana JSON formatında eklenebilir. |
Teyit (Assertions) Oluşturma
Teyit tabı, istek gönderirken dönecek olan yanıtla ilgili zaman aşımı, HTTP durum kodu, gövde, JsonPath/Xpath ile gövdedeki değeri sorgulayarak beklenen değerlerle doğrulanmasına izin verir.
Teyit konfigürasyonu için kullanılan alanlar aşağıdaki tabloda görülmektedir.
Alan | Açıklama |
---|---|
Zaman Aşımı'nı Teyit İçin Kullan (Use Timeout For Assertion) | Eğer aktifleştirilirse, isteğin zaman aşımı değeri kullanarak doğrulama yapılır. |
Sonuç Durum Kodu (Assert Result Status Code) | Durum kodu bazında doğrulama yapmak için aktifleştirilir. |
(Expected Status Code) | Beklenen durum kodunun değeri yazılır. |
Sonuç Gövdesi (Assert Result Body) | Yanıtın gövdesini doğrulamak için aktifleştirilir. |
() | Beklenen yanıt gövdesinin değeri yazılır. |
XPath Sonucu (Assert Result XPath) | Yanıtın gövdesinin içindeki bir değeri doğrulamak için aktifleştirilir. Yanıtın gövde değerine ait veri tipi XML formatında olmalıdır. |
(XPath Expression) | Yanıt gövdesinde doğrulanmak istenen değeri tutan anahtar bilgisi için XPath sorgusu yazılır. |
(Expected Xml Result) | Yanıt gövdesinde doğrulanmak istenen XPath bilgisininde beklenen sonuç yazılır. |
JsonPath Sonucu (Assert Result JsonPath) | Yanıtın gövdesinin içindeki bir değeri doğrulamak için aktifleştirilir. Yanıtın gövde değerine ait veri tipi JSON formatında olmalıdır. |
Beklenen JsonPath (JsonPath Expression) | Yanıt gövdesinde doğrulanmak istenen değeri tutan anahtar bilgisi için JsonPath sorgusu yazılır. |
(Expected JsonPath Result) | Yanıt gövdesinde doğrulanmak istenen JsonPath bilgisininde beklenen sonuç yazılır. |
Ayarlar (Settings)
Ayarlar tabında zaman aşımı ve sertifika bilgileri yönetilir.
Ayarlar konfigürasyonu için kullanılan alanlar aşağıdaki tabloda görülmektedir.
Alan | Açıklama |
---|---|
Zaman Aşımı (Timeout) | İstek gönderildikten sonra isteğin yanıt beklediği yerden ne kadar süre içinde cevap döneceği bilgisini belirtir. |
Sertifika (Enable Certificate) | Eğer istekte sertifika gönderilecek ise aktifleştirilir. |
Sertifika (Certificate) | İstekte gönderilmek istenen sertifika seçilir ya da yenisi eklenebilir. |
Yeni bir sertifika oluşturmanın detaylarına gitmek için tıklayınız.
Code Snippet
Code Snippet tabında, cURL üzerinden isteği göndermek için gerekli kodun üretilmesi sağlanır.
Code Snippet sekmesini içeren görsele aşağıda yer verilmiştir:
Yeni Test Oluşturma
Test işlemi yapıldıktan sonra yeni bir test yapılmak istiyorsa aşağıdaki görselde işaretli butona tıklayarak, test alanlarının bilgileri yenilenebilir.
Yanıt (Response)
Yanıt Gövdesi (Response Body)
Yanıtın gövdesi bu kısımda gösterilir.
İstek Yanıtı Başlıkları (Response Headers)
Yanıtın başlıkları bu kısımda gösterilir.
Teyit Sonuçları (Assertion Results)
İsteğe eklenen teyitlerin başarılı olup olmadığına ait sonuçlar bu tab da gösterilir.
Yanıtı Logları
Yanıt bilgisinin logu bu kısımda görülür.
Geçmiş (History)
Test Konsolu'nda test edilen her isteğin (request) geçmişi saklanır. Testin geçmişi, test edildikleri günlere göre kategorilere ayrılır.
Testin loguna ait linke tıklandığında, istek tekrar test edilebilir.
Test geçmişini içeren görsele aşağıda yer verilmiştir:
Test Geçmişini Silme İşlemleri
- Tüm geçmiş bilgilerini silmek için Hepsini Sil (Clear All) linkine tıklanır.
- Gün bazlı geçmişi silmek için ilgili gün bilgisinin detay menüsünden silinir.
- Sadece geçmişi silmek için ilgili geçmiş bilgisinin detay menüsünden silinir.
Koleksiyon
Koleksiyon, testlerin tekrar kullanılabilmesi için test kayıtlarının bir grup çatısı altında yapılandırılarak oluşturulmasıdır.
Her koleksiyon içinde birden fazla koleksiyon bulunabilir.
Testi Bir Koleksiyona Kaydetme
Testinizi tamamladıktan sonra kayıt etmek için görseldeki işaretlenen Kaydet (Save) butonuna tıklanır.
Sonrasında açılan Koleksiyon Listesi (Collection List) adlı dialogda testin atanacağı koleksiyonun linkine tıklanır.
Apinizer başlangıç için 'Default Collection' adlı bir koleksiyonu oluşturmaktadır.
Koleksiyonunu seçtikten sonra teste bir ad vererek kaydedilir. Varsayılan test kaydının ismi, test ettiğiniz endpoint URL bilgisi olarak belirlenmiştir.
Koleksiyon Bazlı İşlemler
Koleksiyon üzerinde yapılabilecek işlemlere, aşağıdaki görseldeki koleksiyonun detay menüsü üzerinden yapılır.
Yeniden Adlandır (Rename): İlgili koleksiyonun adını değiştirmek için kullanılır. Tıklandığında çıkan ekrana yeni ad verilir ve kaydedilir.
Yeni Koleksiyon Ekle (Add Collection): İlgili koleksiyonun içine yeni bir koleksiyon eklenmek için kullanılır.
Koleksiyonu Sil (Delete Collection): İlgili koleksiyonu silmek için kullanılır. Eğer bir koleksiyonu silinirse, ilgili koleksiyona bağlı bütün kayıtlar silinecektir.
Kayıt Bazlı İşlemler
Kayıt üzerinde yapılabilecek bir çok işlemlere, aşağıdaki görseldeki detay menüsü üzerinden ulaşılır.
Rename: İlgili testin adını değiştirmek için kullanılır. Tıklandığında çıkan ekrana yeni ad verilir ve kaydedilir.
Duplicate: İlgili testin bir kopyasının oluşturulması için kullanılır.
Create Monitor: İlgili testi kullanarak bir Çalışma Süresi Monitörü (Uptime Monitor) oluşturmak için kullanılır. Detaylı bilgi almak için tıklayınız.
Delete Test: İlgili testi silmek için kullanılır.
Farklı Kaydetme (Save As): Kaydedilmiş bir testi başka bir koleksiyona kaydedebilmek için görselde işaretlenen butona tıklanır.