Keploy Nedir? Kaydet ve Tekrar Oynat API Testleri

Keploy nedir? eBPF kayıt ve tekrar motorunun API testlerini ve sahte verileri (mocks) otomatik olarak nasıl oluşturduğunu, keploy record ve test komutlarını ve dürüst sınırlamalarını öğrenin.

Ashley Goolam

Ashley Goolam

17 June 2026

Keploy Nedir? Kaydet ve Tekrar Oynat API Testleri

enterprise.banner.title

enterprise.banner.feature1

enterprise.banner.feature2

enterprise.banner.feature3

enterprise.banner.ctaB

API testlerini elle yazmadan elde etmenin bir yolunu aradıysanız, muhtemelen Keploy ile karşılaşmışsınızdır. Neredeyse kulağa fazla uygun gelen bir şey vadediyor: çalışan uygulamanıza yöneltin, gerçek trafiği izlemesine izin verin ve bir test paketiyle ayrılın. Peki Keploy perde arkasında aslında ne yapıyor ve test yığınızda nereye uyuyor?

Bu kılavuz, Keploy'un ne olduğunu, kaydet-ve-oynat motorunun eBPF ağ katmanında nasıl çalıştığını, sunduğu iki iş akışını, nasıl kurulacağını ve çalıştırılacağını ve onu benimsemeden önce bilmeniz gereken dürüst sınırlamaları açıklıyor.

düğme

Keploy Nedir

Keploy, API, entegrasyon ve uçtan uca testler için güvenli, izole üretim sanal alanları oluşturmaya yönelik açık kaynaklı (Apache-2.0 lisanslı) bir platformdur. Temel fikir, gerçek uygulamanızın zaten test etmek istediğiniz davranışı sergilemesidir. Keploy, bu davranışı test kodunda açıklamanızı istemek yerine, onu gözlemler ve tekrarlanabilir testlere dönüştürür.

Bunu yapmanın iki yolunu sunar:

  1. Kaydet ve tekrar oynat gerçek API etkileşimlerini ve bağımlılıklarını yakalar, ardından bunları deterministik olarak tekrar oynatır.
  2. Yapay zeka test üretimi, bir özellikten, bir koleksiyondan, bir cURL komutundan veya canlı bir uç noktadan doğrulanmış API test paketleri oluşturur.

Her ikisi de çalıştırılabilir testler ve canlı bağımlılıklara dokunmadan bunları çalıştırmak için gereken mock'ları üretir. Proje açık kaynaktır, böylece kodu okuyabilir ve kendi sunucunuzda barındırabilirsiniz. Depo github.com/keploy/keploy adresinde bulunur ve resmi belgeler keploy.io/docs adresindedir.

Keploy kaydı eBPF katmanında nasıl çalışır

Keploy'u farklı kılan kısım burasıdır. keploy record komutunu çalıştırdığınızda, sizden bir SDK eklemenizi veya uygulamanızın tek bir satırını değiştirmenizi istemez. Programların sistem olaylarını güvenli bir şekilde gözlemlemesine ve üzerinde hareket etmesine olanak tanıyan bir Linux çekirdek teknolojisi olan eBPF kullanarak trafiği ağ katmanında yakalar.

Bunun pratikte size sağladıkları şunlardır:

Bu son nokta önemlidir. Keploy bir isteği kaydettiğinde, tam resmi yakalar: API isteği, API yanıtı ve aradaki tüm bağımlılık çağrıları. Daha sonra bu tek gözlemlenen etkileşimden iki yapıt yazar:

Tekrar oynatma döngüyü kapatır. keploy test komutunu çalıştırdığınızda, kaydedilen istekleri uygulamanıza geri gönderir, yakalanan bağımlılık yanıtlarını oluşturulan mock'lardan sunar ve yeni yanıtları kaydedilenlerle karşılaştırır. Bir uyumsuzluk, bir şeyin değiştiği anlamına gelir. Yaklaşıma bu yüzden kaydet ve tekrar oynat denir: gerçek çalışma zamanı davranışını bir kez kaydedersiniz, ardından her değişiklikte bir regresyon testi olarak deterministik bir şekilde tekrar oynatırsınız.

İki Keploy iş akışı

Kaydet ve tekrar oynat

Çalışan bir uygulamanız olduğunda ve hızlı regresyon kapsamı istediğinizde bunu kullanın. Uygulamayı Keploy altında çalıştırırsınız, gerçek bir kullanıcı veya istemcinin yapacağı şekilde kullanırsınız (manuel çağrılar, mevcut bir entegrasyon testi veya canlı trafik) ve Keploy her etkileşimi bir test artı mock'ları olarak saklar. Daha sonraki çalıştırmalar bu etkileşimleri tekrar oynatır ve herhangi bir davranışsal sapmayı işaretler.

Yapay zeka test üretimi

Manuel kullanımınızın ürettiğinden daha geniş kapsam istediğinizde veya çalışan bir akıştan ziyade bir sözleşmeden başladığınızda bunu kullanın. Keploy, bir OpenAPI özelliğinden, bir Postman koleksiyonundan, bir cURL komutundan veya canlı bir uç noktadan doğrulanmış API test paketleri oluşturabilir. Bağımlılıkları otomatik olarak mock'lar ve gereksiz durumlarla kalmamanız için otomatik bir temizleme işlemi yapar.

İki iş akışı birbirini tamamlar. Kaydet ve tekrar oynat testleri gerçek gözlemlenen davranışlara dayandırır; yapay zeka test üretimi, özelliklerinizdeki boşlukları doldurur. Bir şemadan testler üreten araçları değerlendiriyorsanız, yapay zeka test durumu üreticileri hakkındaki derlememiz ve OpenAPI'den test betikleri oluşturma kılavuzu iyi yardımcılar olacaktır.

Keploy Kurulumu

Keploy bir yükleme betiği gönderir. Desteklenen bir sistemde şunu çalıştırırsınız:

curl --silent -O -L https://keploy.io/install.sh && source install.sh

Bu, ikili dosyayı getirir ve keploy komutunu kurar. Buradan her şeyi iki komut aracılığıyla yönetirsiniz.

Temel Keploy Komutları

En çok kullanacağınız iki komut vardır. İlki kaydeder:

keploy record -c "UYGULAMAYI_ÇALIŞTIR_KOMUTU"

Uygulamanızı başlatan tam komutu -c aracılığıyla iletirsiniz. Keploy uygulamanızı başlatır, siz onu kullanırken trafiği izler ve yakalanan test durumlarını ve mock'ları kaydeder.

İkincisi tekrar oynatır:

keploy test -c "UYGULAMAYI_ÇALIŞTIR_KOMUTU" --delay 10

--delay 10 bayrağı, Keploy'a kaydedilen istekleri göndermeye başlamadan önce on saniye beklemesini söyler, bu da daha yavaş bir hizmete tekrar oynatma başlamadan önce önyüklemeyi bitirmek için yeterli zaman verir. Uygulamanızın başlaması daha uzun sürerse, sayıyı artırın; hızlı başlıyorsa, azaltabilirsiniz.

Tipik bir ilk oturum şöyle görünür:

# 1. API'nize vururken kaydedin
keploy record -c "node server.js"

# 2. Yakalanan durumları tekrar oynatın ve sapmayı kontrol edin
keploy test -c "node server.js" --delay 10

Tüm döngü budur. Bilinen iyi bir derlemeye karşı bir kez kaydedin, ardından her değişiklikte CI'da keploy test komutunu çalıştırın.

Desteklenen diller, protokoller ve veri depoları

Yakalama ağ katmanında gerçekleştiği için Keploy geniş bir yüzeyi kapsar:

Kategori Desteklenen
Diller Go, Java, Node.js, Python, Rust, C#, C/C++, TypeScript ve daha fazlası
Protokoller HTTP/REST, gRPC, GraphQL, Kafka, RabbitMQ
Veri Depoları PostgreSQL, MySQL, MongoDB, Redis

Genişlik, eBPF tasarımının doğrudan bir sonucudur. Keploy ağ konuşmalarını okuyor, bu nedenle yeni bir dil veya çerçeve, bu protokollerden birini konuştuğu sürece yeni bir eklentiye ihtiyaç duymaz.

Keploy'u CI'da çalıştırma

Her iki komut da otomasyon için yapılmıştır. Bir işlem hattında, kaydedilen test durumlarını ve mock'ları kodunuzla birlikte commit edersiniz, ardından keploy test -c "..." komutunu bir adım olarak çalıştırırsınız. Mock'lar gerçek bağımlılıkların yerine geçtiği için, tekrar oynatma CI çalıştırıcısında canlı bir veritabanına veya aşağı akış hizmetine ihtiyaç duymaz, bu da işi hızlı ve deterministik tutar. Başarısız bir tekrar oynatma, bir birim testinin başarısız olması gibi derlemeyi başarısız kılar.

Dürüstçe Değerlendirilecek Sınırlamalar

Keploy yaptığı işte güçlüdür, ancak her durum için uygun değildir. Adil bir değerlendirme, ödünleri de içerir:

Bunların hiçbiri Keploy'a karşı bir eleştiri değildir. Bunlar, kategorisinin doğal sınırlarıdır. Bunları bilmek, sorununuzu mu yoksa sadece bir kısmını mı çözdüğüne karar vermenize yardımcı olur.

Apidog'un tasarlanmış test alternatifi olarak konumu

İhtiyacınız "gözlemlenen trafiği regresyon testlerine dönüştür" den daha genişse, tam yaşam döngüsü platformlarına bakmaya değer. Apidog, tasarım, hata ayıklama, mock oluşturma, dokümantasyon ve testi tek bir yerde kapsayan hepsi bir arada bir API platformudur. Felsefedeki fark, anlaşılması gereken anahtardır, çünkü Apidog ve Keploy farklı kategorilerde yer almaktadır.

Keploy, bağımlılık mock'ları dahil olmak üzere gerçek çalışma zamanı davranışını kodsuz olarak yakalar ve tekrar oynatır. Apidog ise tam tersi bir yol izler: bakımı yapılabilir test senaryolarını tasarlar ve yazarsınız, ardından bunları terminalden ve CI'dan Apidog CLI ile çalıştırırsınız. CLI, yazdığınız koleksiyonları CSV veya JSON aracılığıyla veri odaklı test, ortam değiştirme ve CLI, HTML ve JSON raporları ile çalıştırır. Apidog ayrıca, uygulamanın içinde yazılan API şemanızdan ve uç noktalarınızdan yapay zeka destekli test durumu üretimi sunar, bu da iki aracın çakıştığı noktadır.

Sınırı açıkça belirtmek gerekirse: Apidog, eBPF aracılığıyla canlı trafiği yakalamaz ve üretim çağrılarını ve bağımlılık mock'larını kaydederek testleri otomatik olarak üretmez. Bu gerçek trafikten kayıt yeteneği gerçekten Keploy'a aittir. Dürüst çerçeveleme, işe göre seçim yapmanız gerektiğidir. Sıfır kodla çalışma zamanı yakalama ve tekrar oynatma istediğinizde Keploy'a yönelin. API yaşam döngüsünün geri kalanını da halleden bir platformda tasarlanmış, bakımı yapılabilir test paketleri istediğinizde Apidog'a yönelin. Daha derinlemesine bir karşılaştırma için Apidog vs Keploy makalesine bakın ve geçiş yapmaya karar verdiyseniz, geçiş kılavuzu testlerinizi taşımayı kapsar.

Eğer bakımı yapılabilir, yazılmış API testleri arıyorsanız, Apidog'u indirebilir ve Apidog ile bir API'yi test etme kılavuzuyla başlayabilirsiniz.

Sıkça Sorulan Sorular

Keploy ücretsiz ve açık kaynak mı? Evet. Keploy, Apache-2.0 lisansı altında açık kaynaktır ve kodu GitHub'dadır. Kendi sunucunuzda barındırabilirsiniz.

Keploy uygulamamın kodunu değiştirmeyi gerektiriyor mu? Hayır. Kaydet-ve-tekrar oynat iş akışı, trafiği eBPF ağ katmanında yakalar, bu nedenle eklenecek bir SDK veya kod değişikliği yoktur. Bu aynı zamanda birçok dilde çalışmasının nedenidir.

keploy test içindeki --delay bayrağı ne işe yarar? Keploy'un kaydedilen istekleri göndermeden önce kaç saniye bekleyeceğini ayarlar, uygulamanızın önyükleme yapmasına zaman tanır. --delay 10 on saniye bekler; yavaş başlayan hizmetler için bunu artırın.

Keploy, testler sırasında veritabanımı mock'layabilir mi? Evet. Bir etkileşimi kaydettiğinde, bağımlılık çağrılarını (veritabanı sorguları gibi) da yakalar ve onlar için mock'lar yazar, böylece tekrar oynatmalar canlı bir veritabanı olmadan çalışır.

Keploy, bir API tasarım ve dokümantasyon aracının yerine geçer mi? Hayır. Keploy bir test ve test üretme aracıdır. API tasarımı, dokümantasyon, tüketiciler için mock oluşturma ve testle birlikte işbirliği için, Apidog gibi tam yaşam döngüsü platformu daha uygundur.

Kısa versiyon

Keploy, gerçek API davranışını testlere dönüştüren açık kaynaklı bir araçtır. Kaydet ve tekrar oynat motoru, eBPF kullanarak istekleri, yanıtları ve bağımlılık çağrılarını ağ katmanında kod değişikliği olmadan yakalar, ardından bunları deterministik regresyon testleri olarak tekrar oynatır. Yapay zeka test üretimi, bir spesifikasyondan veya uç noktadan paketler oluşturur. Linux'a eğilimli bir yakalama modeli, gözden geçirme gerektiren testler ve testle sınırlı bir kapsamın getirdiği ödünleşmelerle birlikte hızlıca benimsenebilir ve dilden bağımsızdır. Tam bir API platformu içinde yazılmış, bakımı yapılabilir test paketleri istiyorsanız, Apidog karşılaştırmak için alternatiftir.

düğme

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

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