Apidog'da Test Adımları Arasında Veri Nasıl Aktarılır?

Oliver Kingsley

Oliver Kingsley

6 August 2025

Apidog'da Test Adımları Arasında Veri Nasıl Aktarılır?

Apidog'da otomatik test iş akışları tasarlarken, API istekleri, veritabanı sorguları, For döngüsü, ForEach Döngüsü, Komut Dosyaları gibi çeşitli test adımı türlerini kullanacaksınız.

test adımı türleri

Genellikle, bir adımda üretilen verinin daha sonraki bir adımda kullanılması gerekir. Bu, verinin süreci yönlendirdiği ve adımların birbirine bağlandığı mantıksal bir akış oluşturur.

Örneğin, şunları yapabilirsiniz:

Bu önemli bir soruyu gündeme getiriyor:

Önceki (yukarı akış) adımlardaki verileri, sonraki (aşağı akış) adımlarda nasıl doğru şekilde referans alabilirsiniz?

Apidog'da Veri Aktarımı için İki Mekanizma

Apidog'un otomatik testinde, farklı test adımları arasında veri aktarımı için iki ana yöntem vardır:

1. "Dinamik Değerler" aracılığıyla Önceki Adım Verilerini Alma

Önceki (yukarı akış) bir adımın çıktısını, sonraki (aşağı akış) bir adımda "Dinamik Değer" özelliğini kullanarak doğrudan referans alabilirsiniz. Bu, verileri depolamadan anında almanızı sağlar.

Apidog Otomatik Testinde "Dinamik Değerler" aracılığıyla Önceki Adım Verilerini Alma

2. Değişkenleri Saklama ve Yeniden Kullanma

Yukarı akış bir adımdan önemli verileri çıkarıp değişken olarak saklayabilirsiniz. Bu değişkenler daha sonraki herhangi bir adımda yeniden kullanılabilir.

Bu iki veri aktarım yöntemine hakim olmak, Apidog'da veriye dayalı, verimli otomatik iş akışları oluşturmanın anahtarıdır.

Bu makale, farklı test adımı türlerinde verinin nasıl ele alınacağını iki açıdan açıklamaktadır: veri nasıl çıkarılır ve nasıl kullanılır. Her ikisini de anlayarak daha esnek ve daha iyi bağlantılı test iş akışları oluşturabileceksiniz.

Uç Nokta Yanıt Verilerini Çıkarma ve Kullanma

Uç Nokta Yanıt Verilerini Anlama

Otomatik testlerde, API istekleri genellikle yapılandırılmış JSON yanıtları döndürür ve bunlar genellikle sonraki test adımları için girdi görevi görür.

Diğer adım türlerinden farklı olarak, uç nokta yanıtları genellikle daha karmaşıktır — sıklıkla iç içe nesneler ve diziler içerir.

Uç Nokta Yanıtından Veri Nasıl Çıkarılır

Test adımları arasında uç nokta yanıt verilerini çıkarmak ve aktarmak için iki ana yol vardır:

Yöntem Bir: Dinamik Değer Referansı

Önceki adımlardaki verileri doğrudan referans almak için "Dinamik Değerler" kullanın:

Yöntem İki: Verileri Değişken Olarak Çıkarma

Uç nokta işlem sonrası modüllerinde "Değişkenleri Çıkar" özelliğini kullanarak yanıttan belirli alanları değişken olarak da çıkarabilirsiniz.

Örneğin, bir yanıttaki ürünlerin id'sini çıkarmak için:

Daha sonraki adımlarda, {{products_id}} kullanarak basitçe referans alın.

Uç Nokta Yanıtından Çıkarılan Veriler Nasıl Kullanılır

Bir API yanıtından veri çıkardıktan sonra — ister "Dinamik Değerler" ister "Çıkarılan Değişkenler" kullanarak — bu veriyi aşağı akış adımlarında çeşitli şekillerde kullanabilirsiniz:

1. Verileri uç nokta isteklerinde kullanın

Çıkarılan verileri API İsteklerinde kullanın

2. Verileri veritabanı işlemlerinde kullanın

API yanıtını bir veritabanı sorgusunda girdi olarak kullanabilirsiniz. Her iki yöntem de çalışır:

SELECT * FROM products WHERE id = '{{$.1.response.body.products[0].id}}'

API yanıt verilerini doğrudan SQL sorgusunda referans almak için dinamik değerleri kullanın:

SELECT * FROM products WHERE id = '{{products_id}}'

3. Verileri For Döngüsü'nde kullanın

Bir API yanıtındaki bir dizinin uzunluğuna göre adımları tekrarlamak için:

{{$.1.response.body.products.length}}

Bu, döngü yineleme sayısını ayarlar.

Verileri For Döngüsü'nde kullanın

4. Verileri ForEach Döngülerinde kullanın

Bir uç nokta tarafından döndürülen bir dizideki her öğeyi döngüye almak istiyorsanız:

Verileri ForEach Döngülerinde dinamik değer yöntemiyle kullanın

5. Verileri komut dosyalarında kullanın

Önceki adımlardaki verileri bir komut dosyası içinde kullanmak için pm.variables.get() yöntemini kullanın. İşte nasıl yapılacağı:

const products = pm.variables.get("$.1.response.body.products")
Verileri Komut Dosyalarında dinamik değer yöntemiyle kullanın

Geçici bir değişkenin değerini alın:

const products = pm.variables.get("products") 

Ortam değişkeninin değerini alın:

const products = pm.environment.get("products") 

Global bir değişkenin değerini alın:

const products = pm.globals.get("products")
💡
Komut dosyalarında, {{products}} gibi enterpolasyon sözdizimini doğrudan kullanamazsınız. Bunun yerine, değişken değerlerini yukarıda belirtilen uygun yöntemleri kullanarak almanız gerekir.

Veritabanı Sorgu Sonuçlarını Çıkarma ve Kullanma

Veritabanı Verilerini Anlama

Bir veritabanı sorgu adımı yürütüldüğünde, nesne dizisi şeklinde yapılandırılmış veri döndürür. Yalnızca bir kayıt döndürülse bile, yine de bir dizi içinde sarılı olacaktır. Örneğin:

Apidog'da veritabanı sorgu sonuçları

Uç nokta yanıtlarından farklı olarak, veritabanı adımlarındaki verilere dinamik değişkenler kullanılarak doğrudan erişilemez. Önce değerleri değişkenlere çıkarmanız gerekir.

Veritabanından Veri Nasıl Çıkarılır

Bir veritabanı adımında SQL sorgusunu çalıştırdıktan sonra, Apidog yanıtı otomatik olarak aşağıdaki gibi yapılandırılmış verilere ayrıştıracaktır:

[
  {
    "id": "1000",
    "title": "Title 1",
    "description": "Description for Title 1"
  }
]

Daha sonra JSONPath kullanarak belirli alanları çıkarabilir ve bunları değişken olarak kaydedebilirsiniz.

Örneğin:

belirli alanları çıkarmak ve değişken olarak kaydetmek için JSONPath kullanın

Veritabanından Çıkarılan Veriler Nasıl Kullanılır

1. Verileri uç nokta isteklerinde kullanın

Veritabanı sorgunuz bir ID döndürürse ve bunu bir değişken olarak kaydettiyseniz (products_id), bunu doğrudan aşağı akış bir uç nokta isteğinde kullanabilirsiniz:

veritabanından çıkarılan verileri uç nokta isteklerinde kullanın

2. Verileri ForEach Döngülerinde kullanın

Sorgunuz bir kayıt listesi döndürürse ve her birini ayrı ayrı işlemek istiyorsanız, tüm diziyi bir ForEach döngüsü için kaynak olarak kullanabilirsiniz:

Önkoşul, veritabanı işlemlerinde değişkenleri çıkarırken tüm diziyi kaydetmenizdir, örneğin:

3. Verileri komut dosyalarında kullanın

Çıkarılan veritabanı değişkenlerini bir komut dosyasında kullanmak için, diğer değişkenlerle aynı yöntemi kullanın.

Geçici bir değişkenin değerini alın:

const products = pm.variables.get("products")

Ortam değişkeninin değerini alın:

const products = pm.environment.get("products")

Global bir değişkenin değerini alın:

const products = pm.globals.get("products")

For Döngülerinden Veri Çıkarma ve Kullanma

For Döngüleri Nasıl Çalışır?

Bir For döngüsü, belirli bir dizi eylemi birden çok kez tekrarlamak için kullanılır. Tanımlanmış bir yineleme sayısına göre çalışır.

Döngü için sabit bir sayı belirleyebilir veya önceki bir adımdan dönen bir dizinin uzunluğu (.length) gibi dinamik bir değer kullanabilirsiniz. Örneğin: {{$.1.response.body.products.length}}:

Not: Veri çıktısı veren diğer adımlardan farklı olarak, bir For döngüsü kendisi doğrudan veri döndürmez. Yalnızca döngünün kaç kez yürütüldüğünü gösteren bir indeks değeri (0'dan başlayarak) sağlar.

For Döngülerinden Veri Nasıl Çıkarılır

Yürütme işlemi sırasında, mevcut döngü indeksine dinamik değişken sözdizimi kullanarak erişebilirsiniz: {{$.9.index}}

For Döngülerinden Çıkarılan Veriler Nasıl Kullanılır

1. Verileri komut dosyalarında kullanın

Test komut dosyanızda döngüyle ilgili bilgileri kullanmak istiyorsanız, mevcut indeksi almak için pm.variables.get() kullanabilirsiniz:

// Get the current loop index
const index = pm.variables.get("$.7.index");
Çıkarılan For döngüsü verilerini komut dosyalarında kullanın

2. Verileri diğer veri kaynaklarıyla kullanın

Bir For döngüsü için yaygın bir kullanım durumu, önceki adımlardaki verileri işlemektir — bir dizi üzerinde döngü yapmak ve her öğeyi ele almak gibi:

// Get the array from a previous step
const products = pm.variables.get("$.1.response.body.products");

// Get the current loop index
const index = pm.variables.get("$.7.index");

// Access the current item in the array using the index
console.log(products[index]);

Bu, her döngü yinelemesi sırasında dizideki her öğe üzerinde toplu işlemler yapmanızı sağlar.

ForEach Döngüsünden Veri Çıkarma ve Kullanma

ForEach Döngüsü Nasıl Çalışır?

ForEach döngüsü özellikle dizi verileri için tasarlanmıştır. Dizideki her öğe üzerinde otomatik olarak yineler ve aynı işlem kümesini gerçekleştirir.

Bir ForEach döngüsü ile bir For döngüsü arasındaki temel fark, ForEach döngüsünün her yinelemede mevcut dizi öğesinin tüm verilerini otomatik olarak çıkarması ve bu verileri alt adımlarında doğrudan erişilebilir kılmasıdır.

ForEach Döngüsünde Verilere Erişme

Bir ForEach döngüsü içinde sistem otomatik olarak iki özel değişken oluşturur:

Not: 4 sayısı, ForEach Döngüsü adımının ID'sini ifade eder. Gerçek iş akışınızda, bunu sürecinizdeki doğru adım ID'si ile değiştirin.

ForEach Döngüsü Verileri için Yaygın Kullanım Durumları

1. Verileri uç nokta isteklerinde kullanın

ForEach döngüleri, toplu veri işlemlerini yönetmek için mükemmeldir. Örneğin, bir öğe diziniz varsa, dizideki her öğe için otomatik olarak bir uç nokta isteği gönderebilirsiniz. Her döngü sırasında, aynı istek şablonu yeniden kullanılır, ancak {{$.4.element.id}} gibi farklı verilerle doldurulur.

2. Verileri veritabanı işlemlerinde kullanın

Mevcut döngü öğesindeki verileri veritabanı sorguları çalıştırmak veya birden çok satır eklemek için kullanabilirsiniz.

Örnek: Mevcut öğenin alanını kullanarak veritabanını sorgulama

SELECT * FROM products WHERE id = '{{$.4.element.id}}' 

{{$.4.element.id}} ifadesine dinamik değer özelliği kullanılarak erişilebilir.

Mevcut öğeden birden çok alanı bir tabloya ekleme:

INSERT INTO products (id, title) VALUES ('{{$.4.element.id}}', '{{$.4.element.title}}') 

3. Verileri komut dosyalarında kullanın

Döngüden gelen verileri özel bir komut dosyasında daha fazla işlemeniz gerekiyorsa, değerleri almak için pm.variables.get() yöntemini kullanabilirsiniz:

// Get the current element
const item = pm.variables.get("$.4.element");

// Get the current index
const index = pm.variables.get("$.4.index");

Komut Dosyalarından Veri Çıkarma ve Kullanma

Komut Dosyası Verileri Nasıl Çalışır

Bir iş akışındaki diğer adımlardan farklı olarak, komut dosyaları sonraki adımlarda doğrudan kullanılabilecek çıktıları otomatik olarak oluşturmaz. Bir komut dosyasından sonraki adımlara veri aktarmak istiyorsanız, bunu manuel olarak bir değişkende saklamanız gerekir.

Bir Komut Dosyasından Veri Nasıl Çıkarılır

Değerleri farklı türdeki değişkenlere şu şekilde kaydedebilirsiniz:

// Get JSON response data
// 1. From the current endpoint response
// const currentData = pm.response.json();

// 2. Or get it from a previous step using a dynamic value
const preData = pm.variables.get("$.1.response.body");

// Save to environment variables
pm.environment.set('products', preData.products);
pm.environment.set('products_id', preData.products[0].id);

// Save to global variables
pm.globals.set('products', preData.products);

// Save to temporary variables (valid only during this run)
pm.variables.set('products', preData.products);

Değişkenler çıkarılıp ayarlandıktan sonra, bunları sonraki adımlarda {{variableName}} sözdizimini kullanarak referans alabilirsiniz.

Komut Dosyalarından Çıkarılan Veriler Nasıl Kullanılır

1. Verileri uç nokta isteklerinde kullanın

Bir komut dosyasında ayarlanan değişkenler, aşağı akış uç nokta isteklerinde doğrudan parametre olarak kullanılabilir. Örneğin, komut dosyasında products_id'yi kaydettiyseniz, daha sonraki bir istekte şu şekilde referans alabilirsiniz: {{products_id}}.

Çıkarılan verileri API İsteklerinde kullanın

2. Verileri veritabanı işlemlerinde kullanın

Komut dosyası değişkenleri, dinamik SQL ifadeleri oluşturmak için de kullanılabilir. Örneğin:

SELECT * FROM products WHERE id = '{{products_id}}'

3. Verileri For Döngüsü'nde kullanın

Döngü sayısını veya diğer ara değerleri oluşturmak, bunları "geçici değişkenler" olarak saklamak ve For Döngüsü adımına aktarmak için bir komut dosyası kullanabilirsiniz:

pm.variables.set("loopCount", 5); 

Ardından, döngü ayarlarında, yineleme sayısı olarak {{loopCount}} kullanın.

4. Verileri ForEach Döngülerinde kullanın

Tüm bir diziyi bir değişkende saklayabilir ve bunu bir ForEach Döngüsü için veri kaynağı olarak kullanabilirsiniz.

Örnek:

// Optionally retrieve array from a previous step using dynamic values
// const preData = pm.variables.get("$.1.response.body.products")

const preData = [{id: 1}, {id: 2}, {id: 3}];

// Save to environment variable
pm.environment.set('products', preData);

Ardından ForEach Döngüsünde, veri kaynağını {{products}} olarak ayarlayın.

Sonuç

Verimli bir otomatik test iş akışı oluşturmak için, farklı adım türlerinden verilerin nasıl çıkarılacağını ve kullanılacağını anlamak çok önemlidir:

Dinamik değer referansı ile değişken çıkarma yöntemlerini birleştirerek, esnek ve güçlü, veriye dayalı bir test süreci tasarlayabilirsiniz.

Veri Aktarımı için En İyi Uygulamalar:

Veri karmaşıklığına ve kullanım sıklığına göre doğru yöntemi seçmek, iş akışınızı daha sürdürülebilir ve verimli hale getirecektir.

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin