Cypress İpuçları #0: Girizgâh

Tuğsan Ünlü
2 min readOct 20, 2021
cypress

Zaman içerisinde burada yazdığım yazıların birbirleriyle ilintili olduğunu fark edince onları seriler hâline getirmeye karar verdim. Bu sayede JavaScript ES6+ İpuçları, Webpack İpuçları, Axios İpuçları gibi seriler oluşmaya başladı. Fakat başlangıçta bu yazıların seri olacağını planlamadığım için konularına girizgâh yapma imkânım da olmadı.

X Nedir? gibi tanıma dayalı kitabi yazılar yazmak yerine gündelik ihtiyaçlara yanıt veren çözümler ve deneyim temalı yazılar yazmayı seviyorum. O yüzden yazılara ilk olarak motivasyon bölümünde ihtiyacı tanımlayarak başlamaya özen gösteriyorum. Fakat tanım kısmını hızlı geçmemin, yazıların içeriğinin uzamasına ve konularından sapmasına neden olduğunu da fark ettim zaman içerisinde. O nedenle en azından seri olarak başladığım yazılara girizgâh mahiyetinde bir 0. yazı yazmak iyi fikir gibi geldi. Başlıktan da anlaşılacağı üzere yeni seri Cypress üzerine olacak.

Cypress

Cypress, web uygulamaları için uçtan uca testler (end to end — E2E) yazmayı sağlayan bir JavaScript çatısı. Node.js üzerinde çalışan Cypress ile yazdığımız senaryolar sayesinde bir son kullanıcının yapabileceği tüm işlemleri tarayıcıların da yetenekleri dahilinde simüle edebiliyoruz.

Cypress tanıtım videosu

Cypress’in öne çıkan özelliklerini kısaca özetlemek gerekirse;

  • Node.js üzerinde çalışması,
  • Selenium bağımlılığının olmaması,
  • Test senaryolarının tamamen JavaScript ile yazılması,
  • Dahili olarak bir iddia (assertion) kütüphanesi barındırması,
  • Debug için görsel bir test runner aracı sunması,
  • Headless tarayıcılar ile CI süreçlerine dahil olması,
  • Testler esnasında ekran görüntüsü ve video kaydı yapabilmesi,
  • Zengin API ve tarayıcı desteği,
  • Hızlı bir şekilde kullanıma hazır hâle gelmesi

sayılabilir.

Sonuç

Kendini tekrar eden ve senaryolaştırılabilen operasyonları otomatize etmek için Cypress harikulade çözümler sunuyor. Yeteneklerinin tamamına web sitesindeki dokümantasyondan erişilebilir. Ben bu seride yine Cypress’e dair gündelik hayat pratiklerini paylaşacağım. Bir sonraki yazıda, aynı test senaryolarını farklı ortamlarda (development, test, staging, production vb.) koşturmak için ortam tanımlamak ve ortam değişkenleri kullanmaktan bahsedeceğim. Keyifli bir seri olacağı kanaatindeyim.

Kaynaklar

Cypress serisindeki bir sonraki yazı: Cypress İpuçları #1: Ortam Tanımlamak ve Ortam Değişkenleri Kullanmak

--

--