ReadyAPI Jenkins CI Kurulum Rehberi ve Daha Basit Alternatif

INEZA Felin-Michel

INEZA Felin-Michel

29 April 2026

ReadyAPI Jenkins CI Kurulum Rehberi ve Daha Basit Alternatif

enterprise.banner.title

enterprise.banner.feature1

enterprise.banner.feature2

enterprise.banner.feature3

enterprise.banner.ctaB

Kısaca

Jenkins'te ReadyAPI testlerini çalıştırmak, testrunner komut satırı aracı ve SmartBear Jenkins eklentisi aracılığıyla mümkündür, ancak ReadyAPI'nin build ajanlarına yüklenmesini gerektirir ve sık sık yapılandırma sorunlarına yol açar. Apidog'un CI/CD entegrasyonu, aracı yazılım gereksinimleri ve çalışma başına lisanslama olmaksızın, basit bir npm ile yüklenen CLI aracılığıyla çalışır.

💡
Apidog, ek lisanslama gerektirmeden Jenkins, GitHub Actions ve diğer pipeline'lara entegre olan hafif bir CLI çalıştırıcısına sahip ücretsiz, hepsi bir arada bir API geliştirme platformudur. Apidog'u ücretsiz deneyin, kredi kartı gerekmez.
düğme

Giriş

API testlerini bir CI/CD pipeline'ına entegre etmek, bir test ekibinin yapabileceği en değerli şeylerden biridir. Kodun hazırlık veya üretim ortamına ulaşmadan önce her bir çekme isteğinde regresyonları yakalamak, kurulum çabasına değer.

ReadyAPI, Jenkins entegrasyonunu iki mekanizma aracılığıyla destekler: komut satırı testrunner aracı ve resmi SmartBear Jenkins eklentisi. Her ikisi de çalışır, ancak her biri karmaşıklık içerir. Bu kılavuz, ReadyAPI'yi Jenkins ile nasıl kuracağınızı, karşılaşacağınız yaygın sorunları ve Apidog'un daha az altyapı yüküyle aynı pipeline entegrasyonunu nasıl sağladığını kapsar.

Jenkins'te ReadyAPI Kurulumu: testrunner Yaklaşımı

testrunner, ReadyAPI'nin komut satırı yürütme motorudur. Jenkins, ReadyAPI testlerini arayüzsüz (headless) çalıştırması gerektiğinde, bir proje dosyasına işaret eden argümanlarla testrunner'ı çağırır.

Önkoşullar:

ReadyAPI, API testlerini çalıştıran her Jenkins aracısına yüklenmelidir. Bu, en büyük operasyonel gereksinimdir. Beş build aracınız varsa ve ReadyAPI testleri bunlardan herhangi birinde çalışıyorsa, beşinin de ReadyAPI yüklü olması gerekir. Bu durum şunları yaratır:

Temel testrunner komutu:

Linux/macOS üzerinde:

/path/to/ReadyAPI/testrunner.sh \
  -r \
  -f /path/to/results \
  -s "TestSuiteName" \
  -c "TestCaseName" \
  /path/to/project.xml

Windows üzerinde:

C:\ReadyAPI\testrunner.bat ^
  -r ^
  -f C:\results ^
  -s "TestSuiteName" ^
  -c "TestCaseName" ^
  C:\projects\project.xml

Başlıca testrunner bayrakları:

Jenkins pipeline adımı:

Bir Jenkinsfile'da:

stage('API Tests') {
  steps {
    sh '''
      /opt/readyapi/testrunner.sh \
        -r \
        -f ${WORKSPACE}/test-results \
        -e ${ENVIRONMENT} \
        ${WORKSPACE}/project.xml
    '''
    junit 'test-results/*.xml'
  }
}

junit adımı, sonuçları Jenkins'e yayınlar, böylece hatalar build raporunda görünür.

SmartBear Jenkins Eklentisini Kullanma

SmartBear, Jenkins eklenti dizininde bulunan ReadyAPI için bir Jenkins eklentisini sürdürmektedir. Eklenti, shell komutlarını manuel olarak yazmanızı gerektirmek yerine Jenkins UI'sında bir build adımı sağlar.

Yüklemek için:

  1. Jenkins > Jenkins'i Yönet > Eklenti Yöneticisi'ne gidin.
  2. "SmartBear ReadyAPI Functional Testing" arayın.
  3. Yükleyin ve Jenkins'i yeniden başlatın.

Kurulumdan sonra, ReadyAPI kurulum yolunu Jenkins genel ayarlarında yapılandırır, ardından build adımları açılır menüsünden seçerek build işinize bir ReadyAPI test adımı eklersiniz.

Eklenti, argüman yapımını sizin için halleder ve sonuçları Jenkins'in test raporlamasına entegre eder. Groovy pipeline scriptlerine göre GUI yapılandırmasını tercih eden ekipler için eklenti, kurulum süresini azaltır.

Eklenti sınırlamaları: Eklenti, belirli Jenkins sürümlerine ve ReadyAPI sürümlerine bağlıdır. Eklenti güncellemeleri, hem ReadyAPI sürümlerinin hem de Jenkins sürümlerinin gerisinde kalır. En son ReadyAPI'yi kullanan ekipler, bir eklenti güncellemesini beklemeyi gerektiren uyumluluk sorunlarıyla karşılaşabilir.

Yaygın Jenkins + ReadyAPI Sorunları

Testrunner başlangıçta takılıyor. ReadyAPI bir Java/Swing uygulamasıdır. CI'da arayüzsüz olarak başlatıldığında, bazen GUI bileşenlerini başlatmaya çalışır. Bu sorunla karşılaşırsanız, DISPLAY ortam değişkenini ayarlayın veya -Djava.awt.headless=true JVM argümanlarını kullanın.

Lisans doğrulama hataları. ReadyAPI, başlangıçta lisansını doğrular. CI aracısı SmartBear'ın lisans sunucusuna ulaşamazsa (kısıtlı kurumsal ağlarda yaygındır), testler bir test hatası yerine lisans hatasıyla başarısız olur. Ya yüzen lisans sunucusu ayarlarını ya da çevrimdışı lisanslamayı yapılandırmanız gerekir.

Bellek dışı hatalar. testrunner'daki varsayılan JVM yığın ayarları muhafazakardır. Büyük test paketleri veya birçok veri dosyası içeren projeler, -Xmx ayarlarının ayarlanmasını gerektirebilir. Yığını artırmak için testrunner.sh veya testrunner.bat dosyasını düzenleyin:

-Xms128m -Xmx1024m

Proje dosyalarıyla ilgili yol sorunları. ReadyAPI projeleri, dış dosyaları (veri kaynakları, şemalar, komut dosyaları) yollar kullanarak referans alır. CI'da çalıştırıldığında, göreceli yollar yalnızca çalışma dizini doğru ayarlanmışsa çalışır. Proje dosyalarındaki mutlak yollar, proje makineler arasında taşındığında sorunlara neden olur. Yollar için proje özelliklerini kullanın ve bunları çalışma zamanında -P bayrakları aracılığıyla ayarlayın.

Testler yerel olarak geçiyor ancak CI'da başarısız oluyor. Genellikle ortam farklılıklarından kaynaklanır: dış dosyalarda farklı veriler, farklı ortam değişkeni değerleri veya sabit kodlanmış yollar. testrunner -e argümanında açık ortam seçimi ile ReadyAPI'nin Ortam özelliğini kullanın.

Apidog Jenkins Entegrasyonu: Daha Basit Bir Yaklaşım

Apidog'un CLI çalıştırıcısı npm aracılığıyla yüklenir ve build aracısında bir masaüstü uygulaması gerektirmez.

Jenkins aracısına kurulum:

npm install -g apidog-cli

Veya bir pipeline adımında:

npm ci
# apidog-cli is in devDependencies

Bir Jenkinsfile'da testleri çalıştırma:

stage('API Tests') {
  steps {
    sh '''
      apidog run \
        --collection ${WORKSPACE}/apidog-collection.json \
        --environment staging \
        --reporter junit \
        --reporter-junit-export ${WORKSPACE}/results/report.xml
    '''
    junit 'results/report.xml'
  }
}

ReadyAPI'den başlıca farklılıklar:

Aracılarda masaüstü uygulaması yok. Apidog CLI, hafif bir Node.js paketidir. Dakikalar değil, saniyeler içinde yükleyin. GUI başlatma sorunları yok, lisans sunucusu bağlantı gereksinimleri yok.

Çalışma başına lisanslama endişesi yok. Apidog, CI yürütmesi başına ücret almaz. Pipeline'ınızın gerektirdiği kadar günde çok sayıda test döngüsü çalıştırın.

Ortam değişkenleri veya bayraklar aracılığıyla ortam yapılandırması. Jenkins kimlik bilgileri deposundan doğrudan ortam değişkenleri olarak kimlik bilgilerini ve temel URL'leri geçirin:

withCredentials([string(credentialsId: 'api-key', variable: 'API_KEY')]) {
  sh 'apidog run collection.json -e production --env-var "apiKey=${API_KEY}"'
}

GitHub Actions karşılaştırması:

GitHub Actions kullanan ekipler için de Apidog yaklaşımı aynı derecede temizdir:

- name: Run API tests
  run: |
    npm install -g apidog-cli
    apidog run collection.json --environment staging
  env:
    API_BASE_URL: ${{ vars.STAGING_URL }}
    API_KEY: ${{ secrets.API_KEY }}

ReadyAPI eşdeğeri, ReadyAPI yüklü kendi kendine barındırılan bir çalıştırıcıyı veya karmaşık bir Docker görüntü build'ini gerektirir. Hiçbiri bu kadar basit değildir.

CI/CD'yi ReadyAPI'den Apidog'a Geçirme

Test paketinizi taşıyorsanız ve CI/CD yapılandırmanızı aynı anda güncellemeniz gerekiyorsa:

  1. API tanımlarınızı ReadyAPI'den dışa aktarın ve Apidog'a aktarın.
  2. Apidog CLI'yı Jenkins ajanlarınıza yükleyin.
  3. Mevcut ReadyAPI adımının yanı sıra pipeline'ınıza bir Apidog test adımı ekleyin.
  4. Her ikisini de paralel olarak çalıştırın. Başarısızlık oranlarını ve test kapsamını karşılaştırın.
  5. Apidog'un kapsamına güvendiğinizde ReadyAPI adımını kaldırın.
  6. Bir sonraki ajan görüntüsü yenilemesi sırasında ReadyAPI'yi build ajanlarından kaldırın.

Sıkça Sorulan Sorular

ReadyAPI'nin testrunner'ı ayrı bir CI lisansı gerektiriyor mu? SmartBear'ın CI/CD kullanımı için lisanslama politikası sözleşmeye göre değişir. Bazı anlaşmalar standart lisans kapsamında CI/CD yürütme haklarını içerirken; diğerleri ayrı bir anlaşma gerektirir. CI çalışmalarının kapsandığını varsaymadan önce sözleşmenizi kontrol edin veya SmartBear hesap yöneticinizle iletişime geçin.

ReadyAPI testleri Docker konteynerlerinde çalıştırılabilir mi? Evet, çabayla. ReadyAPI yüklü bir Docker görüntüsü oluşturabilir ve bunu bir Jenkins aracı konteyneri olarak kullanabilirsiniz. Görüntü büyüktür (ReadyAPI bir masaüstü uygulamasıdır) ve arayüzsüz yapılandırma gerektirir. Çalışır, ancak konteynerleştirilmiş CI ortamları için oluşturulmuş araçlara kıyasla karmaşıklık ekler.

Apidog, Jenkins'te paralel test yürütmeyi destekliyor mu? Evet. Birden fazla Apidog CLI örneğini paralel Jenkins aşamalarında çalıştırabilirsiniz, her biri farklı bir koleksiyonu veya ortamı çalıştırır. Paralel yürütme, Apidog CLI aracılığıyla değil, Jenkinsfile'ınız aracılığıyla kontrol edilir.

Apidog, Jenkins için hangi test raporu formatını üretir? Apidog'un CLI'ı, Jenkins'in doğal olarak ayrıştırdığı ve test sonuçları bölümünde görüntülediği JUnit XML raporları üretebilir. Format, ReadyAPI'nin testrunner'ının ürettiğiyle aynıdır.

Apidog test scriptleri CLI çalıştırıcısıyla aynı süreçte mi çalışır? Evet. JavaScript test scriptleri, Apidog CLI'nın Node.js süreci içinde yürütülür. Yapılandırılacak ayrı bir script yürütme ortamı yoktur.

Resmi bir Apidog Jenkins eklentisi var mı? Apidog CLI, Jenkins'te özel bir eklenti gerektirmeyen bir shell adımı olarak çalışır. Bu yaklaşım, Jenkins veya Apidog yeni sürümleri yayınladığında güncellenmesi gereken eklenti tabanlı entegrasyonlardan daha kolay sürdürülebilir.

ReadyAPI'nin Jenkins entegrasyonu çalışır, ancak önemli altyapı yönetimi gerektirir. Kapsamlı API test kapsamını korurken CI/CD kurulumlarını basitleştirmek isteyen ekipler için Apidog'un CLI yaklaşımı, en yaygın sorun noktalarını ortadan kaldırır: aracı yazılım gereksinimleri, lisans sunucusu bağımlılıkları ve karmaşık ortam yapılandırması.

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

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