Apidog Otomatik API Testlerini Zamanlama: Bulut, Runner ve CLI

Apidog'da otomatik API testlerini nasıl zamanlayacağınızı öğrenin: Kendi kendine barındırılan bir Runner üzerinde tekrarlayan test çalıştırmaları, hata bildirimleri, gece regresyonu, ayrıca CLI ve cron yolu.

INEZA Felin-Michel

INEZA Felin-Michel

15 July 2026

Apidog Otomatik API Testlerini Zamanlama: Bulut, Runner ve CLI

Kurumsal İçin Apidog

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

SSO ve RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfedin

Geçen bir test paketi, yalnızca geçmeye devam ederse işe yarar. Ödeme akışınız bugün çalışıyor, ancak bir bağımlılık sabah 2'de önemli bir değişiklik yapıyor, bir sertifika hafta sonu süresi doluyor veya bir yapılandırma kayması Pazar günü ödeme uç noktasını devre dışı bırakıyor. Bir test çalıştırması yerine sinirli bir müşteriden öğreniyorsunuz. Çözüm sıkıcı ve güvenilirdir: API testlerinizi bir insan düğmeye tıklamadan, belirli bir programda çalıştırın ve bir şeyler bozulduğu anda size bildirilmesini sağlayın.

Apidog, tam da bunun için yerleşik bir Zamanlanmış Görevler özelliğine sahiptir. Halihazırda oluşturduğunuz test senaryolarını işaretlersiniz, bir periyot belirlersiniz, çalıştırılacak bir makine seçersiniz ve uyarıları ayarlarsınız. Bu kılavuz, mevcut sınırlamaların nerede olduğu da dahil olmak üzere her şeyi dürüstçe anlatır. Canlı uç noktalara karşı gözetimsiz kontrolleri çalıştırma konusunda yeniyseniz, API izleme konusundaki başlangıç yazımız daha geniş bir bağlam sunar ve Apidog Zamanlanmış Görevler dokümantasyonu kullanıcı arayüzü için referans kaynaktır.

Başlamadan önce hızlı bir not. Zamanlanmış Görevler özelliği şu anda Beta olarak etiketlenmiştir ve hesabınızın sahip olduğu zamanlanmış çalıştırma sayısı planınıza bağlıdır. Okurken her ikisini de aklınızda bulundurun.

Zamanlanmış görevler ne işe yarar (ve zamanlanmış veri kazıyıcılardan nasıl farklıdırlar)

Apidog'daki zamanlanmış bir görev, bir veya daha fazla kaydedilmiş Test Senaryosunu tekrar eden bir döngüde çalıştırır. Temel API'nizdeki gece regresyonunu, birkaç saatte bir staging ortamına karşı bir "smoke check"ini veya hafta sonu sağlık taramasını düşünün. Görev, hangi senaryoların çalıştırılacağını, hangi ortama erişileceğini, ne sıklıkta tetikleneceğini, hangi makinenin işi yürüteceğini ve başarısız olduğunda kime bildirim gönderileceğini hatırlar.

Eğer "zamanlanmış görevler" ifadesini web kazıma veya veri toplama ile ilişkili olarak gördüyseniz, o farklı bir şeydir. Bu özellik, bir zamanlayıcıyla sayfaları taramakla ilgili değildir. Testler modülünün içinde yer alır ve API test senaryolarınızı yönetir: iddialar, zincirleme istekler, çıkarılan değişkenler, hepsi. Çıktı, API sözleşmenizin geçme veya kalma raporudur, kazınmış bir veri kümesi değildir.

Bu ayrım önemlidir çünkü yapılandırdığınız şeyi değiştirir. Seçiciler veya tarama kuralları yazmıyorsunuz. Mevcut test senaryolarını seçiyor ve Apidog'a bunları ne zaman ve nerede çalıştıracağını söylüyorsunuz.

Başlamadan önce: kendi barındırdığınız bir Runner'ı yapılandırın

İşte insanları şaşırtan ön koşul. Zamanlanmış görevleri çalıştırmak için öncelikle kendi barındırdığınız bir Runner'ı yapılandırmanız gerekir. Belgeler bu konuda açıkça belirtiyor.

Bir Runner, test paketini yürüten bir makinedir. Zamanlanmış bir görev tetiklendiğinde, Apidog istekleri masaüstü istemcinizde çalıştırmaz; işi seçtiğiniz Runner'a devreder ve paketteki her istek o makineden gönderilir. Bir CI kutusu, küçük, her zaman açık bir sunucu veya özel bir sanal makine hepsi iyi çalışır. Seçtiğiniz şey, istediğiniz programda uyanık ve erişilebilir kalır.

Runner hedef alanı iki seçenek sunar: "yakında gelecek" olarak işaretlenmiş Apidog Cloud veya kendi barındırdığınız bir Runner. Apidog Cloud henüz mevcut olmadığı için, kendi barındırdığınız bir Runner bugün tek çalışan seçenektir. Bulut yürütme gelene kadar bunun üzerine plan yapmayın.

İstekler Runner'ın makinesinden kaynaklandığı için, ağ ortamı sonuçlarınızı şekillendirir. Kurumsal bir VPN'in arkasındaki, farklı bir bölgedeki veya güvenlik duvarlı bir alt ağdaki bir Runner, dizüstü bilgisayarınızın gördüğünden farklı yanıtlar görebilir. Bu genellikle gerçekçi izleme için istediğiniz şeydir, ancak zamanlanmış bir çalıştırmanın yerel bir çalıştırmayla çeliştiğinde bunu bilmek faydalıdır.

Adım adım: zamanlanmış bir görev oluşturun

Bir Runner kaydedildikten sonra, geri kalanı istemcide gerçekleşir. Aşağıdaki çalışan örnek, kullanıcı kaydı, ürün listeleme, sepet ve Stripe tarafından desteklenen bir ödeme içeren bir e-ticaret API'si için gece regresyon paketidir.

1. Testler modülünde Zamanlanmış Görevleri açın

Apidog istemcisinde Testler modülünü açın. Testler klasör ağacında, projedeki her zamanlanmış görevi görüntülemek ve yönetmek için Zamanlanmış Görevler'e tıklayın. Projedeki tüm görevler burada Zamanlanmış Görevler bölümünde görünür, bu yüzden neyin ne zaman çalıştığını görmek için tek yer burasıdır.

2. Görevi oluşturun

Yeni bir zamanlanmış görev oluşturmak için + Yeni'ye tıklayın. Burada ilgili görevleri gruplandırmak için bir klasör de oluşturabilirsiniz, bu da staging ve üretim veya farklı hizmetler için ayrı paketleriniz olduğunda kullanışlıdır.

Göreve açık bir Görev Adı ve Açıklama verin. Bunlar, görevleri ayırt etmek ve amaçlarını açıklamak için vardır, böylece gelecekteki siz, "Gece regresyonu, prod"un aslında neyi kapsadığını açmadan bilirsiniz. Her görevin ayrıca bir etkinleştirme/devre dışı bırakma düğmesi vardır ve ağaçtaki görevler herhangi bir zamanda etkinleştirilebilir veya devre dışı bırakılabilir.

3. Çalıştırılacak test senaryolarını seçin

Test Senaryosu altında, dahil edilecek bir veya daha fazla senaryoyu seçin. E-ticaret örneği için "Kaydol ve giriş yap", "Göz at ve sepete ekle" ve "Stripe test kartı ile ödeme yap" senaryolarını seçebilirsiniz, böylece tek bir görev tüm kritik yolu kapsar.

Her senaryo kendi yürütme ayarlarına sahip olabilir: Ortam, test verileri, yinelemeler, gecikme ve isteklerin ve yanıtların kaydedilip kaydedilmeyeceği. Her birini ayarlamak istemiyorsanız, tüm seçilen senaryolara tek bir çalışma zamanı yapılandırmasını uygulamak için aynı yürütme yapılandırmasını kullan seçeneğini açın. Bu, büyük bir paketi tutarlı ve hızlı bir şekilde kurmayı sağlar.

Ortam seçimi, insanların en çok önemsediği ayardır. Gece üretim monitörünü prod ortamınıza yönlendirin ve ön sürüm smoke testini staging ortamına yönlendirin. Her senaryo kendi ortamını belirleyebildiği için, tek bir görev, ihtiyacınız olursa hedefleri bile karıştırabilir, ancak bir görevi tek bir ortamda tutmak, mantıksal olarak daha temizdir.

4. Çalışma döngüsünü ayarlayın

Çalıştırma zamanlaması alanını istediğiniz periyoda ayarlayın. Hangi ekranda olduğunuza bağlı olarak, bu alan Çalışma Döngüsü veya Çalışma Modu olarak okunur; aynı ayardır ve etiket kelimesi kullanıcı arayüzünde değişir. Belgeler, yansıtabileceğiniz somut örnekler verir: her Pazar 23:00'te, her 6 saatte bir veya her 8 saatte bir.

Gece regresyonu için, günlük geç gece çalıştırma, gürültüyü düşük tutar ve mesai başlamadan sorunları yakalar. Staging smoke testi için, her 6 saatte bir, ortamı yormadan daha hızlı geri bildirim sağlar.

5. Nerede çalışacağını seçin

Runner alanını kendi barındırdığınız Runner'ınıza ayarlayın. Zamanlama alanı gibi, bu da ekranlarda tutarsız olarak Çalıştıran, Çalışır, veya Çalışan olarak etiketlenmiştir; hepsi aynı şeyi, paketi yürüten makineyi ifade eder. Apidog Cloud da burada görünür ancak yakında gelecek, bu yüzden kendi barındırdığınız Runner'ınızı seçin. Birkaç genel amaçlı Runner kaydettiyseniz, istediğiniz belirli olanı seçin, örneğin API'nizle aynı VPC içinde bulunan bir Runner.

Test paketinde başlatılan tüm isteklerin burada belirtilen makineden gönderildiğini unutmayın, bu nedenle Runner'ın ağının API'nizi gerçek trafiğin gördüğü şekilde gördüğü bir Runner seçin.

6. Bildirimleri açın

Bir şeyler bozulduğunda görevin size bildirmesi için Bildirimi etkinleştirin. Belgeler bunu zamanlanmış görevler için tavsiye eder ve bu, gözetimsiz çalıştırmaların tüm amacıdır: sessizlik başarı anlamına gelmeli ve bir başarısızlık size hızlıca ulaşmalıdır.

Apidog, bu kanalları adıyla destekler: Slack, Teams, Webhook, Jenkins ve E-posta. E-posta için, proje üyelerinin adresleri otomatik tamamlanır ve nöbetçi rotasyonu veya paylaşılan bir gelen kutusu için üye olmayan adresleri manuel olarak yazabilirsiniz. Slack, başarısızlıkları doğrudan ekibinizin kanalına düşürür; Webhook seçeneği, PagerDuty'den özel bir uç noktaya kadar çalıştırdığınız her şeye göndermenizi sağlar.

Uyarıların ne zaman tetikleneceğini de seçersiniz: her çalıştırmadan sonra veya yalnızca başarısızlıklar olduğunda. Sağlıklı bir gece paketi için, yalnızca başarısızlıklar, önemli olana kadar kanalı sessiz tutar. Sorunlu bir dağıtım sırasında, her çalıştırma, işin gerçekten yürütüldüğünü onaylayan bir kalp atışı verir.

7. Kaydet ve etkinleştir

Görevin düğmesini çevirerek etkinleştirin ve ayarladığınız periyotta çalışmaya başlar. Planlı bir kesinti veya gürültülü bir geçiş penceresi sırasında kullanışlı olan bu görevi, silmeden daha sonra devre dışı bırakabilirsiniz.

8. Çalıştırma geçmişini okuyun

Her çalıştırmadan sonra, sonuçlar otomatik olarak Runner'dan sunucuya yüklenir. İstemcideki Zamanlanmış Görevler - Çalıştırma Geçmişi bölümünü açarak bunları görebilirsiniz. Bu sizin denetim kaydınızdır: hangi çalıştırma geçti, hangisi başarısız oldu, hangi iddia bozuldu ve ne zaman. Slack'e bir uyarı düştüğünde, arkasındaki ayrıntıları görmek için Çalıştırma Geçmişi'ne gidersiniz.

Gelişmiş ayarlar ve varyasyonlar

Temel görev çalıştıktan sonra, birkaç seçenek onu daha sağlam hale getirir.

Değişken kapsamı. Senaryolarınız çalıştırmalar arasında veri aktardığında, Apidog size en küçükten en büyüğe üç paylaşım düzeyi sunar: Yalnızca mevcut test senaryosunda paylaş, bir değişkeni o senaryoya özel bir dosyada tutar; Geçerli zamanlanmış görevdeki tüm test senaryolarında paylaş, aynı görevdeki senaryoların birbirlerinin değerlerini okumasına izin verir; ve Geçerli zamanlanmış görev klasöründeki tüm zamanlanmış görevlerde paylaş, en geniş kapsamdır. Veri akışınızın hala akmasına izin veren en küçük kapsamı seçin, böylece bir senaryodan gelen bir kimlik doğrulama belirteci ilgisiz bir senaryoya sızmaz.

Değişken kalıcılığı. Değerler, yalnızca test senaryosu tasarım sayfasında Değişken değerlerini sakla seçeneği etkinleştirildiğinde bir çalıştırmadan diğerine taşınır. Gece çalıştırmanızın dünün yakalanan sipariş kimliğine veya yenilenmiş bir belirtece ihtiyacı varsa, bunu açın. Bu olmadan, her çalıştırma temiz başlar ve çalıştırmalar arası tüm varsayımlar sessizce başarısız olur.

Klasörlerle gruplama. Paketiniz büyüdükçe, örneğin üretim monitörlerini sürüm öncesi kontrollerden ayırmak için Zamanlanmış Görevler altında klasörler oluşturun. Klasör düzeyinde değişken kapsamı, ilgili görev gruplarının kurulumu temiz bir şekilde paylaşmasına olanak tanır.

Plan limitleri. Sahip olduğunuz zamanlanmış çalıştırma sayısı aboneliğinize bağlıdır. Belgeler, kesin rakamlar için Apidog fiyatlandırma sayfasına işaret ediyor, bu yüzden agresif bir saat başı periyodu ayarlamadan önce planınızı kontrol edin. Gruplama ve daha ağır zamanlama desenleri hakkında daha derinlemesine kapsama ihtiyacınız varsa, gelişmiş zamanlanmış görevler hakkındaki rehberimiz daha ileri gider ve API test senaryolarında koşullu mantık hakkındaki kardeş rehberimiz, öncelikle zamanlamaya değer senaryolar oluşturmanıza yardımcı olur. İlk gözetimsiz kontrollerini oluşturan ekipler için, CI'daki gece API test çalıştırmaları bu yazıyla iyi bir ikili oluşturur.

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

Zamanlanmış Görevler kullanıcı arayüzü bir yoldur. Apidog CLI üçüncü ve gerçek bir yoldur: kaydedilmiş bir senaryoyu başsız (headless) çalıştırırsınız, ardından cron veya CI sağlayıcınızın periyodu yönetmesine izin verirsiniz. Açık olmak gerekirse, CLI'da yerel bir zamanlama komutu yoktur; zamanlama, Apidog'un dışında, cron için zaten güvendiğiniz araçta yaşar.

Kurulumu yapın ve kimlik doğrulamasını tamamlayın, ardından seçilen bir ortama karşı kimliğine göre bir senaryo çalıştırın. Apidog CLI kurulum kılavuzu belirteç kurulumunu tam olarak kapsar:

npm install -g apidog-cli
apidog login --with-token <YOUR_TOKEN>
apidog run --access-token $APIDOG_ACCESS_TOKEN -t <SCENARIO_ID> -e <ENV_ID> -r cli,junit

Burada -t test senaryosu kimliği, -e ortam kimliği ve -r ise rapordur (birkaçı için virgülle ayrılmış cli, html veya junit). Her gece cron ile çalıştırmak için bir satır ekleyin:

0 2 * * * cd /srv/api-tests && apidog run --access-token $APIDOG_ACCESS_TOKEN -t 4471 -e 88 -r junit >> run.log 2>&1

Veya zamanlanmış bir GitHub Actions işinden tetikleyin. Her iki durumda da JUnit raporu mevcut işlem hattı panolarınıza düşer. Cron ve GitHub Actions zamanlama tetikleyicileri dahil olmak üzere tam kurulum için CI/CD işlem hattınızda Apidog CLI makalesine bakın.

SSS

Zamanlanmış testleri bugün Apidog Cloud'da çalıştırabilir miyim? Henüz değil. Runner hedefi Apidog Cloud'u "yakında gelecek" olarak listeliyor, bu nedenle şimdilik kendi barındırdığınız bir Runner tek çalışan yürütme makinesidir. Önce bir Runner kaydedin, ardından görevde onu seçin.

Zamanlanmış görevler ne sıklıkta çalışabilir? Planınızın izin verdiği sıklıkta. Periyodun kendisi esnektir, her 6 saatte bir veya her Pazar 23:00 gibi belgelenmiş örneklerle, ancak zamanlanmış çalıştırma sayısı aboneliğiniz tarafından sınırlandırılmıştır. Bir sayı varsaymak yerine katmanınızın kesin sınırı için Apidog fiyatlandırma sayfasını kontrol edin.

Yalnızca bir test başarısız olduğunda nasıl bildirim alırım? Görevin Bildirim ayarlarında, her çalıştırma yerine yalnızca başarısızlıklar seçeneğini seçin, ardından bir kanal ekleyin: Slack, Teams, Webhook, Jenkins veya E-posta. Bu, yeşil gecelerde kanalınızı sessiz, bir şeyler bozulduğunda ise gürültülü tutar. Daha derin regresyon paketinin yanında hızlı bir canlılık sinyali için hafif bir API sağlık kontrolü ile eşleştirin.

Zamanlanmış sonuçlarım neden yerel test çalıştırmalarımdan farklı çıkıyor? Çünkü istekler dizüstü bilgisayarınızdan değil, Runner'ın makinesinden geliyor. Onun ağı, bölgesi ve herhangi bir VPN veya güvenlik duvarı yanıtları şekillendirir. Bu beklenen bir durumdur ve genellikle kullanıcılarınızın karşılaştığı durumun daha gerçekçi bir görünümüdür.

Değişkenlerim her çalıştırmada sıfırlanıyor. Neyi kaçırdım? Test senaryosu tasarım sayfasındaki Değişken değerlerini sakla seçeneğini. Yakalanan değerlerin bir çalıştırmadan diğerine kalıcı olması için bunu etkinleştirin. Bu olmadan, her zamanlanmış çalıştırma yeni başlar ve çalıştırmalar arası herhangi bir bağımlılık başarısız olur.

Özetle

Zamanlanmış testler, "API'nin çalıştığını düşünüyoruz" ifadesini "biliyoruz ve çalışmasaydı şimdiye kadar duyardık"a dönüştürür. Senaryolarınızı bir kez oluşturun, kendi barındırdığınız bir Runner'ı kaydedin, bir Çalışma Döngüsü ayarlayın, Slack veya e-postayı başarısızlık durumunda bağlayın ve siz uyurken çalışmasına izin verin. Bir işlem hattı içinde aynı kontrolleri istediğinizde, CLI ve cron size sıfır ek araçla üçüncü yolu sunar. İlk zamanlanmış regresyon paketinizi kurmak için Apidog'u indirin. Başlamak ücretsizdir, kredi kartı gerekmez.

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

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