Postman ile Test Otomasyonu [1]-Manuel API Testi

Acihadugur
Dgpays Tech
Published in
3 min readApr 25, 2022

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/

--

--

Acihadugur
Dgpays Tech

Software Development Engineer In Test #TestAutomation #QualityAssuranceAutomation #SeleniumWebDriver #Postman