Apidog API Test Senaryolarına If/Else Dallanma ve Akış Kontrolü Nasıl Eklenir

Apidog'daki API test senaryolarına if/else koşullu dallanma ve akış kontrolü ekleyin, böylece bir çalıştırma önceki bir yanıta göre dallanır, ayrıca CLI otomasyonu.

Ashley Innocent

Ashley Innocent

15 July 2026

Apidog API Test Senaryolarına If/Else Dallanma ve Akış Kontrolü Nasıl Eklenir

Kurumsal İçin Apidog

Şirket İçi (On-Premises) Dağıtım

SSO ve RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfedin

Çoğu API testi düz bir çizgide ilerler. Giriş çağrısı yapın, ödeme çağrısı yapın, makbuz uç noktasına çağrı yapın, yol boyunca doğrulama yapın. Bu, bir adımın sonraki adımın bağımlı olduğu bir şekilde başarısız olabileceği ana kadar işe yarar. Giriş 401 döndürürse, ödeme isteğini çalıştırmanın bir anlamı yoktur. Daha da kötüsü, gerçek hatayı ikinci, yanıltıcı bir hatanın arkasına gizler. İstediğiniz şey, giriş yanıtını okuyan, devam edip etmeyeceğine karar veren ve her şeyin nerede bozulduğuna dair gerçeği rapor eden bir testtir.

Bu karar koşullu mantıktır ve bunu akış kontrolü ile oluşturursunuz. Bu kılavuz, Apidog'da bir API test senaryosuna if/else dallanmasını nasıl ekleyeceğinizi gösterir, böylece bir çalıştırma önceki bir yanıta göre dallanabilir. Gerçek bir senaryo oluşturacaksınız: oturum açın, durum kodunu kontrol edin ve yalnızca oturum açma gerçekten başarılı olduğunda ödemeye geçin. Apidog senaryolarına yeni başlıyorsanız, Apidog ile test senaryosu nasıl yazılır konulu kılavuz, bu makalenin dayandığı doğrusal temel bilgileri kapsar. Dallanma deseninin tanımı için, koşullu ifadelere ilişkin MDN kılavuzu iyi bir başlangıçtır. Apidog'u ücretsiz indirebilir ve takip edebilirsiniz.

button

Akış kontrolü nedir ve ne değildir

Apidog'da otomatik testler Testler modülünde bulunur. Çalıştığınız birim, belgelerde Postman'deki bir Koleksiyon'a benzetilen bir Test Senaryosudur. Bir senaryonun içinde Test Adımları düzenlersiniz: her adım ya ayrı bir istek ya da bir dal, bir döngü veya bir gecikme gibi bir kontrol akışı öğesidir.

Akış kontrolü, kontrol akışı öğelerinin kümesidir. Bir senaryonun istekleri sırayla yürütmekten daha fazlasını yapmasına olanak tanır. Akış kontrolü ve koşullu dallanma üzerine Apidog belgeleri, burada kullanılan her etiketin ardındaki referanstır. Bu makalenin odaklandığı şey, Apidog'un if/else için kullandığı ad olan Koşullu Dallanma'dır. Bir dal, ona verdiğiniz bir değeri okur, bu değeri bir koşula göre test eder ve koşul sağlandığında bir dizi adımı, sağlanmadığında ise başka bir dizi adımı çalıştırır.

Öncelikle bir açıklama yapalım, çünkü ikisi karıştırılır. Dallanma döngü değildir. Bir dal, bir adım bloğunun çalışıp çalışmayacağına bir kez karar verir. Bir döngü, bir bloğu birçok kez çalıştırır. Apidog'da yineleme için ayrı özellikler bulunur; bunlara For Döngüleri ve ForEach Döngüleri denir ve bunlar farklı bir soruna aittir: aynı isteği bir aralık boyunca veya bir dizideki öğeler boyunca tekrarlamak. Sipariş kimliklerinden oluşan bir dizide gezinmeniz gerekiyorsa, bu bir ForEach döngüsüdür ve ForEach döngüsü öğreticisinde ele alınmıştır, bir dallanma değil. Bu kılavuz if/else konusuna odaklanmaktadır.

Apidog belgeleri, akış kontrolü, koşullu dallanma, döngüler veya adımlar arasında veri geçişi için ücretsiz-ücretli kısıtlaması listelemiyor. Ayrıca bu özellikler için bulut tabanlı veya kendi kendine barındırılan bir ayrım belirtilmemiştir. Bir senaryo oluşturabiliyorsanız, buna bir dal ekleyebilirsiniz.

Giriş yanıtına göre dallanan bir senaryo oluşturun

İşte amaç. Bir kullanıcı oturum açar. Giriş uç noktası 200 döndürürse, senaryo bir ödeme oluşturmaya devam eder. Başka bir şey döndürürse, senaryo ödemenin çalıştığını iddia etmek yerine durur ve hatayı rapor eder.

Adım 1: test senaryosunu oluşturun

Apidog'u açın ve Testler modülüne gidin. Arama çubuğunun yanındaki + işaretine tıklayarak yeni bir Test Senaryosu oluşturun, bulunacağı dizini seçin ve oluşturmayı tamamlamak için bir öncelik ayarlayın. Artık adımlar için hazır boş bir senaryonuz var.

Adım 2: giriş isteğini ilk adım olarak ekleyin

İlk Test Adımınızı ekleyin. Apidog size bir isteği getirmenin birkaç yolunu sunar: mevcut bir uç nokta spesifikasyonundan içe aktarın, kaydedilmiş bir uç nokta durumundan içe aktarın, doğrudan özel bir istek ekleyin veya bir cURL dizesinden bir tane ekleyin. Hızlı başlangıç için özel bir istek ekleyin. Bunu POST olarak ayarlayın ve JSON gövdesiyle kimlik doğrulama uç noktanıza yönlendirin:

POST https://api.your-store.com/v1/login
Content-Type: application/json

{
  "email": "dana@example.com",
  "password": "correct-horse-battery-staple"
}

Beklediğiniz şeyi döndürdüğünü doğrulamak için bu adımı bir kez tek başına çalıştırın. Başarılı bir giriş 200 ve gövdesinde şuna benzer bir belirteç döndürür:

{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "userId": "usr_10482"
}

Adım 3: orkestrasyon moduna girin

Orkestrasyon moduna girmek için herhangi bir adıma tıklayın. Sol panel senaryonun genel akışını gösterir; sağ panel ise seçtiğiniz adımın ayrıntılarını gösterir. Bu bölünmüş görünüm, dalı düzenleyeceğiniz yerdir. Adımları yeniden sıralamanız gerekirse, bir adımdaki simgesini sürükleyerek taşıyın.

Adım 4: koşullu dalı ekleyin

Adım Ekle düğmesine tıklayın. Bu, herhangi bir akış kontrol öğesini eklemenin birincil yoludur. Menüden Koşullu Dallanma'yı seçin. Bu, bir If ifadesi, bir koşul ve çalıştırılacak bazı adımları bekleyen boş bir dal oluşturur.

Şimdi koşulu oluşturun. Giriş yanıtının durum kodunu dala beslemeniz gerekir. Apidog, koşulları sabit bir yargı operatörleri kümesinden oluşturur. Tam liste şunlardır: Eşittir, Eşit Değildir, Mevcuttur, Mevcut Değildir, Küçüktür, Küçük veya Eşittir, Büyüktür, Büyük veya Eşittir, Regex ile Eşleşir, İçerir, İçermez, Boştur, Boş Değildir, Listede Var ve Listede Yok.

Bu dal için, giriş durum kodunun 200'e eşit olmasını istersiniz. Yani koşul şöyle okunur: giriş yanıt durumu Eşittir 200.

Adım 5: koşuldaki önceki yanıtı referans alın

Giriş sonucunu koşul alanına almak için iki yönteminiz vardır.

İlk yöntem kurulum gerektirmez. Koşulun değer alanına tıklayın ve sihirli değnek simgesine tıklayın, ardından Ön-adım verilerini al seçeneğini belirleyin. Apidog, daha önceki giriş adımını doğrudan işaret etmenize ve yanıtından bir değer çekmenize olanak tanır. Arka planda bu, {{$.<adım kimliği>.response.body.<alan yolu>}} sözdizimiyle bir ön-adım referansı kullanır. Örneğin, durum yerine giriş gövdesinden belirteci isteseydiniz, {{$.1.response.body.token}} ifadesini referans alırdınız, burada 1 giriş adımının kimliğidir.

Ön-adım verilerini al hakkında bilmeniz gereken iki şey. Yalnızca Testler modülünde çalışır, API'ler modülünde değil. Ve yalnızca tüm senaryoyu çalıştırdığınızda çözülür, tek bir adımı yalıtılmış olarak çalıştırdığınızda değil. Tek başına çalıştırma sırasında bir ön-adım referansı boş görünüyorsa, bu beklenir; tam senaryoyu çalıştırın ve dolacaktır.

İkinci yöntem, adlandırılmış bir değişken kullanır ve hem Testler hem de API'ler modüllerinde çalışır. Giriş isteğinde, post-işlemcilerini açın ve bir Değişken Çıkar eylemi ekleyin. İlgilendiğiniz alanı bir JSONPath ifadesiyle, örneğin $.token ile çıkarın ve Apidog bunu bir ad altında saklar. Daha sonra herhangi bir yerde {{token}} olarak referans alırsınız. Bu, aynı değeri modüller arasında veya birden fazla dalda kullanılabilir kılmak istediğinizde daha taşınabilir bir yaklaşımdır. Değerleri adımlar arasında taşımanın daha derin mekanikleri, test adımları arasında veri nasıl geçirilir kılavuzunda ele alınmıştır.

Durum kodu dalı için, giriş adımının durumundaki Ön-adım verilerini al en kısa yoldur.

Adım 6: else dalını ekleyin

If bloğunun üzerine gelin ve + Else'e tıklayın. Bu size koşulun yanlış olması durumunda çalışacak alternatif yolu verir, yani giriş 200 döndürmediğinde.

Şimdi her iki tarafı da doldurun:

Senaryonuz artık düz mantık gibi okunur: eğer giriş 200'e eşitse, ödemeyi çalıştır; aksi takdirde, raporla ve dur.

Adım 7: kaydet

Senaryoyu kalıcı hale getirmek için Tümünü Kaydet'e tıklayın. Kaydedilmemiş değişiklikler bir nokta göstergesiyle belirtilir, bu nedenle bu noktayı görüyorsanız, hala yazacak işiniz var demektir. Tüm senaryoyu çalıştırın ve dalın çözülmesini izleyin. Girişi geçerli kimlik bilgilerine yönlendirin ve If bloğu çalışır. Kötü kimlik bilgilerine yönlendirin ve bunun yerine Else bloğu çalışır.

Varyasyonlar ve gelişmiş akış kontrolü

Temel dal çalıştığında, aynı yapı taşları birçok alanı kapsar.

Yalnızca duruma değil, bir gövde alanına göre dallanma. Durum kodları yaygın bir durumdur, ancak koşullar referans alabileceğiniz herhangi bir değeri okur. Diyelim ki girişiniz kilitli bir hesap için bile 200 döndürüyor ve gerçek durum bir status alanında. {{$.1.response.body.status}} değerini alın ve "active"'e karşı Eşittir operatörünü kullanın veya bir mesaj dizesine karşı İçerir kullanın. Operatör listesi size aralık kontrolleri de sunar: döndürülen bir bakiyede Büyüktür, döndürülen bir rolün izin verilen birkaç değerden biri olup olmadığını test etmek için Listede Var.

Dallanmayı döngülerle birleştirin. Dallanma ve yineleme birleşebilir. Ürün kimlikleri dizisi üzerinde bir ForEach döngüsü içinde, Koşullu Dallanma adımı stokta olmayan ürünleri atlayabilir ve geri kalanları işleyebilir. Döngü indeksi referansı {{$.<döngü adım kimliği>.index}} 0'dan başlar ve bir ForEach öğesi {{$.<döngü adım kimliği>.element.<alan yolu>}} şeklindedir. Döngüler ayrı bir konudur; ForEach döngüsü öğreticisi bunları uygun şekilde ele alır.

Break If ile bir döngüyü erken durdurun. Yineleme yaparken, Eğer Koşul Doğruysa Durdur (Break If condition) öğesi, bir koşul karşılandığında döngüyü hemen sonlandırır. Onu yeniden konumlandırmak için sürükleyebilir ve bir döngüye birden fazla kez ekleyebilirsiniz.

On Error ile hataları ele alın. Döngüler, döngü başlangıcında sabitlenmiş, taşınamayan bir Hata Durumunda (On Error) öğesi taşır. Seçenekleri, döngü içindeki bir istek hata verdiğinde ne olacağına karar verir: Yoksay (Ignore) bir sonraki istekle devam eder, Devam Et (Continue) mevcut döngünün geri kalan isteklerini atlar, Yürütmeyi Durdur (Break execution) döngüyü durdurur ve sonrasında devam eder ve Yürütmeyi Sonlandır (End execution) tüm senaryoyu durdurur.

Adımlar arasına bir Bekleme ekleyin. Bazen bir alt hizmet, bir yazmayı yansıtmadan önce bir an durmaya ihtiyaç duyar. Bekle (Wait) öğesi, milisaniye cinsinden ölçülen bir gecikme ekler; bir oluşturma çağrısı ile onu kontrol eden okuma arasında kullanışlıdır.

Betikler içindeki değerleri referans alın. Bir dalın operatör listesi için çok karmaşık bir mantığa ihtiyacı varsa, bir ön-işlemci veya son-işlemci betiği bunu hesaplayabilir. Bir betiğin içinde doğrudan {{değişken}} sözdizimini kullanamazsınız. Bunun yerine, adım kimliği ve alan yoluyla eşleşen pm.variables.get("$.2.response.body.token") ifadesini bir ön- veya son-işlemci betiğinde kullanın. İstekleri birbirine bağlama genel deseni için, istek zincirleme ve API testi orkestrasyonu ve veri geçirme üzerine daha derinlemesine yazıyı inceleyin.

Kendine referans hakkında bir not: bir senaryo, orijinal test senaryosunun kendisini referans alamaz. Bu koruma, senaryoları iç içe geçirdiğinizde kazara sonsuz döngüleri önler.

Apidog CLI ile iş akışını otomatikleştirin

Az önce oluşturduğunuz senaryonun yalnızca uygulamanın içinde çalışması gerekmez. Apidog, kaydedilmiş senaryoları başsız bir şekilde çalıştıran bir komut satırı çalıştırıcısıyla birlikte gelir, bu da CI'da tam olarak istediğiniz şeydir. Kurun ve oturum açın:

npm install -g apidog-cli
apidog login --with-token <YOUR_ACCESS_TOKEN>

Ardından, dallanma senaryonuzu kimliğine göre çalıştırın, bir ortama işaret edin ve bir raporlayıcı seçin:

apidog run --access-token $APIDOG_ACCESS_TOKEN -t <scenario_id> -e <env_id> -r cli

Burada -t test senaryosu kimliği, -e ortam kimliği ve -r raporlayıcıdır. Konsol çıktısı için cli, veya işlem hattınızın yayınlayabileceği yapılar için html ve junit kullanın; birkaçını aynı anda yayınlamak için -r html,cli gibi virgülle ayırın. Dal, uygulamada olduğu gibi çözülür: çalıştırıcı giriş yanıtını okur, If veya Else yolunu seçer ve çıkış kodu sonucu yansıtır, böylece başarısız bir giriş, yapıyı da başarısız kılar. Tam kurulum Apidog CLI kurulum kılavuzunda yer almaktadır ve bunu bir işlem hattına bağlama Apidog CLI GitHub Actions kılavuzunda ele alınmıştır. Aynı senaryoyu her commit'te değil de bir zamanlayıcıda çalıştırmak isterseniz, Apidog'da API testlerini nasıl planlayacağınızı görün.

Sıkça Sorulan Sorular

Apidog'da Koşullu Dallanma ile döngü arasındaki fark nedir?

Koşullu Dallanma, bir adım bloğunun bir koşula bağlı olarak bir kez çalışıp çalışmayacağına karar verir. Bir döngü ise bir bloğu tekrar tekrar çalıştırır. Giriş başarılı olursa ödemeye devam etme gibi bir ya/ya da kararınız olduğunda bir dal kullanın. Bir sayım veya bir dizi boyunca bir isteği tekrarlamanız gerektiğinde For veya ForEach döngüsü kullanın. ForEach döngüsü öğreticisi, yinelemeyi eksiksiz kapsar.

Ön-adım verilerini al referansım neden boş dönüyor?

İki yaygın nedeni vardır. Birincisi, Ön-adım verilerini al yalnızca Testler modülünde çalışır, API'ler modülünde değil. İincisi, yalnızca tüm test senaryosunu çalıştırdığınızda çözülür. Tek bir adımı yalıtılmış olarak çalıştırırsanız, referansın henüz işaret edecek hiçbir şeyi yoktur. Tüm senaryoyu çalıştırın ve değer dolacaktır.

Yalnızca durum koduna değil, yanıt gövdesindeki bir alana göre dallanma yapabilir miyim?

Evet. Alanı {{$.1.response.body.status}} gibi bir ön-adım ifadesiyle referans alın veya adlandırılmış bir değişkene çıkarın, ardından Eşittir, İçerir veya Listede Var gibi bir operatör seçin. Referans alabileceğiniz herhangi bir değer bir koşulu yönlendirebilir. Bu değerleri taşımak test adımları arasında veri nasıl geçirilir konusunda ele alınmıştır.

Bir değişkeni koşul oluşturucusu yerine bir betiğin içinde nasıl kullanırım?

Betikler {{değişken}} sözdizimini kabul etmez. İstediğiniz adım kimliği ve alan yoluyla eşleşen pm.variables.get("$.2.response.body.token") ifadesini bir ön- veya son-işlemci betiğinde kullanın.

Dallanma ek ücrete mi tabidir, yoksa kendi kendine barındırılan sürüm mü gerektirir?

Apidog belgeleri, akış kontrolü, koşullu dallanma, döngüler veya veri geçişi için herhangi bir plan kısıtlaması listelemiyor ve bu özellikler için bulut tabanlı veya kendi kendine barındırılan bir ayrım belirtilmemiştir. Bir senaryo oluşturabiliyorsanız, buna dallar ekleyebilirsiniz.

Sonuç

Doğrusal bir test size bir şeylerin bozulduğunu söyler. Dallanan bir test ise nerede bozulduğunu söyler ve artık başarılı olamayacak bir yolda adımları boşa harcamayı durdurur. Bir Koşullu Dallanma adımı ekleyin, buna Ön-adım verilerini al veya çıkarılmış bir değişkenle önceki bir yanıtı besleyin, If ve + Else'i bağlayın ve senaryonuz artık gerçek API'nizin yaptığı gibi kararlar verir. Uygulamada çalıştığında, tek bir apidog run komutu aynı mantığı CI'ya taşır. Apidog'u ücretsiz deneyin, kredi kartı gerekmez ve düz çizgi testlerinizi düşünen senaryolara dönüştürün.

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

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