Merhaba yazılım dostları! 👋
Bugün sizlere, test otomasyonunun bel kemiği olan API testleri üzerine bir yazı hazırlamak istedim. Özellikle Robot Framework ile test otomasyonu yapanlar için hem temel bilgileri hem de gerçek API’lerle örnek senaryoları paylaşacağım. Hadi birlikte adım adım ilerleyelim.
🎯 API Testi Nedir, Neden Önemlidir?
API testleri, uygulamanın farklı bileşenleri arasındaki veri alışverişinin doğru çalışıp çalışmadığını kontrol eder.
Frontend henüz hazır değilken bile API’yi test edebiliriz — ki bu büyük avantajdır. Ayrıca; entegrasyon hataları, performans sorunları ya da validasyon eksikliklerini önceden fark etmemizi sağlar.
🧭 API Testi Yaparken Nelere Dikkat Etmeliyiz?
API testi yaparken dikkat edilmesi gereken birkaç temel madde var:
- Endpoint ve Metodlar:
GET,POST,PUT,DELETEgibi hangi metodun ne işe yaradığını bilin. - Durum Kodları:
200,201,400,404,500gibi HTTP cevap kodlarını doğru yorumlayın. - Header ve Body: İsteklerde gerekli header’ların ve doğru yapılandırılmış body’nin gönderildiğinden emin olun.
- Kimlik Doğrulama: Token, Basic Auth, OAuth gibi sistemleri test senaryolarınıza dahil edin.
- Veri Tutarlılığı: Gönderilen verinin doğru şekilde kaydedildiğini ve beklendiği gibi döndüğünü test edin.
- Negatif Senaryolar: Sadece mutlu path değil, hatalı veri ile gelen istekleri de mutlaka test edin.
🤖 Robot Framework ile API Testi Nasıl Yapılır?
Robot Framework, RequestsLibrary gibi kütüphanelerle API testleri yapmayı oldukça kolaylaştırıyor.
İlk olarak, RequestsLibrary’yi kurarak başlayalım:
bashCopyEditpip install robotframework-requests
🌐 Gerçek API ile Örnek: reqres.in
Bu site test amaçlı sunulmuş sahte bir REST API sunuyor. Gerçek bir servise bağlanır gibi davranıyor ama aslında tamamen test için oluşturulmuş.
✅ Kullanıcı Listesini Getir (GET)
*** Settings ***
Library RequestsLibrary
*** Test Cases ***
Kullanici Listesini Getir
Create Session api https://reqres.in
${params}= Create Dictionary page=2
${response}= GET On Session api /api/users ${params}
Status Should Be 200 ${response}
Should Contain ${response.text} "total_pages"
➕ Kullanıcı Oluştur (POST)
*** Test Cases ***Yeni Kullanici Olustur
Create Session api https://reqres.in
${body}= Create Dictionary name=Ahmet job=Developer
${response}= POST On Session api api/users json=${body}
Status Should Be 201 ${response}
Should Contain ${response.text} "id"
❌ Eksik Veri ile Kullanıcı Oluştur (Negatif Test)
*** Test Cases ***Eksik Veri Ile Kullanici Olustur
Create Session api https://reqres.in/api
${body}= Create Dictionary name=
${response}= POST On Session api api/users json=${body}
Status Should Be 201 ${response} # Bu API 201 döndürmeye devam ediyor, gerçek bir servis ile 400 dönmesi beklenir.
Not: Gerçek sistemlerde 400 dönmesi beklenir ama reqres.in bunu simüle etmiyor.
🔐 Auth Gerektiren Gerçekçi Bir API: https://dummyjson.com
Bu da sahte ama gerçekçi bir test API’si. Hatta login işlemi bile var.
🔑 Login Ol
*** Test Cases ***Login Islemi
Create Session dummy https://dummyjson.com
${body}= Create Dictionary username=emilys password=emilyspass
${response}= POST On Session dummy /auth/login json=${body}
Status Should Be 200 ${response}
Should Contain ${response.json()} accessToken
Login sonrası dönen accessToken ile diğer işlemleri yetkilendirilmiş şekilde yapabilirsiniz. Kullanıcı adı ve parola değişebilir. https://dummyjson.com/docs/auth adresinden kontrol edebilirsiniz.
🧪 Testleri Nasıl Düzenlemeliyiz?
Test senaryolarını yazarken dikkat edilmesi gereken noktalar:
- Okunabilirlik: Test senaryoları mümkün olduğunca sade ve anlaşılır olmalı.
- Yeniden Kullanılabilirlik: Ortak adımları keyword olarak tanımlayıp tekrar tekrar kullanın.
- Bağımsızlık: Her test kendi başına çalışabilmeli.
- Raporlama: Özellikle hatalarda neyin yanlış gittiğini açıkça belirten loglar ve raporlar oluşturun.
📊 Test Sonuçlarını Nasıl Raporlamalıyız?
Robot Framework zaten HTML rapor üretir, ancak ek olarak Allure gibi araçlarla daha görsel raporlar oluşturabilirsiniz. Eğer CI/CD sistemine entegre ediyorsanız, test çıktılarının düzenli aralıklarla gözden geçirilmesi faydalı olur.
✍️ Sonuç
API testleri, sadece bir QA’nın değil, yazılım kalitesine değer veren herkesin radarında olması gereken bir alan. Robot Framework ile API testi yapmak oldukça keyifli ve güçlü. Bu yazıda verdiğim örnekleri kendi ortamınızda deneyerek başlayabilirsiniz.
Eğer siz de ekibinizde testleri otomatize ediyorsanız veya yeni başlıyorsanız, gerçek API’lerle pratik yapmak her zaman en etkili öğrenme yoludur.
Sorularınız, örnek istekleriniz veya paylaşmak istediğiniz deneyimler varsa yorumlara bekliyorum! 👇
Görüşmek üzere, test dostları! 👩💻🧑💻


Leave a comment