Yii2: Menggunakan Codeception untuk Testing - Selenium - TDD - BDD (Part 2)

Fokus menggunakan Selenium Server Standalone dan Google Chrome dalam eksekusi Acceptance Testing
Published di Yii2, 2 years ago

Menyambung dari artikel sebelumnya, sekarang kita akan melanjutkan ke seri acceptance test. Yii2 sudah memberikan kita petunjuk di: Testing. Kita akan menggunakan Selenium Server Standalone. Berikut langkah-langkahnya:

- Download selenium server, official website nya ada pada link ini : SeleniumDev, atau langsung download versi stable nya, saat artikel ini ditulis, bisa download dari link ini : Selenium 4.1.4, dan untuk kemudahan, kita akan memindahkan file jar selenium ini ke dalam root folder Yii2 projek Kita.

- Download driver browser masing-masing (Dalam kasus ini hanya google chrome) untuk integrasi dengan Selenium. Untuk chrome, akses link download nya disini: chromedriver

- Sesuaikan dengan chrome version yang digunakan di mesin Anda, misalnya jika di mesin saya, berikut adalah google chrome sebagai browser default yang saya pakai.


- Maka download juga versi yang sama, minimal kode pertama dalam Semantic Version itu sama, dalam hal ini adalah yaitu versi 99, dan jangan sampai salah processor.


- Pada mesin yang saya gunakan, OS yang saya gunakan adalah MacOS M1, maka setelah didownload, unzipped file driver tersebut kemudian taruh (copy / cut) ke folder /usr/local/bin/ . Untuk akses folder /usr/local/bin, bisa dengan menggunakan terminal, atau menggunakan finder MacOS. Mungkin saat memindahkan file ini butuh password administrator atau Touch ID, 



- Konfigurasi WebDriver di tests/accpetance.suite.yml :


- Jalankan selenium server yang sudah kita download sebelumnya dan biarkan running di terminal.


- Jalankan Yii2 built in server di dalam folder tests


- Jalankan codeception, kemungkinan Anda mendapatkan permission issue,  seperti pesan berikut dari MacOS :


- Saran dari StackOverflow , Pilih Show in Finder, dan kemudian Kita perlu memberikan akses kepada chromedriver via system preferences > Security & Privacy, pilih allow anyway:



- Karena tadi ada masalah permission, maka testing tadi gagal dengan penampakan sebagai berkut,


- Maka kita ulang lagi dengan permission yang sudah diberikan, kemudian tinggal pilih open


- Jika semuanya berjalan normal, MacOS akan membuka jendela browser sesuai dengan urut-urutan yang Yii2 tentukan.


- Hasil akhir di terminal,

Sekarang Kita sudah bisa menulis Acceptance milik Kita sendiri. Testing yang baik membuat kita lebih PD dan yakin dengan app yang kita delivery ke user sesuai dengan ekspektasi.

Dukung Saya supaya tetap menulis artikel-artikel yang baik, membayar sewa domain, dan server untuk blog ini. Caranya dengan donasi cendol via Trakteer.id.


No image

Fadly Dzil Jalal

PHP, Yii2 Framework, Laravel, Java, Java Swing, Hibernate, Javascript, Angular, React, MySQL, MongoDB


Dapatkan USD 200 untuk develop aplikasimu di DigitalOcean DigitalOcean Referral Badge