Geçen bir test paketi, yalnızca geçmeye devam ederse işe yarar. Ödeme akışınız bugün çalışıyor olabilir; ancak bir bağımlılık sabah 2'de önemli bir değişiklik yapabilir, bir sertifika hafta sonunda sona erebilir veya yapılandırma kayması Pazar günü ödeme uç noktasını devre dışı bırakabilir. Sorunu bir test çalıştırmasından değil, sinirli bir müşteriden öğrenirsiniz. Çözüm basit ve güvenilirdir: API testlerini belirli bir programda, insan müdahalesi olmadan çalıştırın ve bir şey bozulduğunda bildirim alın.
Apidog, bunun için yerleşik Zamanlanmış Görevler özelliği sunar. Mevcut test senaryolarınızı seçer, çalışma periyodunu belirlersiniz, görevi çalıştıracak makineyi seçer ve bildirimleri yapılandırırsınız.
Canlı uç noktalara karşı gözetimsiz kontroller çalıştırmaya yeni başlıyorsanız, API izleme başlangıç yazısı daha geniş bağlam sunar. Arayüz ayrıntıları için Apidog Zamanlanmış Görevler dokümantasyonunu kullanın.
Not: Zamanlanmış Görevler özelliği şu anda Beta olarak etiketlenmiştir. Kullanabileceğiniz zamanlanmış çalıştırma sayısı planınıza bağlıdır.
Zamanlanmış görevler ne işe yarar?
Apidog'da zamanlanmış görev, bir veya daha fazla kaydedilmiş Test Senaryosunu tekrar eden bir programda çalıştırır. Örnek kullanım alanları:
- Temel API için gece regresyon testi
- Staging ortamında birkaç saatte bir smoke test
- Hafta sonu sağlık taraması
- Ödeme, kimlik doğrulama veya sipariş akışları için üretim kontrolleri
Görev şu bilgileri saklar:
- Çalıştırılacak test senaryoları
- Hedef ortam
- Çalışma sıklığı
- Testleri çalıştıracak Runner
- Başarısızlık durumunda bildirim kanalları
Bu özellik web kazıma veya veri toplama için kullanılan zamanlayıcılardan farklıdır. Sayfa tarama kuralları ya da seçiciler yazmazsınız. Bunun yerine mevcut API test senaryolarınızı çalıştırırsınız:
- İddialar
- Zincirlenmiş istekler
- Çıkarılmış değişkenler
- Test verileri
- İstek ve yanıt kayıtları
Çıktı, kazınmış bir veri kümesi değil; API sözleşmenizin geçme/kalma raporudur.
Başlamadan önce: kendi barındırdığınız bir Runner yapılandırın
Zamanlanmış görevleri çalıştırmadan önce kendi barındırdığınız bir Runner yapılandırmanız gerekir.
Runner, test paketinizi çalıştıran makinedir. Zamanlanmış görev tetiklendiğinde Apidog istekleri masaüstü istemcinizde çalıştırmaz; işi seçtiğiniz Runner'a devreder. Paketteki tüm API istekleri bu makineden gönderilir.
Runner için şunları kullanabilirsiniz:
- CI sunucusu
- Sürekli açık küçük bir sunucu
- Özel sanal makine
- API'nizle aynı ağda çalışan bir makine
Runner'ın belirlediğiniz zamanlarda açık, erişilebilir ve API hedeflerinize ağ üzerinden ulaşabilir olması gerekir.
Runner hedef alanında iki seçenek görebilirsiniz:
- Apidog Cloud — “yakında gelecek” olarak listelenir.
- Kendi barındırdığınız Runner — bugün kullanılabilen seçenek.
Apidog Cloud henüz mevcut olmadığından, zamanlanmış görevler için kendi barındırdığınız Runner'ı seçin.
Runner ağını doğru seçin
İstekler Runner makinesinden gönderildiği için ağ ortamı sonuçları doğrudan etkiler. Örneğin Runner:
- Kurumsal VPN arkasında olabilir.
- Farklı bir bölgede çalışıyor olabilir.
- Güvenlik duvarı bulunan bir alt ağda olabilir.
- API'nize dizüstü bilgisayarınızdan farklı şekilde erişiyor olabilir.
Bu fark genellikle istenen bir durumdur: kullanıcılarınızın veya üretim altyapınızın gördüğü koşulları daha gerçekçi biçimde test edersiniz.
Adım adım zamanlanmış görev oluşturma
Aşağıdaki örnek, kullanıcı kaydı, ürün listeleme, sepet ve Stripe ile ödeme içeren bir e-ticaret API'si için gece regresyon paketi oluşturur.
1. Testler modülünde Zamanlanmış Görevleri açın
Apidog istemcisinde Testler modülünü açın.
Testler klasör ağacında Zamanlanmış Görevler bölümüne tıklayın. Bu ekran, projedeki tüm görevleri görüntüleyip yönetebileceğiniz merkezi alandır.
Buradan şunları takip edebilirsiniz:
- Hangi görevlerin etkin olduğu
- Hangi görevlerin ne zaman çalışacağı
- Hangi ortamların hedeflendiği
- Geçmiş çalıştırma sonuçları
2. Yeni görev oluşturun
Yeni bir zamanlanmış görev oluşturmak için + Yeni seçeneğine tıklayın.
İsterseniz görevleri gruplamak için klasör de oluşturabilirsiniz. Örneğin:
Zamanlanmış Görevler
├── Production
│ ├── Gece regresyonu
│ └── Saatlik sağlık kontrolü
└── Staging
├── 6 saatlik smoke test
└── Sürüm öncesi doğrulama
Göreve anlaşılır bir ad ve açıklama verin:
Görev adı: Gece regresyonu - Production
Açıklama: Kimlik doğrulama, katalog, sepet ve ödeme kritik akışları
Her görevi daha sonra silmeden etkinleştirebilir veya devre dışı bırakabilirsiniz.
3. Çalıştırılacak test senaryolarını seçin
Test Senaryosu alanında göreve dahil edeceğiniz bir veya daha fazla senaryoyu seçin.
E-ticaret örneği için aşağıdaki senaryoları tek görev altında toplayabilirsiniz:
- Kaydol ve giriş yap
- Ürünleri listele ve sepete ekle
- Stripe test kartı ile ödeme yap
Bu yaklaşım kritik kullanıcı yolunu tek bir zamanlanmış çalıştırmada doğrulamanızı sağlar.
Her senaryoda ayrı yürütme ayarları tanımlayabilirsiniz:
- Ortam
- Test verileri
- Yineleme sayısı
- Gecikme
- İstek ve yanıtların kaydedilmesi
Tüm senaryolara aynı ayarları uygulamak istiyorsanız aynı yürütme yapılandırmasını kullan seçeneğini etkinleştirin. Bu seçenek özellikle büyük regresyon paketlerini hızlı ve tutarlı biçimde hazırlamak için kullanışlıdır.
4. Ortamı seçin
Ortam seçimi, zamanlanmış testlerde en kritik yapılandırmalardan biridir.
Örnek kullanım:
| Görev | Ortam |
|---|---|
| Gece üretim monitörü | Production |
| Sürüm öncesi smoke test | Staging |
| Geliştirme doğrulaması | Development |
Tek bir görev içinde farklı senaryolar için farklı ortamlar seçebilirsiniz. Ancak bakım kolaylığı için bir görevi mümkün olduğunca tek bir ortamla sınırlandırmak daha temiz bir yapıdır.
5. Çalışma döngüsünü ayarlayın
Çalıştırma zamanlaması alanında görevin tekrar periyodunu ayarlayın.
Arayüzde bu alan bazı ekranlarda Çalışma Döngüsü veya Çalışma Modu olarak görünebilir. İkisi de aynı ayarı ifade eder.
Belgelenen örnekler şunlardır:
- Her Pazar 23:00
- Her 6 saatte bir
- Her 8 saatte bir
Örnek planlama yaklaşımı:
Gece regresyonu: Her gün 02:00
Staging smoke testi: Her 6 saatte bir
Hafta sonu sağlık taraması: Her Pazar 23:00
Gece regresyonu, mesai başlamadan önce sorunları yakalamanıza yardımcı olur. Staging için daha sık yapılan smoke testleri ise ortamı gereksiz yere yormadan daha hızlı geri bildirim sağlar.
6. Runner'ı seçin
Runner alanında kendi barındırdığınız Runner'ı seçin.
Bu alan bazı ekranlarda tutarsız biçimde Çalıştıran, Çalışır veya Çalışan olarak etiketlenebilir. Hepsi test paketini yürüten makineyi ifade eder.
Birden fazla Runner kaydettiyseniz, API'nize en uygun ağ konumundaki Runner'ı seçin. Örneğin API'niz özel bir VPC içindeyse, aynı VPC içindeki Runner daha gerçekçi sonuç verir.
Test paketindeki tüm istekler burada seçilen makineden gönderilir. Runner'ın API'nize gerçek trafiğe benzer koşullarda erişebildiğinden emin olun.
7. Bildirimleri yapılandırın
Gözetimsiz test çalıştırmalarının amacı, bir şey bozulduğunda sizi hızlıca haberdar etmektir. Bu nedenle Bildirim seçeneğini etkinleştirin.
Apidog şu kanalları destekler:
- Slack
- Teams
- Webhook
- Jenkins
- E-posta
E-posta bildirimlerinde proje üyelerinin adresleri otomatik tamamlanır. Nöbetçi rotasyonu veya ortak ekip gelen kutusu için üye olmayan adresleri de manuel olarak ekleyebilirsiniz.
Bildirim zamanını da seçebilirsiniz:
- Her çalıştırmadan sonra
- Yalnızca başarısızlık olduğunda
Pratik öneri:
| Senaryo | Bildirim tercihi |
|---|---|
| Stabil gece regresyon paketi | Yalnızca başarısızlık |
| Sorunlu dağıtım sonrası izleme | Her çalıştırmadan sonra |
| Kritik ödeme veya giriş akışı | Yalnızca başarısızlık + hızlı bildirim kanalı |
Yalnızca başarısızlık bildirimleri, sağlıklı çalıştırmalarda kanallarınızı sessiz tutar. Her çalıştırma bildirimi ise geçici olarak test işinin gerçekten çalıştığını doğrulamak için yararlı olabilir.
8. Kaydedin ve etkinleştirin
Görevi kaydedin ve etkinleştirme düğmesini açın.
Görev artık belirlediğiniz periyotta çalışır. Planlı bakım, geçici geçiş penceresi veya beklenen gürültülü dönemlerde görevi silmeden devre dışı bırakabilirsiniz.
9. Çalıştırma geçmişini inceleyin
Her çalıştırmadan sonra sonuçlar Runner'dan sunucuya otomatik olarak yüklenir.
Sonuçları görmek için:
Zamanlanmış Görevler → Çalıştırma Geçmişi
Bu bölümde şunları inceleyebilirsiniz:
- Hangi çalıştırmanın geçtiği veya başarısız olduğu
- Hangi iddianın bozulduğu
- Çalıştırmanın zamanı
- Hata ayrıntıları
Slack veya e-posta üzerinden bir uyarı aldığınızda, kök neden analizi için Çalıştırma Geçmişi'ne gidin.
Gelişmiş ayarlar ve varyasyonlar
Değişken kapsamını doğru seçin
Senaryolarınız çalıştırma sırasında veri paylaşıyorsa, Apidog üç paylaşım düzeyi sunar:
Yalnızca mevcut test senaryosunda paylaş
Değişken yalnızca ilgili senaryoda kullanılabilir.Geçerli zamanlanmış görevdeki tüm test senaryolarında paylaş
Aynı görevdeki senaryolar birbirlerinin değerlerini okuyabilir.Geçerli zamanlanmış görev klasöründeki tüm zamanlanmış görevlerde paylaş
En geniş değişken kapsamıdır.
Örneğin giriş senaryosunda alınan erişim belirtecini ödeme senaryosunda kullanmanız gerekiyorsa ikinci seçenek uygun olabilir.
Mümkün olan en dar kapsamı seçin. Böylece bir senaryodaki kimlik doğrulama belirteci veya sipariş kimliği ilgisiz senaryolara sızmaz.
Değişken değerlerini çalıştırmalar arasında saklayın
Değişkenlerin bir çalıştırmadan diğerine taşınması için test senaryosu tasarım sayfasında Değişken değerlerini sakla seçeneğini etkinleştirin.
Bu ayar şu durumlarda gereklidir:
- Önceki çalıştırmadan yakalanan sipariş kimliği kullanılacaksa
- Yenilenmiş belirteç sonraki çalıştırmada gerekiyorsa
- Test akışınız çalıştırmalar arası duruma bağlıysa
Bu seçenek kapalıysa her zamanlanmış çalıştırma temiz başlar.
Klasörlerle görevleri gruplandırın
Paket büyüdükçe Zamanlanmış Görevler altında klasör oluşturun.
Örnek yapı:
Zamanlanmış Görevler
├── Production Monitors
├── Staging Checks
├── Payment Tests
└── Authentication Tests
Klasör düzeyindeki değişken kapsamı, ilişkili görevlerin ortak yapılandırmaları daha düzenli biçimde paylaşmasına yardımcı olur.
Plan limitlerini kontrol edin
Kullanabileceğiniz zamanlanmış çalıştırma sayısı aboneliğinize bağlıdır. Saatlik veya daha sık bir plan oluşturmadan önce plan limitinizi kontrol edin.
Daha ayrıntılı yapılandırmalar için şu kaynaklara bakın:
- Gelişmiş zamanlanmış görevler
- API test senaryolarında koşullu mantık
- CI'da gece API test çalıştırmaları
İş akışını Apidog CLI ile otomatikleştirin
Zamanlanmış Görevler arayüzü tek seçenek değildir. Apidog CLI ile kaydedilmiş bir senaryoyu headless olarak çalıştırabilir, zamanlamayı ise cron veya CI sağlayıcınıza bırakabilirsiniz.
CLI içinde yerel bir zamanlama komutu yoktur. Zamanlama, Apidog dışında; örneğin cron veya GitHub Actions gibi zaten kullandığınız araçta yönetilir.
Önce CLI'ı kurun ve kimlik doğrulamasını tamamlayın. Belirli bir senaryoyu seçilmiş ortama karşı çalıştırmak için aşağıdaki komutları kullanın. Belirteç yapılandırması için Apidog CLI kurulum kılavuzuna bakın.
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
Parametreler:
-
-t: Test senaryosu kimliği -
-e: Ortam kimliği -
-r: Rapor formatı
Rapor formatı olarak cli, html veya junit kullanabilirsiniz. Birden fazla formatı virgülle ayırın.
Cron ile gece çalıştırması
Her gece saat 02:00'de çalıştırmak için cron girdisi ekleyin:
0 2 * * * cd /srv/api-tests && apidog run --access-token $APIDOG_ACCESS_TOKEN -t 4471 -e 88 -r junit >> run.log 2>&1
Bu komut:
-
/srv/api-testsdizinine geçer. - Belirtilen senaryoyu ve ortamı çalıştırır.
- JUnit raporu üretir.
- Standart çıktı ve hata kayıtlarını
run.logdosyasına ekler.
GitHub Actions ile zamanlama
Aynı komutu zamanlanmış bir GitHub Actions işinde de kullanabilirsiniz. Bu durumda JUnit raporu mevcut CI panolarınıza dahil edilebilir.
Cron ve GitHub Actions zamanlama tetikleyicileri dahil tam kurulum için CI/CD işlem hattınızda Apidog CLI rehberine bakın.
SSS
Zamanlanmış testleri bugün Apidog Cloud'da çalıştırabilir miyim?
Henüz değil. Runner hedefinde Apidog Cloud “yakında gelecek” olarak listelenir. Şimdilik çalışan seçenek kendi barındırdığınız Runner'dır.
Önce Runner'ı kaydedin, ardından zamanlanmış görevde bu Runner'ı seçin.
Zamanlanmış görevler ne sıklıkta çalışabilir?
Planınızın izin verdiği sıklıkta çalışabilir. Belgelenen örnekler arasında her 6 saatte bir veya her Pazar 23:00 bulunur.
Ancak toplam zamanlanmış çalıştırma sayısı aboneliğinizle sınırlıdır. Kesin limit için plan bilgilerinizi 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 belirleyin. Ardından Slack, Teams, Webhook, Jenkins veya E-posta kanallarından birini ekleyin.
Daha derin regresyon paketinin yanında hızlı bir canlılık sinyali için hafif bir API sağlık kontrolü de çalıştırabilirsiniz.
Zamanlanmış sonuçlarım neden yerel test çalıştırmalarımdan farklı?
İstekler dizüstü bilgisayarınızdan değil, Runner makinesinden gönderilir. Runner'ın ağı, bölgesi, VPN bağlantısı ve güvenlik duvarı kuralları yanıtları etkileyebilir.
Bu beklenen bir durumdur ve çoğu zaman gerçek kullanıcı koşullarına daha yakın sonuç verir.
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 etkinleştirin.
Bu ayar kapalıysa her zamanlanmış çalıştırma yeni başlar. Çalıştırmalar arası değişken bağımlılıkları bu nedenle başarısız olabilir.
Özet
Zamanlanmış testler, “API'nin çalıştığını düşünüyoruz” yaklaşımını “çalıştığını biliyoruz; çalışmasaydı bildirim alırdık” yaklaşımına dönüştürür.
Başlamak için:
- Test senaryolarınızı oluşturun.
- Kendi barındırdığınız bir Runner kaydedin.
- Çalışma döngüsünü ayarlayın.
- Başarısızlık bildirimleri için Slack veya e-posta bağlayın.
- Çalıştırma geçmişini düzenli olarak inceleyin.
Aynı kontrolleri CI/CD işlem hattında çalıştırmak istediğinizde CLI ve cron, ek bir zamanlama aracı olmadan alternatif yol sunar.
İlk zamanlanmış regresyon paketinizi oluşturmak için Apidog'u indirin. Başlamak ücretsizdir; kredi kartı gerekmez.
Top comments (0)