Post

Pengantar Cypress

Pengantar Cypress

Pengantar Cypress

Dalam dunia software testing modern, kecepatan dan efisiensi pengujian menjadi kunci utama keberhasilan. Salah satu alat yang kini semakin populer di kalangan QA engineer dan developer adalah Cypress — framework modern untuk melakukan pengujian end-to-end (E2E) pada aplikasi web.

Apa Itu Cypress?

Cypress adalah framework end-to-end testing untuk aplikasi web modern seperti React, Vue, dan Angular. Berbeda dengan alat pengujian tradisional seperti Selenium, Cypress bekerja langsung di dalam browser sehingga memberikan hasil yang lebih cepat, stabil, dan real-time.

Cypress dapat digunakan di berbagai level pengujian:

  • Unit Testing
  • Integration Testing
  • End-to-End Testing (utama)

Meskipun berfokus pada end-to-end testing, Cypress juga mampu menangani component dan integration testing dengan mudah.

Keunggulan Cypress Dibanding Selenium atau Playwright

FiturPenjelasan
Arsitektur ModernCypress dibangun dengan JavaScript dan berjalan langsung di browser, memberikan kecepatan eksekusi tinggi.
Test Runner InteraktifMenampilkan hasil tes secara visual dan real-time di browser.
Time TravelMelihat langkah-langkah tes secara step-by-step untuk debugging lebih mudah.
Automatic WaitsTidak perlu menulis sleep atau wait manual — Cypress otomatis menunggu elemen muncul sebelum lanjut ke langkah berikutnya.
Kemudahan SetupInstalasi cepat dan sederhana melalui npm.

Instalasi dan Setup Cypress

Sebelum mulai, pastikan Node.js sudah terinstal di komputer.

1. Inisialisasi Project

1
npm init -y

2. Instal Cypress

1
npm install cypress --save-dev

3. Membuka Cypress

1
npx cypress open

4. Menjalankan Tes di Browser Pilihan

1
2
3
npx cypress run --browser chrome
npx cypress run --browser firefox
npx cypress run --browser edge

Perintah Dasar Cypress

Cypress menggunakan perintah yang sederhana dan mudah diingat, menyerupai perilaku pengguna nyata di browser.

PerintahFungsi
cy.visit('URL')Membuka halaman web tertentu
cy.get('selector')Mengambil elemen HTML berdasarkan selector
cy.type('text')Mengetik ke dalam input field
cy.click()Menekan tombol atau link
cy.contains('text')Mencari elemen berdasarkan teks yang ditampilkan
cy.url()Mengambil URL aktif dari browser

Contoh sederhana:

1
2
3
4
5
cy.visit('https://www.saucedemo.com')
cy.get('#user-name').type('standard_user')
cy.get('#password').type('secret_sauce')
cy.get('#login-button').click()
cy.url().should('include', '/inventory')

Studi Kasus: Pengujian Login di SauceDemo

Berikut contoh struktur pengujian menggunakan Cypress untuk skenario login di situs SauceDemo.

Test Scenario

IDDeskripsi
TS-001Login berhasil ke halaman utama
TS-002Login gagal dengan kredensial salah
TS-003Menambahkan produk ke keranjang

Test Case Detail

IDDeskripsiStepsExpected Result
TC-001Login suksesInput username dan password valid → Klik LoginMasuk ke halaman inventory
TC-002Login gagalInput username atau password salah → Klik LoginMuncul pesan error
TC-003Tambah produk ke keranjangLogin sukses → Klik “Add to cart”Item bertambah di keranjang

Kesimpulan

Cypress adalah framework pengujian modern dan efisien untuk memastikan kualitas aplikasi web melalui otomatisasi pengujian berbasis UI.

Dengan fitur seperti:

  • Interactive Test Runner
  • Time Travel
  • Automatic Waits

…Cypress mempermudah pengujian aplikasi secara realistis dan cepat.

Melalui studi kasus SauceDemo, terbukti Cypress efektif menangani berbagai skenario — baik positif maupun negatif.

Secara keseluruhan, Cypress adalah alat yang andalan untuk pengujian aplikasi web modern — cepat, intuitif, dan mudah digunakan oleh pengembang maupun QA engineer.

This post is licensed under CC BY 4.0 by the author.