Pengujian Otomatis dengan Cypress

Peni Kurniawati
SkyshiDigital
Published in
4 min readSep 25, 2018

Seorang Quality Assurance atau yang sering disebut dengan sebutan QA pastinya tidak terlepas dengan kegiatan pengujian terhadap suatu sistem. Pada artikel sebelumnya, sudah dijelaskan mengenai Quality Assurance beserta beberapa contoh software testing secara umum. Nah, pada kesempatan kali ini, saya akan membahas lebih detail mengenai salah satu software testing yaitu Cypress.

Cypress merupakan salah satu software yang digunakan untuk automation testing. Software ini bersifat open source dan dapat didownload pada web Cypress yaitu https://www.cypress.io/. Dengan menggunakan Cypress, user dapat melakukan beberapa jenis pengujian seperti: end to end tests, integration test, serta unit test. Cypress memudahkan user dalam mengatur test, menulis test serta menjalankan test menjadi lebih cepat, mudah, dan handal. Berbeda dengan beberapa software automation pada umumnya seperti katalon dan silenium yang melakukan pengujian dengan cara merekam kegiatan yang dilakukan oleh user terhadap sistem, dalam membuat pengujian menggunakan Cypress ini menggunakan script kode. Script kode yang dituliskan lebih fokus pada proses menjalankan sistem mulai dari membuka halaman, melakukan pemasukan data, serta proses pengumpulan data dengan tombol, dll.

Fitur-fitur yang dimiliki Cypress diantaranya yaitu:

  1. Time travel: Cypress mengambil foto saat tes berjalan dengan cara mengarahkan kursor ke perintah di log perintah untuk melihat apa yang terjadi di setiap langkah.
  2. Debugability: Cypress memprediksi penyebab test gagal. Debug langsung dari alat yang sudah dikenal seperti Chrome DevTools. Kesalahan dan jejak tumpukan yang dapat dibaca membuat proses debug menjadi lebih cepat.
  3. Automatic Waiting: User tidak perlu menambah waktu tunggu untuk test yang dibuat. Cypress secara otomatis akan menunggu perintah dan pernyataan sebelum melanjutkan.
  4. Spies, Stubc, and Clocks: Verifikasi dan kontrol perilaku fungsi, respon server, atau pengatur waktu.
  5. Network Traffic Control: Memudahkan user dalam mengontrol, stub, dan menguji kasus tanpa melibatkan server.
  6. Consistent Results: Cypress memberikan hasil pengujian yang cepat, konsisten, dan handal
  7. Screenshots and Videos: User dapat melihat tangkapan layar yang diambil secara otomatis bila gagal, atau video dari seluruh rangkaian pengujian user saat dijalankan dari CLI.

Selanjutnya, saya akan menunjukkan langkah-langkah proses download, install, menuliskan test case, serta menjalankan test case pada Cypress.

  • Download Cypress

User dapat megunduh atau download Cypress melalui 2 cara yaitu dengan download secara langsung dari web https://www.cypress.io/ atau melalui terminal

Install Cypress melalui web Cypress
Install Cypress melalui teminal

Setelah Cypress berhasil diinstall, maka user dapat membuka cypres dengan menuliskan script pada terminal

Script untuk membuka Cypress

Setelah itu, maka Cypress akan terbuka secara otomatis

Tampilan Cypress
  • Menulis Test Case

Inilah fungsi utama dari Cypress, yaitu membuat testing. Pada kesempatan ini saya akan memberikan contoh automation pada proses register pada web github

Script kode proses registrasi github

Penjelasan dari potongan kode di atas yaitu:

Baris ke 3 merupakan perintah untuk menuju ke halaman https://github.com/

Baris ke 5 sampai 7 merupakan perintah untuk proses pemasukan username, email, serta password

Baris ke 8 merupakan perintah untuk memilih tombol “Sign Up”.

Mengenai panduan script kode yang lebih lengkap dapat dilihat pada https://docs.cypress.io/guides/getting-started/writing-your-first-test.html#Add-a-Test-File

  • Menjalankan Hasil Test Case

Setelah script kode selesai dibuat, user dapat menjalankan hasil pengujian test case dengan memilih test case yang akan dijalankan pada Cypress. Selanjutnya, Cypress akan menjalankan pengujian secara otomatis melalui web browser. Hasil pengujian dapat diketahui setelah pengujian selesai atau berhenti. Status pengujian dikatakan berhasil jika Cypress menunjukkan warna hijau dan dinyatakan gagal jika menunjukkan warna merah.

Status Pengujian Registrasi Github Berhasil

--

--