Halo lagi. Publikasi ini didedikasikan untuk peluncuran kursus
Automation of Web Testing , yang sudah dimulai minggu ini. Selamat membaca!
Apa itu pengujian tanpa kepala?Pengujian tanpa kepala adalah peluncuran di browser suatu pengujian untuk kinerja setiap komponen UI tanpa menampilkan UI itu sendiri. Pengujian tersebut meluncurkan skrip di browser, tetapi tidak diluncurkan dan tidak menampilkan UI dengan sendirinya.

Mengapa Anda perlu menggunakan browser Headless? Pendekatan ini memiliki banyak pro dan kontra. Menggunakan browser tanpa kepala mungkin tidak terlalu berguna untuk menjelajahi internet, tetapi sangat diperlukan untuk mengotomatisasi tugas dan pengujian.
Mengapa menggunakan browser tanpa kepala?Mengikuti uang adalah klise, namun, saya masih berpikir bahwa ini adalah indikator utama dari munculnya tren, dan karena itu apa yang harus Anda perhatikan. Misalnya, Sauce Labs baru saja merilis layanan baru bernama Sauce Headless, solusi berbasis cloud untuk menguji solusi Anda tanpa kepala.
Saya tahu bahwa orang-orang di Sause adalah orang pintar. Mereka tidak akan mengembangkan apapun tanpa hasil. Mereka perlu mendapatkan umpan balik dari pengguna untuk memahami bahwa fungsionalitas apa pun diperlukan.
Saya yakin mereka tidak akan sendirian dalam upaya mengembangkan pengujian tanpa kepala.
Saat kami bergerak lebih jauh melalui siklus hidup pengembangan perangkat lunak, penguji perlu memberikan umpan balik kepada pengembang lebih cepat dan lebih cepat. Salah satu cara untuk mencapai hal ini adalah dengan melakukan pemeriksaan cepat dengan browser tanpa kepala.
Otomasi dalam pengembangan perangkat lunakSaya untuk otomatisasi dengan semua tangan, tetapi otomatisasi bukan hanya tentang pengujian.
Ini adalah kisah tentang semua aspek yang dapat Andaotomatiskan untuk menghemat waktu atau upaya dalam siklus hidup pengembangan perangkat lunak, kontrol atau pengujian kualitas, DevOps atau instalasi. Browser tanpa kepala adalah salah satu alat otomatisasi yang kuat.
Browser tanpa kepala lebih cepat dari browser biasaSalah satu perbedaan paling penting antara browser tanpa kepala dan browser biasa adalah kecepatannya. Faktanya adalah bahwa ketika Anda memuat halaman di browser tanpa GUI, itu tidak perlu menghabiskan waktu memuat CSS, JavaScript, dan rendering HTML.
Saya tidak akan mengatakan bahwa perbedaannya akan sangat besar, tetapi dalam beberapa kasus Anda dapat melacak peningkatan kecepatan setengah atau bahkan 15. Dengan demikian, jika kinerja penting bagi Anda, maka browser tanpa kepala akan menjadi pilihan yang baik.
Mengikis dengan browser tanpa kepalaKeuntungan lain dari browser tanpa kepala adalah kemampuan mereka untuk mengumpulkan data dari
situs web . Untuk melakukan ini, Anda tidak harus meluncurkan browser secara manual. Anda dapat menggunakan teknologi tanpa kepala untuk hanya memotong HTML. Dan rendering seluruh browser sepenuhnya opsional.
Katakanlah bahwa kasing Anda memerlukan statistik olahraga atau perbandingan harga di berbagai situs.
Karena Anda hanya memerlukan data, tidak masuk akal untuk meluncurkan esensi browser yang lengkap dan tidak perlu memuat mesin, karena semakin sedikit memuat, semakin cepat Anda mendapatkan hasilnya. Mungkin belum tentu pengujian, Anda hanya perlu menggunakan alat yang tepat untuk bekerja. Secara umum, saya percaya bahwa penguji sia-sia meremehkan browser tanpa kepala di bidangnya.
Jadi, jika Anda perlu mendapatkan data dari halaman web, Anda tidak perlu membukanya dan memberikan beban tambahan dengan membuka browser, semua fungsi yang diperlukan dapat menyediakan browser tanpa kepala.
Hemat waktu pengembangSaya tahu bahwa banyak pengembang menggunakan browser tanpa kepala untuk menguji unit situs dan aplikasi mereka. Kemampuan untuk menggunakannya dari baris perintah tanpa secara manual memperbarui atau meluncurkan browser menghemat banyak waktu dan usaha. Misalnya,
Rob Frizzel , penulis
PhantomJS CookBook dalam sebuah wawancara dengan
TestTalks menjelaskan mengapa pengembangnya menggunakan browser PhantomJS tanpa kepala:
“Meskipun PhantomJS sendiri bukan kerangka pengujian, ini adalah“ sinar cahaya yang berguna di tambang batubara ”yang memberi kepercayaan; jika semua tes lulus, maka Anda akan menjadi lebih percaya diri bahwa kode Anda benar-benar bagus. "
Pemantauan Kinerja dengan Skrip Browser Tanpa KepalaPilihan lain untuk menggunakan browser tanpa kepala adalah untuk memantau kinerja aplikasi jaringan.
Beberapa bahkan menggunakannya untuk mengotomatiskan rendering dan mengambil screenshot dari layar situs web untuk menguji tata letak dengan gaya otomatis.
Saya pikir ini adalah salah satu alasan Google mengembangkan API Chrome tanpa kepala baru yang disebut
Puppeteer . Ini terutama ditujukan untuk membantu pengembang.
Gagasan Kunci Pengujian Browser Tanpa KepalaSelain ide sebelumnya, ada juga opsi lain untuk menggunakan browser tanpa kepala, yang akan saya ceritakan sekarang:
- Jalankan tes pada mesin tanpa monitor;
- Pengaturan data;
- Pengujian SSL;
- Simulasi beberapa browser pada satu mesin;
- Menjalankan tes pada sistem tanpa kepala, seperti Linux tanpa GUI;
- Menerima dan memvisualisasikan file PDF;
- Pengujian markup, karena browser tanpa kepala dapat membuat HTML dan CSS sebagai browser lengkap, sehingga Anda dapat mengujinya dengan gaya.
Kasing Ketika Anda Tidak Ingin Menggunakan Peramban Tanpa KepalaTentu saja, ada saatnya Anda mungkin ingin menggunakan peramban lengkap alih-alih peramban tanpa kepala. Sebagai contoh:
- Anda perlu mensimulasikan pengguna nyata;
- Anda perlu melihat bagaimana tes ini bekerja;
- Jika Anda perlu melakukan debug, ini bisa rumit dengan browser tanpa kepala.
Browser Tanpa Kepala Populer- Google Puppeteer - Browser Tanpa Kepala Puppeteer adalah perpustakaan Node. Ini menyediakan API tingkat tinggi untuk mengendalikan Chrome tanpa kepala atau Chromium menggunakan protokol DevTools. Itu juga dapat dikonfigurasikan untuk menggunakan Chrome atau Chromium yang lengkap (tanpa kepala).
- Google Chrome dari versi 59;
- Firefox versi 55 dan 56;
- PhantomJS - webkit tanpa kepala di API JavaScript. Ini memiliki dukungan asli dan cepat untuk berbagai standar web: pemrosesan DOM tree, pemilih CSS, JSON, Canvas dan format SVG. * Sekarang tidak didukung. Karena itu, Anda mungkin tidak ingin menggunakannya.
- HtmlUnit adalah peramban tanpa GUI untuk kode Java. Ini memodelkan dokumen HTML dan menyediakan API yang memungkinkan Anda untuk membuka halaman, mengisi formulir, mengklik tautan, dll. Serta di browser "normal" Anda.
- Splinter - Splinter adalah browser berorientasi Python tanpa kepala. Ini adalah open source dan digunakan untuk menguji aplikasi web menggunakan Python. Misalnya, Anda dapat menggunakannya untuk mengotomatiskan tindakan browser, seperti mengunjungi halaman web dan berinteraksi dengan elemen-elemennya.
- jBrowserDriver - Driver browser web tertanam yang dapat diprogram dan kompatibel dengan spesifikasi Selenium WebDriver - tanpa kepala, berbasis WebKit, di Java murni.
Kapan Anda harus menggunakan browser tanpa kepala untuk pengujian?Jawaban untuk pertanyaan ini tergantung pada tujuan pengujian Anda.
Di satu sisi, orang sering berkata: “Jangan pernah menggunakan browser tanpa kepala. Pengguna sungguhan tidak akan pernah menggunakannya, jadi mengapa Anda harus melakukannya? " Meskipun, di sisi lain, kita mendengar: "Anda harus selalu menggunakan browser tanpa kepala, karena lebih cepat, dan lebih cepat dalam masalah pengujian, itu berarti lebih baik"
Seperti yang kita tahu, setiap posisi akan memiliki pendukung dan oposisi, tetapi di sini hanya masalah memilih alat yang tepat untuk menyelesaikan masalah tertentu.
Ingat bahwa Anda harus menggunakan alat yang optimal untuk pekerjaan itu dan selalu bertanya pada diri sendiri bagaimana ini akan mempengaruhi pengguna akhir, Anda harus bertanya pada diri sendiri apa tujuan pengujian setiap kali Anda membuat pilihan antara dua sudut pandang ini.
Menurut tradisi yang sudah ada, kami menunggu komentar Anda, dan juga ingat bahwa dalam beberapa jam akan ada
hari terbuka , di mana Anda dapat belajar secara terperinci tentang kursus kami.