REST ASSURED API TESTING: USING HAMCREST MATCHERS TO VALIDATE RESPONSES EĞİTİMİ

Hamcrest ile yanıt doğrulamalarını ustalıkla yaz

equalTo, hasItems, containsInAnyOrder, closeTo ve özel Matcher'larla REST Assured yanıt doğrulamalarını okunur, esnek ve hatalarını açıklayıcı hale getirin.

equalTo, hasItems, containsInAnyOrder, closeTo ve özel Matcher'larla REST Assured yanıt doğrulamalarını okunur, esnek ve hatalarını açıklayıcı hale getirin.

2 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

REST Assured ile Hamcrest eşleştiricileri: koleksiyon, metin, sayısal ve özel Matcher doğrulamaları

Bu eğitim, REST Assured testlerinde yanıt doğrulamasının gücünü Hamcrest eşleştiricileriyle artırır. equalTo, not, nullValue, hasItem, hasItems, hasSize, containsInAnyOrder ve everyItem ile koleksiyon doğrulamaları; startsWith, containsString ve matchesPattern ile metin; greaterThan, lessThanOrEqualTo ve closeTo ile sayısal aralık kontrolleri işlenir. allOf/anyOf ile bileşik koşullar, TypeSafeMatcher ile özel Matcher yazımı, GPath ile iç içe JSON süzme, anlamlı hata mesajları, negatif senaryolar ve Allure raporlaması uygulanır.

Süre ve Format

2 Gün. Her gün dört modül; katılımcılar Hamcrest ve Yanıt Doğrulama Temelleri → Gelişmiş Doğrulama ve Yapı sırasıyla ilerler.

Seviye

Orta Seviye — REST Assured ile Hamcrest eşleştiricileri: koleksiyon, metin, sayısal ve özel Matcher doğrulamaları.

Öğrenme Metodu

Katılımcılar karmaşık JSON yanıtları için Hamcrest doğrulamaları yazar, hatalı doğrulamanın mesajını okur ve kendi özel Matcher'ını geliştirir.

Neden Bu Eğitim?

🔬Hassas Doğrulama

Yanıtın tam olarak neyini beklediğinizi eşleştiricilerle ifade edersiniz.

💬Anlamlı Hata

Doğrulama başarısızlığında nedenini açıkça gösteren mesajlar elde edersiniz.

🧩Özel Matcher

Domaine özgü yeniden kullanılabilir eşleştiriciler yazarsınız.

Anahtar Konular

HamcrestHamcrest matchersREST Assured doğrulamacontainsInAnyOrderTypeSafeMatcherJSON doğrulamaAPI testGPathhasItemsREST Assured eğitimi
“İyi doğrulama, testin neyi garanti ettiğini herkese açıkça söyler.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Java Temelleri

Sınıf, metot, koleksiyon ve generics konularında temel Java bilgisi gerekir.

2
HTTP ve JSON

HTTP metotları, durum kodları ve JSON yapısına aşinalık beklenir.

3
Maven ve IDE

Maven bağımlılık yönetimi ve IntelliJ IDEA veya Eclipse kullanımına genel hakimiyet faydalıdır.

4
Çalışma Ortamı

JDK 17+, Maven ve internet erişimi olan bir dizüstü bilgisayar hazır bulunmalıdır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı REST Assured projesini Maven ile kurar ve given/when/then kalıbıyla ilk testleri yazar, Hamcrest ve Matchers ile koleksiyon, metin ve sayısal doğrulamalar yazar, HTTP durum kodlarını seçer ve RFC 7807 Problem Details ile hata yanıtı tasarlar ve GPath ile JSON ayrıştırır ve JSON Schema Validator ile şema doğrular.
Modül 1
REST Assured ile İlk Testler
  • Maven bağımlılıkları: rest-assured, JUnit 5 veya TestNG ve hedef Java sürümü yapılandırması
  • given() / when() / then() söz dizimi ve BDD tarzı okunabilir test cümleleri
  • RestAssured.baseURI, basePath ve port ayarlarıyla ortama göre hedef belirleme
  • GET isteğiyle durum kodu, Content-Type ve gövdeden alan okuma (extract().path())
  • log().all(), log().ifValidationFails() ile istek ve yanıtın günlüklenmesi
  • Test API'si olarak JSON Server veya ReqRes kullanımı ve ilk test sınıfının çalıştırılması
Modül 2
Hamcrest Eşleştiricileri ile Yanıt Doğrulama
  • equalTo, not, nullValue, notNullValue ve is() ile temel eşleştiriciler
  • hasItem, hasItems, hasSize, containsInAnyOrder, everyItem ile liste doğrulamaları
  • startsWith, containsString, matchesPattern ile metin ve düzenli ifade doğrulaması
  • greaterThan, lessThanOrEqualTo, closeTo ile sayısal ve ondalık aralık kontrolleri
  • allOf, anyOf ve özel (custom) TypeSafeMatcher yazarak yeniden kullanılabilir doğrulama
  • Doğrulama başarısızlık mesajlarını okuma ve anlamlı hata açıklaması üretme
Modül 3
Durum Kodları ve Hata Modelleri
  • 2xx, 3xx, 4xx, 5xx sınıfları: 200, 201, 202, 204, 301, 304, 400, 401, 403, 404, 409, 422, 429, 500, 503 ayrımı
  • 401 Unauthenticated ile 403 Forbidden arasındaki fark ve WWW-Authenticate başlığı
  • 400 ile 422 arasında doğrulama hatası kararı ve alan bazlı hata listesi döndürme
  • RFC 7807 application/problem+json biçimi: type, title, status, detail ve instance alanları
  • Retry-After, 429 Too Many Requests ve 503 durumlarında istemci tarafı yeniden deneme davranışı
  • Hata yanıtlarında yığın izi sızıntısı ve hassas bilgi ifşasını önleme kuralları
Modül 4
JSON Yanıt ve Şema Doğrulama
  • JsonPath / GPath ifadeleri: data.items[0].id, findAll, collect, sum, max
  • İç içe dizilerde filtreleme: items.findAll { it.price > 100 }.name
  • json-schema-validator modülü ile matchesJsonSchemaInClasspath kullanımı
  • JSON Schema Draft-07 anahtarları: required, type, format, additionalProperties, minItems
  • Yanıtı POJO'ya eşleme (as(Class)) ve nesne düzeyinde assertJ doğrulaması
  • Şema sürüm değişikliğinde kırıcı değişiklikleri yakalayan sözleşme testi stratejisi
Günün hedefiKatılımcı Sorgu/yol parametreli, gövdeli ve kimlik doğrulamalı uç noktaları REST Assured ile test eder, RequestSpecification, ResponseSpecification ve katmanlı test çatısı tasarlar, Hatalı yanıtları, zaman aşımını ve bozuk veriyi simüle ederek dayanıklılık testi yazar ve REST Assured testlerini Allure ve ExtentReports ile raporlar, CI hattına bağlar.
Modül 1
REST Assured ile Farklı HTTP Uç Noktalarını Test Etme
  • pathParam, queryParam, formParam ve header ile istek parametrelerinin gönderilmesi
  • POST/PUT/PATCH gövdesini Map, JSON dizesi ve POJO (Jackson serileştirme) ile gönderme
  • DELETE ve idempotency doğrulaması: aynı isteği iki kez gönderip sonuçları karşılaştırma
  • Basic, preemptive basic, OAuth 2.0 Bearer ve API anahtarı ile kimlik doğrulama (auth())
  • multipart/form-data dosya yükleme, cookie yönetimi ve yönlendirme (redirect) davranışı
  • XML yanıtları için XmlPath ve içerik tipine göre ayrıştırıcı (parser) seçimi
Modül 2
REST Assured Test Mimarisi ve Yapılandırma
  • RequestSpecBuilder ve ResponseSpecBuilder ile ortak başlık, taban URL ve beklentilerin merkezi tanımı
  • Page Object benzeri API istemci sınıfları (service object) ve test verisi oluşturucular (builder)
  • Ortam yapılandırması: properties/YAML dosyaları, Maven profilleri ve sistem özellikleri
  • Filter arayüzü ile istek/yanıt kesme, token yenileme ve özel günlükleme
  • Test verisi yönetimi: @BeforeAll/@AfterEach ile oluştur-sil döngüsü ve bağımsız testler
  • Paralel çalıştırma, JUnit 5 etiketleri (tag) ve duman/regresyon paketlerinin ayrıştırılması
Modül 3
Hata Yönetimi ve Hata Enjeksiyonu Testleri
  • Negatif test kataloğu: 400, 401, 403, 404, 409, 422 ve 500 yanıtlarının doğrulanması
  • HttpClientConfig ile bağlantı ve okuma zaman aşımı (connection/socket timeout) ayarları
  • WireMock fault tipleri: CONNECTION_RESET_BY_PEER, EMPTY_RESPONSE, MALFORMED_RESPONSE_CHUNK
  • Gecikme enjeksiyonu (fixedDelay, lognormal) ile yavaş bağımlılık davranışı
  • Yeniden deneme (retry) mantığı için senaryo tabanlı durum geçişi (scenario state)
  • Sınır değer, aşırı büyük gövde, geçersiz Unicode ve SQL/JSON enjeksiyonu benzeri bozuk girdi testleri
Modül 4
Allure ve ExtentReports ile Test Raporlama
  • Allure ile @Step, @Feature, @Story ek açıklamaları ve AllureRestAssured filtresi
  • Allure sonuç dizini (allure-results), allure serve ve trend/geçmiş grafikleri
  • ExtentReports ile HTML rapor, test kategorileri ve hata ekran/yük ekleme
  • Surefire/Failsafe raporları ve JUnit XML çıktısının CI araçlarında okunması
  • Jenkins veya GitHub Actions üzerinde rapor yayınlama (artifact, Pages) ve Slack bildirimi
  • Hatalı testlerde istek/yanıt günlüğünün rapora eklenmesi ve gizli bilgilerin maskelenmesi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
REST Assured Başlangıç

given/when/then kalıbıyla çalışan ilk REST Assured testlerini yazıp çalıştırabilirsiniz.

🧩
Hamcrest Doğrulama

Hamcrest eşleştiricileriyle koleksiyon ve metin doğrulamalarını okunabilir biçimde yazabilirsiniz.

🛠️
Hata Modeli

Doğru HTTP durum kodlarını seçip RFC 7807 uyumlu hata yanıtları tasarlayabilirsiniz.

🔐
JSON ve Şema

GPath ile JSON alanlarını doğrulayıp JSON Schema ile sözleşme testi yazabilirsiniz.

📈
HTTP Uç Nokta Testi

Parametreli, gövdeli ve yetkilendirmeli uç noktalar için REST Assured testleri yazabilirsiniz.

🧪
Test Mimarisi

Yeniden kullanılabilir spesifikasyonlarla bakımı kolay bir API test çatısı kurabilirsiniz.

🚀
Hata Enjeksiyonu

Zaman aşımı, 5xx ve bozuk yanıt senaryolarını test edip hata işleme davranışını doğrulayabilirsiniz.

🔎
Test Raporlama

Allure veya ExtentReports ile istek/yanıt detaylı test raporları üretip CI'da yayınlayabilirsiniz.

Kimler İçin Uygundur?

  • REST Assured
  • test yazan QA mühendisleri ve doğrulama kodunu daha okunur ve sağlam yapmak isteyen Java geliştiricileri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
REST Assured ile test yazan QA mühendisleri ve doğrulama kodunu daha okunur ve sağlam yapmak isteyen Java geliştiricileri için uygundur.
AssertJ ile karşılaştırması yapılır mı?
Evet, Hamcrest ve AssertJ yaklaşımları kısa bir karşılaştırma ile gösterilir.
Özel Matcher zor mu?
Hayır, TypeSafeMatcher ile adım adım örnek geliştirilir.
Ön koşul nedir?
Temel REST Assured kullanımı ve Java bilgisi yeterlidir.
Eğitim sonunda sertifika verilir mi?
Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir. Üçüncü taraf kurumların sınav ve sertifikalarıyla bir bağı yoktur.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. REST Assured API Testing: Using Hamcrest Matchers to Validat Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn