Cypress ile İlk Adım: Giriş ve Temel Bilgiler

Cypress Nedir ?

Cypress, web uygulamalarının regresyon testi için kullanılan bir frontend test otomasyon aracıdır. Windows, Linux ve macOS işletim sistemlerinde çalışabilen Cypress, MIT Lisansı altında açık kaynaklı bir yazılım olarak sunulmaktadır. Ayrıca, Cypress Cloud adında bir web uygulaması da bulunmaktadır. Cypress, geliştiricilerin ve QA ekiplerinin web uygulamalarının kullanıcı gözünden davranışlarını test etmelerine yardımcı olur. Genellikle JavaScript ile yazılır.

Cypress’in Özellikleri

  • Gerçek tarayıcıda test çalıştırır (Chrome, Edge, Firefox gibi).

  • Hızlıdır ve interaktiftir: Testler anlık olarak tarayıcıda çalıştırılır ve sonuçları canlı olarak görürsünüz.

  • Kolay kurulum: Tek bir komutla kurulabilir (npm install cypress).

  • Zengin GUI (Graphical User Interface) desteği vardır.

  • Snapshot (ekran görüntüsü) ve video kaydı alabilir.

  • Otomatik bekleme (wait) mekanizması sayesinde elementin görünmesini bekler.

  • API testleri de yapılabilir.

Cypress Avantajları

  • 🚀 Hızlı ve gerçek zamanlı test çalıştırma

  • 👀 Canlı önizleme ve hata ayıklama kolaylığı

  • ⏱️ Otomatik bekleme (bekleme yazmak zorunda değilsin)

  • 💻 Gerçek tarayıcıda test (Chrome, Firefox, Edge destekli)

  • 🧪 Screenshot/video alma özelliği

Cypress ile Yapılabilecek Test Türleri

Test TürüAçıklama
✅ End-to-End TestKullanıcı akışlarını baştan sona test eder
✅ Integration TestUygulama bileşenlerinin birlikte çalışmasını test eder
✅ Unit TestTekil bileşen veya fonksiyonları test eder
✅ API Testcy.request() ile backend endpoint'lerini test eder

Cypress Kısıtlamaları

  • Sadece Chrome-tabanlı tarayıcılar ve Firefox destekleniyor.

  • Multi-tab (çok sekmeli) testler desteklenmiyor.

  • Mobil uygulama (native) testleri için uygun değil.

🚀 Cypress Kurulumu

  npm install cypress --save-dev
  npx cypress open
  • İlk komut Cypress’i yükler. İkinci komut ise Cypress GUI test runner’ı açar.

Cypress Klasör Yapısı (varsayılan)

/cypress
  /e2e           → Test dosyaları buraya yazılır
  /fixtures      → Test verileri (JSON, vs.)
  /support       → Ortak fonksiyonlar, setup dosyaları

Cypress Kullanımına Basit Bir Örnek

describe('Google Arama Testi', () => {
  it('Google ana sayfasını ziyaret eder ve arama yapar', () => {
    cy.visit('https://www.google.com');
    cy.get('input[name="q"]').type('Cypress nedir?{enter}');
    cy.contains('Cypress').should('be.visible');
  });
});
0
Subscribe to my newsletter

Read articles from Şeyma Nur Aksoy directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Şeyma Nur Aksoy
Şeyma Nur Aksoy