Cypress
- Okunuşu
- saypırıs
Kısaca
Cypress, web uygulamalarının uçtan uca ve bileşen testlerini tarayıcıda yürüten, otomatik bekleme ve etkileşimli çalıştırıcı sunan JavaScript framework'üdür.
Cypress nedir?
Cypress 2017'de yayımlandı ve ön yüz geliştiricileri arasında hızla popüler oldu. Tarayıcıyı dışarıdan kontrol eden araçların aksine Cypress test kodunu uygulamayla aynı tarayıcıda çalıştırır; bu da ona sayfaya, ağ isteklerine ve uygulamanın kendi nesnelerine doğrudan erişim verir ve testleri hızlı ve hata ayıklaması kolay yapar.
cy.get(".cart").should("contain", "2 items") gibi komutlar geçene ya da süreleri dolana kadar otomatik olarak yeniden denenir; bu yüzden testler nadiren elle beklemeye ihtiyaç duyar. Etkileşimli çalıştırıcı, uygulamayı komutların bir kaydının yanında gösterir; bir adımın üzerine gelmek de sayfanın o andaki bir anlık görüntüsünü gösterir. cy.intercept ağ isteklerini sahteleyebilir ya da izleyebilir; bileşen testi de React, Vue, Angular ya da Svelte bileşenlerini yalıtılmış olarak bağlar (mount).
Testler JavaScript ya da TypeScript ile yazılır ve Chrome tabanlı tarayıcılarda, Firefox'ta ve WebKit'te, yerelde ya da CI'da çalışır. Ücretli bir servis olan Cypress Cloud, ücretsiz ve açık kaynaklı test çalıştırıcısının üzerine paralel çalıştırmalar, kayıtlar ve kararsız test analitiği ekler.
Sık yapılan bir yanlış, Cypress'in bir kullanıcının yapabildiği her şeyi test edebileceğini düşünmektir. Tarayıcının içinde çalışmak bazı sınırlar getirir: birden çok tarayıcı sekmesini kontrol etmez ve tek bir testte birkaç site arasında test yapmak özel komutlar gerektirir. Birden çok sekmeye, birkaç tarayıcı bağlamına ya da JavaScript dışında dillere ihtiyaç duyan ekipler çoğu zaman onun yerine Playwright'ı seçer.
Önemli noktalar
- Cypress, uçtan uca ve bileşen testleri için bir JavaScript framework'üdür.
- Testleri uygulamanın yanında, tarayıcının içinde çalıştırır.
- Komutlar otomatik olarak yeniden denenir; bu yüzden elle bekleme nadiren gerekir.
- Etkileşimli çalıştırıcı her adım için anlık görüntüler gösterir.
- Birden çok sekmeyi ele almaz; Playwright yaygın bir alternatiftir.
Örnek
describe("cart", () => {
it("shows items added from the product page", () => {
cy.intercept("GET", "/api/products/42", { fixture: "product.json" }); // stub the API
cy.visit("/products/42");
cy.contains("button", "Add to cart").click();
cy.contains("button", "Add to cart").click();
cy.get("[data-test=cart-count]").should("have.text", "2"); // retries until true
cy.get("[data-test=cart-link]").click();
cy.url().should("include", "/cart");
});
});Sık sorulan sorular
Cypress mi Playwright mı?
İkisi de moderndir ve otomatik bekler. Cypress çok kullanıcı dostu bir etkileşimli çalıştırıcı sunar ve tarayıcının içinde çalışır. Playwright ise birden çok sekmeyi ve bağlamı, daha fazla dili ve ücretli bir servise gerek kalmadan paralel çalıştırmayı destekler. Birçok yeni proje Playwright'ı seçiyor, Cypress ise ön yüz ekipleri arasında popüler olmaya devam ediyor.
Cypress ücretsiz mi?
Evet. Cypress test çalıştırıcısı açık kaynaklı ve ücretsizdir. Kayıt, paralelleştirme ve analitik ekleyen Cypress Cloud ise ücretsiz bir katmanı olan ücretli bir servistir.
Cypress bileşen testi nedir?
Bir React ya da Vue bileşeni gibi tek bir ön yüz bileşenini gerçek bir tarayıcıda bağlayıp bütün uygulamayı çalıştırmadan yalıtılmış olarak test etmektir.
Sık karşılaştırılanlar
İlgili sayfalar
- Uçtan Uca TestTest ve Kalite, s. 35Uçtan uca test, kullanıcı arayüzünden veritabanına ve geri dönüşe kadar tam bir kullanıcı yolculuğunu uygulamanın tamamında çalıştıran otomatik bir testtir.
- PlaywrightTest ve Kalite, s. 20Playwright, Chromium, Firefox ve WebKit'i tek bir API ile yöneten, Microsoft'un uçtan uca test ve tarayıcı otomasyonu için açık kaynaklı framework'üdür.
- SeleniumTest ve Kalite, s. 22Selenium, çoğunlukla uçtan uca test için web tarayıcılarını otomatikleştiren, WebDriver API'si birçok dilde bulunan açık kaynaklı bir araç takımıdır.
- JavaScriptWeb Geliştirme, s. 25JavaScript, web tarayıcılarında sayfaları etkileşimli hale getiren ve Node.js gibi çalışma ortamlarıyla sunucularda da çalışan programlama dilidir.
- Test OtomasyonuTest ve Kalite, s. 32Test otomasyonu, testleri kodla çalıştırıp sonuçları denetlemektir; böylece aynı kontroller elle değil, her değişiklikte hızlı ve tutarlı biçimde tekrarlanır.
- Flaky TestTest ve Kalite, s. 8Flaky test, koda hiçbir değişiklik yapılmadan bazen geçen bazen başarısız olan ve sonuçlarına güvenmeyi zorlaştıran otomatik bir testtir.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin