Apidog'u API testi için kullanırken, mevcut test API'sinin istek parametrelerini başka amaçlarla çıkarmanız gereken zamanlar olabilir. Örneğin, aşağıdaki istek gövdesine sahip bir e-ticaret platformu için bir sipariş oluşturma API'sini düşünün:
{"id": 12345,"products": [
{"id": 1, "quantity": 2},
{"id": 3, "quantity": 1}
],"shippingAddress": "xx İl xx Şehir xx İlçe","paymentMethod": "credit_card"
}
Bu senaryoda, şunları yapmak isteyebilirsiniz:
- İstek Parametrelerini Çıkarın ve Şifreleyin: Gizliliği korumak için,
shippingAddress
parametresinin değerini göndermeden önce şifrelemeniz gerekebilir. - İstek Parametrelerini Değişken Olarak Saklayın: Sonraki API testlerinde (sipariş durumunu kontrol etme gibi) kullanmak üzere
id
parametresini bir "geçici değişken" olarak ayarlamak isteyebilirsiniz. - İstek Parametrelerini Doğrulayın: İsteği göndermeden önce,
paymentMethod
parametresinin geçerli bir değere sahip olup olmadığını kontrol etmeniz gerekebilir.
Bunu işlemek için, pm.request
yöntemini kullanarak API'den istek parametrelerini çıkarabilirsiniz. pm.request
'i konsola yazdıran ve çeşitli parametre bilgilerini görüntülemenize olanak tanıyan özel bir komut dosyası oluşturabilirsiniz. Örneğin:
// Mevcut api'nin istek parametreleri bilgilericonsole.log(pm.request);
Bu yöntemdeki request
, API'nin istek nesnesini ifade eder. "Ön İstek" komut dosyalarında "bekleyen isteği" temsil ederken, "Son İstek" komut dosyalarında "gönderilen isteği" ifade eder.
Gereksinimlerinize bağlı olarak, mevcut istek parametrelerini ön istek veya son istek komut dosyasında alıp almayacağınıza karar verebilirsiniz:
- İsteği göndermeden önceki parametreler için: Ön istek komut dosyalarını kullanın.
- İsteği gönderdikten sonraki parametreler için: Son istek komut dosyalarını kullanın.
Yalnızca "Ön İstek" komut dosyalarında yapılan değişikliklerin etkili olduğunu unutmayın; "Son İstek" komut dosyalarında yapılan değişiklikler etkili olmayacaktır.
Bu makale temel olarak, Apidog'un "Ön İstek Komut Dosyası" ve "Son İstek Komut Dosyası" özelliklerindeki komut dosyaları aracılığıyla mevcut API'nin istek parametrelerinin nasıl elde edileceğini tanıtmaktadır.
Diğer API'lerden istek parametreleri elde etmek için, parametreleri ortam değişkenlerinde saklayabilir ve ardından bunları okuyabilir veya "Testler" özelliğini kullanabilirsiniz. "Dinamik Değerler" ile, önceki adımlardan (yani, diğer API'ler) istek parametrelerini veya yanıt verilerini doğrudan okuyabilirsiniz.

İstek Parametrelerini Çıkarma Adım Adım Kılavuzu
Ön İstek URL'sini Alın
Ön istek URL'si, "Ortam Yönetimi"nde yapılandırılan hizmet adresidir.

Mevcut API'nin ön istek URL'sini almak için, pm.request.getBaseUrl()
veya pm.request.baseUrl
yöntemlerini kullanabilirsiniz. Örneğin:
// Ön istek URL'sini alın
let preUrl = pm.request.getBaseUrl();
console.log(preUrl);
// Veya
let baseUrl = pm.request.baseUrl;
console.log(baseUrl);

Birden fazla ön istek URL'si yapılandırılmışsa, komut dosyası belirtilen hizmete karşılık gelen URL'yi alacaktır. Bu yapılandırmaları "Düzenle-> Hizmet (Ön İstek URL'si)" aracılığıyla inceleyebilir ve yönetebilirsiniz.

Yol Parametrelerini Alın
Yol parametreleri, genellikle belirli kaynakları veya koleksiyonları tanımlayan, kaynak yolunu belirtmek için kullanılan URL'nin bir parçasıdır. Apidog'da, yol parametreleri, URL yoluna doğrudan dahil edilen, süslü parantez {}
kullanılarak temsil edilir. Örneğin:
https://Apidogmock.com/xxx/xxx/store/products/{id}
Bu örnekte, {id}
dinamik olarak değiştirilebilen bir yol parametresidir. pm.request.url.path
kullanarak yol parametrelerini çıkarabilirsiniz; bu, tüm yol adlarını içeren bir dizi döndürür ve dizi indeksleme yoluyla hassas erişime izin verir:
// pm.request.url.path'den yol parametrelerini alın
let getPathUrl = pm.request.url.path;
// Verileri konsola yazdırınconsole.log(getPathUrl);
console.log(getPathUrl[4]);

Sorgu Parametrelerini Alın
Sorgu parametreleri, genellikle soru işareti ?
'yi takip eden ve &
ile ayrılmış anahtar-değer çiftleri olarak biçimlendirilen, URL'ye eklenmiş ek bilgilerdir. Örneğin:
https://Apidogmock.com/xxx/xxx/store/products/{id}?cart_id=42®ion_id=43
Sorgu parametrelerini çıkarmak için, tüm anahtar-değer çiftlerini alan pm.request.url.query
'yi kullanın. Daha sonra, belirli bir parametreyi özellikle getirmek için get()
yöntemini kullanabilirsiniz. İşte cart_id
parametresini çıkarma şekli:
// pm.request.url.query'den sorgu parametrelerini alın
let getQueryUrl = pm.request.url.query;
// Verileri konsola yazdırınconsole.log(getQueryUrl);
console.log(getQueryUrl.get("cart_id"));

Tam URL'yi Alın
Ön istek URL'si, yol parametreleri ve sorgu parametreleri dahil olmak üzere API isteğinin tam URL'sini elde etmek için, pm.request.url.toString()
yöntemini kullanın:
// Tam URL'yi konsola yazdırınconsole.log(pm.request.url.toString());
Bu yöntem, yol parametreleri ve tüm sorgu parametreleri için dinamik değiştirmelerle, tüm URL bilgilerini içeren bir dize döndürür.

Gövde Parametrelerini Alın
- form-data formatı için: Form-data, verileri anahtar-değer çiftleri halinde düzenler, genellikle dosya yüklemeleri ve karmaşık form gönderimleri için kullanılır. form-data gövde parametrelerini elde etmek için, bir dizi nesnesi döndüren
pm.request.body.formdata
'yı kullanın:
// Gövde türü form-data olduğunda
let formData = pm.request.body.formdata;
// Verileri konsola yazdırınconsole.log(formData);
console.log(formData.get("email"));
console.log(formData.get("password"));

- x-www-form-urlencoded formatı için: Form-data'ya benzer şekilde, x-www-form-urlencoded de anahtar-değer çiftleri kullanır. Bu parametreleri elde etmek için,
pm.request.body.urlencoded
'yi kullanın:
// Gövde türü x-www-form-urlencoded olduğunda
let urlencoded = pm.request.body.urlencoded;
// Verileri konsola yazdırınconsole.log(urlencoded);
console.log(urlencoded.get("email"));
console.log(urlencoded.get("password"));

- raw, JSON veya XML formatı için: Ham gövde içeriğini almak için
pm.request.body.raw
'ı kullanın, bir dize döndürür. Belirli parametrelere erişmek için genellikle bunu ayrıştırmanız gerekir:
// raw, JSON veya XML formatı için
let formData = pm.request.body.raw;
// JSON nesnesine ayrıştır
let jsonData = JSON.parse(formData);
// Verileri konsola yazdırın
console.log(jsonData);
console.log(jsonData.email);
console.log(jsonData.password);

Üst Bilgi Parametrelerini Alın
İsteğin üst bilgi parametrelerini almak için, tüm istek üst bilgi bilgilerini içeren bir dizi nesnesi döndüren pm.request.headers
'ı kullanın. get()
işlevini kullanarak belirli parametre değerlerini hassas bir şekilde bulabilir ve çıkarabilirsiniz:
// İstek üst bilgi parametrelerini alın
let headers = pm.request.headers;
// Verileri konsola yazdırınconsole.log(headers);
console.log(headers.get("Accept"));
İstek Parametrelerini Alma SSS
Neden başvurulan değişkenler değiştirilmiyor?
API istek parametreleriniz ortam değişkeni değerlerine başvuruyorsa ancak konsolda belirli değerlerle değiştirilmiyorsa, "Değişken Değiştirme ve Üst Öğeden Miras Alma" özelliğini Ön İstek veya Son İstek bölümündeki komut dosyanızın en başına taşıdığınızdan emin olun. Bu, başvurulan tüm değişkenlerin (dinamik değerler dahil) gerçek içerikle değiştirilmesini sağlar.
Ek
Yöntemler ve Açıklamalar
Yöntem | Açıklama | Amaç |
---|---|---|
pm.request | Mevcut arayüzün istek parametre bilgilerini alın | İstek nesnesine erişin |
pm.request.getBaseUrl() | Ön istek URL'sini alın | Hizmet adresini alın |
pm.request.baseUrl | Ön istek URL'sini alın (alternatif yöntem) | Hizmet adresini alın |
pm.request.url.path | Yol parametrelerini alın | URL yol parametrelerini çıkarın |
pm.request.url.query | Sorgu parametrelerini alın | URL sorgu parametrelerini çıkarın |
pm.request.url.toString() | Tam URL'yi alın | Tam URL'deki tüm parametreleri alın |
pm.request.body.formdata | form-data gövde parametrelerini alın | Form verilerini çıkarın |
pm.request.body.urlencoded | x-www-form-urlencoded gövde parametrelerini alın | URL kodlu form verilerini çıkarın |
pm.request.body.raw | ham, JSON veya XML gövde parametrelerini alın | Ham istek gövde içeriğini çıkarın |
pm.request.headers | Üst bilgi parametrelerini alın | İstek üst bilgi bilgilerini çıkarın |
JSON.parse() | JSON dizesini ayrıştır | JSON dizesini JavaScript nesnesine dönüştürün |
Sonuç
Bu makale, ön istek URL'leri, yol parametreleri, sorgu parametreleri, gövde parametreleri ve üst bilgi parametreleri dahil olmak üzere Apidog'da istek parametrelerinin nasıl çıkarılacağını açıklamıştır. pm.request
nesnesini ve ilgili yöntemlerini kullanarak, çeşitli istek verilerini kolayca elde edebilir ve işleyebilirsiniz.