Testnizer

HTTP / REST

Testnizer'da HTTP istekleri için eksiksiz referans — metodlar, auth, gövde modları, scriptler ve assertion'lar.

HTTP editörü, yaygın kullanımdaki her HTTP metodunu, her gövde türünü, her auth şemasını ve tarayıcı sandbox’ınızda değil, Node ana sürecinde çalışan bir script katmanını kapsar.

Metodlar

GET · POST · PUT · PATCH · DELETE · HEAD · OPTIONS · CONNECT · TRACE ve metod seçicide yazdığınız herhangi bir özel metod dizesi.

URL çubuğu

Değişkenler gerçek zamanlı olarak çözülür. {{baseUrl}}/users yazın ve Testnizer çözülmüş URL’yi çubuğun altında bir ipucu olarak gösterir. Bir değişken tanımsızsa alan turuncu renkle vurgulanır.

Sorgu parametreleri şu şekillerde girilebilir:

  • Doğrudan URL dizesinde (?limit=10&offset=0)
  • Params sekmesinde anahtar-değer tablosu olarak (bir satırı devre dışı bırakmak parametreyi silmeden kapatır)

URL’deki kodlanmış karakterler Params tablosunda otomatik olarak çözülür.

Auth sekmesi

ŞemaTestnizer’ın yaptığı
Auth yokAuthorization header göndermez
Üstten devralEn yakın auth yapılandırılmış üst öğeye ulaşana kadar koleksiyon ağacını yukarı doğru tarar
Basicuser:pass’ı Base64 ile kodlar, Authorization: Basic ... ayarlar
BearerAuthorization: Bearer <token> ayarlar
API KeyAnahtar/değeri header’a, sorgu dizesine veya cookie’ye ekler — yapılandırılabilir
DigestTam MD5/SHA-256 digest challenge-response, 401 yeniden deneme dahil
NTLMWindows domain / IIS uç noktaları için NTLM handshake
Hawkİstek başına HMAC imzası (Hapi tarzı)
AWS Signature v4Herhangi bir AWS servisi için istekleri imzalar — erişim anahtarı, gizli anahtar, bölge, servis adı
OAuth 1.0HMAC-SHA1 / RSA-SHA1 imzaları, nonce + zaman damgası
OAuth 2.0Yerleşik redirect handler ile tam yetkilendirme kodu akışı, ayrıca client-credentials ve password grant

Değişkenler her auth alanında çalışır. Token’ları bir ortamda saklayın ve {{accessToken}} olarak başvurun.

Headers sekmesi

Yaygın header adlarında otomatik tamamlamalı anahtar-değer tablosu. Satırlar tek tek devre dışı bırakılabilir. Testnizer, eklediğiniz header’ları Host, Content-Length veya User-Agent dahil hiçbirini kaldırmaz.

Body sekmesi

none

Gövde yok. Content-Type header otomatik olarak eklenmez.

raw

Araç çubuğunda content-type seçici bulunan Monaco editörü:

  • application/json — söz dizimi vurgulama, parantez eşleştirme, otomatik biçimlendirme
  • application/xml — XML ağaç renklendirme
  • text/plain — düz metin
  • application/javascript — JS söz dizimi
  • text/html — HTML söz dizimi
  • custom — herhangi bir content-type dizesi yazın, editör metin modunda kalır

form-data

multipart/form-data kodlaması. Her satır Text veya File olabilir. Dosya satırları yerel işletim sistemi dosya seçiciyi açar; dosya adı ve MIME türü parça header’larında gönderilir.

x-www-form-urlencoded

URL-encoded anahtar-değer tablosu. Değerler gönderilmeden önce yüzde olarak kodlanır.

binary

Tüm istek gövdesi diskten tek bir dosyadır. Testnizer, dosya uzantısına göre Content-Type ayarlar (gerekirse Headers sekmesinde geçersiz kılın).

Ön istek scripti

İstek gönderilmeden önce çalışır. Şunlar için kullanın:

  • Ortam değişkenlerini ayarlama veya güncelleme (pm.environment.set(...))
  • Dinamik değerler oluşturma (pm.variables.set('ts', Date.now()))
  • Diğer değişkenlerden imza veya HMAC oluşturma
  • İsteği koşullu olarak atlama (pm.execution.skipRequest())
// Örnek: her göndermeden önce HMAC hesapla
const crypto = require('crypto')
const secret = pm.environment.get('signingSecret')
const body    = pm.request.body.raw
const sig     = crypto.createHmac('sha256', secret).update(body).digest('hex')
pm.request.headers.add({ key: 'X-Signature', value: sig })

Ön istek scriptleri, require() erişimiyle ana süreçte çalışır. Tam pm API’si için Scriptler kılavuzuna bakın.

Tests sekmesi

Yanıt geldikten sonra çalışır. pm.test / pm.expect API’si Postman’inkini yansıtır, böylece mevcut Postman test takımları minimum değişiklikle yapıştırılabilir.

pm.test('status 200', () => {
  pm.response.to.have.status(200)
})

pm.test('yanıt JSON', () => {
  const body = pm.response.json()
  pm.expect(body).to.have.property('id')
  pm.expect(body.id).to.be.a('number')
})

// Bir sonraki istekte kullanmak için ortama değer yaz
pm.environment.set('userId', pm.response.json().id)

Geçti/başarısız sonuçlar yanıt panosundaki Tests sütununda görünür ve geçmişe kaydedilir.

Yanıt paneli

Sekmeİçerik
BodyMonaco editörü — JSON otomatik biçimlendirilir, XML güzel basılır, görüntüler satır içinde önizlenir
HeadersArama özellikli yanıt header tablosu
CookiesYanıt tarafından ayarlanan cookie’ler, domain/path/bayraklarıyla birlikte
ConsoleHam istek + ham yanıt (yönlendirmeleri veya beklenmeyen header’ları hata ayıklarken kullanışlı)
Actual RequestDeğişken ikamesi ve ön istek scripti çalıştırıldıktan sonra son çözülmüş URL, header’lar ve gövde

Sekmelerin üzerindeki durum satırı HTTP durum kodunu (sınıfa göre renklendirilmiş), yanıt süresini (ms) ve yanıt boyutunu gösterir.

Kod snippet oluşturma

Yapıştırmaya hazır snippet oluşturmak için istek araç çubuğundaki </> simgesine tıklayın:

  • cURL
  • JavaScript (fetch)
  • JavaScript (axios)
  • Python (requests)
  • Go (net/http)
  • Java (OkHttp)

Snippet’ler mevcut header’ları, auth’u ve gövdeyi içerir — değişkenler oluşturma anındaki mevcut değerlerine çözülür.

Yönlendirmeleri takip et

Varsayılan olarak etkin. Bir yönlendirme yanıtını incelemek için URL çubuğundaki istek ayarları panelinde (dişli simgesi) Yönlendirmeleri takip et seçeneğini kapatın.

TLS / mTLS

İstemci sertifikaları Ayarlar → Sertifikalar bölümünde proje başına yapılandırılır. Testnizer, belirttiğiniz hostname desenine göre doğru sertifikayı seçer. Sertifikalar kılavuzuna bakın.

İşletim sistemi güven deposunu değiştirmeden öz imzalı bir CA’yı kabul etmek için aynı panelde CA sertifikasını ekleyin.