Pengujian browser otomatis sangat penting untuk membangun aplikasi web yang andal dan berkualitas tinggi. Baik Anda menjalankan rangkaian end-to-end continuous integration (CI), melakukan pengujian regresi di seluruh rilis browser, atau mengotomatiskan interaksi browser, Chrome menyediakan rangkaian alat dan mode eksekusi khusus yang dirancang untuk developer dan engineer otomatisasi pengujian.
Ringkasan ini memperkenalkan produk inti dalam ekosistem pengujian dan otomatisasi Chrome—Chrome for Testing, ChromeDriver, Puppeteer, dan mode Headless Chrome—serta menjelaskan cara Anda dapat menggunakannya bersama-sama untuk alur kerja pengujian yang andal dan dapat direproduksi.
Chrome for Testing
Chrome for Testing adalah ragam Chrome khusus yang menargetkan kasus penggunaan pengujian dan otomatisasi aplikasi web.
Saat menjalankan rangkaian pengujian end-to-end atau pipeline continuous integration (CI), Anda sering kali memerlukan hasil yang konsisten dan dapat direproduksi di seluruh pengujian yang berulang. Daripada mengandalkan penginstalan browser standar, Chrome for Testing memungkinkan Anda mendownload dan menyematkan versi Chrome tertentu untuk lingkungan pengujian.
Fitur utama
- Download berversi sesuai permintaan: Akses biner Chrome berversi tertentu sehingga Anda selalu menguji versi yang tepat yang Anda pilih.
- Biner yang dipasangkan di seluruh saluran: Untuk setiap rilis Chrome di semua saluran (Stabil, Beta, Dev, dan Canary), Chrome for Testing menyediakan biner Chrome yang cocok dan dipasangkan dengan biner ChromeDriver yang relevan, serta shell Chrome Headless lama (
chrome-headless-shell) bagi yang masih menggunakannya dalam pengujian otomatis. - Otomatisasi download yang mudah: Biner dapat didownload dengan mudah menggunakan utilitas command line
@puppeteer/browsersatau dikueri melalui dasbor ketersediaan.
Pelajari lebih lanjut
ChromeDriver
ChromeDriver adalah server mandiri open source yang menerapkan standar W3C WebDriver dan protokol WebDriver BiDi dua arah. ChromeDriver berfungsi sebagai jembatan antara framework pengujian berbasis WebDriver (seperti Selenium, WebDriverIO, dan Nightwatch) dan browser Chrome.
Fitur utama
- Dukungan W3C WebDriver dan WebDriver BiDi: Mendukung perintah otomatisasi WebDriver klasik dan komunikasi dua arah real-time melalui WebDriver BiDi untuk pemrosesan peristiwa yang cepat, pemantauan jaringan, dan pencegatan log.
- Dirilis bersama dengan Chrome for Testing: Rilis ChromeDriver diintegrasikan langsung ke infrastruktur Chrome for Testing. Untuk setiap versi Chrome for Testing, versi ChromeDriver yang cocok dirilis secara bersamaan, sehingga tidak perlu khawatir tentang ketidakcocokan versi.
Pelajari lebih lanjut
- Dokumentasi ChromeDriver
- WebDriver BiDi - Masa depan otomatisasi lintas browser
- MDN: Referensi WebDriver BiDi
Puppeteer
Puppeteer adalah library JavaScript yang dikembangkan oleh Google yang menyediakan API tingkat tinggi untuk mengontrol Chrome melalui Chrome DevTools Protocol (CDP) atau WebDriver BiDi.
Fitur utama
- Otomatisasi tanpa penyiapan: Puppeteer otomatis mendownload biner Chrome untuk Pengujian yang kompatibel secara default, sehingga memungkinkan otomatisasi browser langsung.
- Kontrol penuh atas Chrome: Ambil screenshot, buat PDF, otomatiskan pengiriman formulir, cegat permintaan jaringan, dan jalankan pengujian UI dengan mudah dalam mode headful atau Headless.
Pelajari lebih lanjut
Mode Headless Chrome
Mode Headless Chrome memungkinkan Anda menjalankan Chrome di lingkungan tanpa pengawasan tanpa antarmuka pengguna yang terlihat. Dengan meneruskan tanda --headless di command line, Chrome berjalan dengan lancar di lingkungan server, container, dan pipeline CI/CD.
Fitur utama
- Mesin browser terpadu: Mode Headless modern (
--headless) menggunakan penerapan browser yang sama persis dengan Chrome headful. - Kemampuan otomatisasi dan proses debug yang canggih: Mendukung pengambilan screenshot, pembuatan PDF, proses debug jarak jauh, dan konfigurasi layar virtual.
Pelajari lebih lanjut
- Menjalankan Chrome dalam mode Headless
- Mengonfigurasi layar virtual
- Men-debug dalam mode Headless
- Referensi command line tanpa tampilan
Contoh: Menggunakan produk ini bersama-sama
Dalam alur kerja pengujian otomatis atau continuous integration (CI) yang umum, produk ini bekerja sama untuk menyediakan lingkungan pengujian yang dapat direproduksi dan tanpa pengawasan:
- Biner browser (Chrome untuk Pengujian): Gunakan biner Chrome untuk Pengujian khusus yang dipatok versinya agar hasil pengujian Anda deterministik di seluruh proses.
- Mode eksekusi (mode Headless Chrome): Jalankan biner tersebut dalam mode Headless (
--headless) sehingga pengujian dapat dieksekusi dengan bersih di server, container, atau pipeline CI tanpa tampilan grafis. - Driver otomatisasi (Puppeteer atau ChromeDriver): Mengoperasikan browser menggunakan library otomatisasi seperti Puppeteer atau framework pengujian lain yang terhubung melalui WebDriver BiDi.
Puppeteer menghubungkan bagian-bagian ini secara otomatis. Setelah diinstal, alat ini akan mendownload biner Chrome for Testing yang kompatibel dan meluncurkannya dalam mode Headless secara default.
Saat menggunakan framework W3C WebDriver (seperti Selenium atau WebdriverIO), Anda dapat mendownload secara otomatis pasangan biner Chrome for Testing dan ChromeDriver yang cocok serta meneruskan tanda --headless untuk dijalankan tanpa UI.