Postman ile Test Otomasyonu [1]-Manuel API Testi
Serinin ilk yazısında sizlere Postman uygulmasının arayüzünde bulunan bazı alanların açıklamalarını, statik bir verinin nasıl oluşturulabileceğini, HTTP çağrı metotlarını, yaygın olan HTTP hata türlerinin açıklamalarını ve ortam değişkenleri hakkında bilgiler paylaşıyor olacağım.
Postman Arayüz Açıklamaları
1-) Params: Sunucuya ek bilgi göndermek için kullanılır.
2-) Authorization: API’ler, istemcinin erişim verilerine güvenli bir şekilde erişmesini istediğinden emin olmak için yetkilendirme ayrıntılarını kullanır.
3-) Headers: Bir HTTP response ya da request’teki başlıklar, kullanıcıya ya da sunucuya aktarılan ek bilgilerdir.
4-) Body: Bir istekte gönderilmesi gereken verilerin belirtilmesine olanak tanır.
5-) Pre-request Script: Bir isteğin yürütülmesinden önce çalışacak bir kod parçasıdır.
6-) Test: Postman’de, gönderilen request’in API’den bir response aldığında, testleri yürütebilmek için isteklerde, klasörlerde ve koleksiyonlarda “Testler” sekmesi kullanılır.
Çağrı akışı şu şekildedir:
Statik Veri Oluşturma
API otomasyon sürecinde önemli bir yere sahip olan dinamik olan verileri statik bir veri haline nasıl dönüştürebileceğimizden bahsedeceğim.
Statik yapılmak istenen response ilk önce parsing(çözümleme) yapılması gerekli. Aşağıdaki fonksiyon ile parsing işlemi yapılır.
Parsing işlemi, değişken tanımlamak için öncelikle responseBody’den dönen değerleri “parse” edilmesi gerekir.
let response = pm.response.json();
Sonrasında ise ortam değişkenlerine atama yapabilmek için oluşturduğumuz fonksiyon olan pm.environment kullanılır.
pm.environment.set(“token”,response.token)
Postman formatlama için json’ın yanısıra bazı arayüzler sunuyor. Bu arayüzler;
Json Çözümleme
pm.response.json()
XML Çözümleme
xml2Json(responseBody)
HTML Çözümleme
cheerio.load(pm.response.text())
Text Çözümleme
pm.response.text()
HTTP Çağrı Metodları
Çağrı metotları CRUD veri yönetimi sürecinde veri havuzunda yapılacak dört temel işlemi ifade eder; ekleme, okuma, güncelleme ve silme.
GET/READ:
- Get metodu, server’daki bilgiyi sadece “okumak” için kullanılır.
- Veri görüntüler/listeleme
POST/CREATE:
- Post metodu server’a “Oluştur” komutu gönderir. Uygulama veri tabanı üzerinde bir kaynak oluşturmak için bu çağrıyı gerçekleştirir.
- Yeni veri ekler/oluşturur
PUT/UPDATE:
- Put metodu, “Güncelle” anlamına gelmektedir. Kaydedilmiş olan bir kaynağın güncellenmesi için kullanılır.
- Var olan bir veriyi günceller/üzerine yeni veri ekler
DELETE:
- Delete metodu, “SİL” anlamına gelmektedir. Uygulama üzerinden bir kullanıcı ya da herhangi bir veriyi silmek istediğimizde, uygulama arayüzüne “DELETE” metodu göndererek bu verinin silinmesini sağlar.
PATCH:
- Verinin bir bölümünü günceller.
HTTP Status Kodları
Sıklıkla karşılaşılan status değerlerine dair kısa açıklamalar eklemek gerekirse;
Bu status bildirimlerini genel gruplandırmalar altında ifade etmek gerekirse;
1xx — Bilgilendirme
2xx — Başarılı İşlem
3xx — Yönlendirme
4xx — Kullanıcı Kaynaklı Hata
5xx — Server Kaynaklı Hata
Değişken Çeşitleri
Postman’de 5 çeşit değişken ortamı vardır. Testlerde en çok Global ve Environment Değişkenleri kullanılır.
- Local
- Data
- Environment
- Collection
- Global
Aynı isme sahip bir değişken tanımlandığında bu değişken ortam değişkenlerinde sırasıyla Local, Data, Environment, Collection ve Global variable’larına bakar ve kullanır.
Örneğin; baseUrl hem environment’ta hem de global’de kullanıldığını varsayalım. Burada baz alınacak ortam environment’tır.
Değişken Çeşitlerindeki Farklar
Global Variables’ları bütün projede ihtiyaç duyulan değişkenleri tanımlamak için kullanılır.
Environment Variables’ları, collection bazında olan bazı değişkenler bu ortama tanımlanabilir.
Örneğin; sadece bir collection’ı ilgilendiren bir key ya da token olabilir.
Bir sonraki yazımda Postman uygulamasını kullanarak, yazılan test senaryolarını Postman Monitors ve npm teknolojisi olan Newman ile komut sisteminden otomasyon süreçlerinden bahsedeceğim.
Keep Testing…👩💻️
Contact Information: https://www.linkedin.com/in/acihadugur/