Selenium

Puppeteer VS Selenium

Puppeteer VS Selenium
Hari ini berkaitan dengan pengujian web automatik, Puppeteer dan Selenium adalah dua nama yang muncul. Salah satu sebab utama mengapa mereka terkenal adalah kemampuan mereka menjalankan penyemak imbas tanpa kepala. Oleh itu, sebelum kita meneruskan artikel, mari kita lihat dengan cepat apa penyemak imbas tanpa kepala dan kelebihannya.

Secara asasnya, penyemak imbas tanpa kepala adalah penyemak imbas yang dapat digunakan untuk menguji kebolehgunaan laman web dan menjalankan interaksi penyemak imbas seperti yang anda lakukan dengan penyemak imbas biasa anda. Satu-satunya perbezaan di sini adalah bahawa tidak ada Antara Muka Pengguna Grafik (GUI) dan mereka biasanya dijalankan dari terminal.

Penyemak imbas tanpa kepala:

Setelah mengetahui faktor utama kedua alat ini, kita dapat meneruskannya.

Boneka

Puppeteer adalah pustaka Node dari Google yang menyediakan API mudah untuk mengawal Chrome tanpa kepala. Melalui Puppeteer, tugas-tugas biasa seperti mengetik input, mengklik butang, menguji kebolehgunaan laman web dan juga mengikis web dapat dilakukan dengan mudah.

Puppeteer adalah rasmi dari pasukan Chrome, dan menggunakan Protokol Debug Jauh Chrome, seperti yang kita dapati dengan Chrome Devtools. Perpustakaan ini menyokong sintaks JavaScript moden yang terdapat di Google Chrome.

Persediaan

Memasang dan memulakan dengan Puppeteer sangat mudah. Oleh kerana Puppeteer adalah perpustakaan Node, ia dapat dipasang dengan menggunakan npm alat.

Pemasangan boleh dilakukan dengan arahan di bawah:

npm saya dalang

Menjalankan perintah di atas memasang Puppeteer. Diharapkan juga memuat turun versi Chromium terbaru yang dapat digunakan dengan API.

Ukuran Chromium berbeza mengikut sistem operasi:

Selepas pemasangan Puppeteer, anda dapat mengetahui lebih banyak maklumat mengenai cara memulakannya, anda juga dapat melihat lebih banyak contoh kod.

ciri-ciri

Walaupun kemampuan Puppeteer untuk melancarkan penyemak imbas tanpa kepala adalah satu ciri yang telah membuatnya terkenal, itu bukan satu-satunya ciri yang menjadikannya hebat. Puppeteer juga mempunyai beberapa ciri lain yang menjadikannya berguna, mari kita lihat sebilangannya.

Automasi Mudah:

Walaupun ada alat lain yang dapat digunakan untuk automasi web, Puppeteer muncul di puncak. Ini disebabkan oleh fakta bahawa ia berfungsi dengan baik untuk satu penyemak imbas sahaja, iaitu penyemak imbas Chrome Tanpa Kepala, oleh itu ia menjalankan tugas automasi web dengan cara yang paling efisien yang mungkin. Puppeteer juga berfungsi dengan baik dengan perpustakaan pengujian unit popular seperti Mocha dan Jasmine.

Ujian Tangkapan Skrin:

Ini adalah ciri penting untuk setiap tugas pengujian web automatik. Tangkapan skrin penting, dan membantu menjejaki hasil interaksi dengan elemen di laman web. Perpustakaan seperti Puppeteer-screenshot-tester juga ada di Puppeteer yang memberikan keupayaan membandingkan tangkapan skrin yang dihasilkan semasa menguji. Selain menghasilkan tangkapan skrin ujian, PDF juga dapat dihasilkan dari laman web yang diuji dalam boneka.

Ujian Prestasi:

Chrome menyediakan DevTools yang membolehkan rakaman Garis Masa Prestasi halaman web, dan Puppeteer memanfaatkan ini juga. Dengan Puppeteer, jejak garis masa laman web dapat ditangkap untuk memeriksa masalah prestasi. Oleh kerana kawalan API tingkat tinggi Puppeteer terhadap Protokol Alat Pembangun Chrome, ini memberi pengguna kemampuan untuk mengawal pekerja perkhidmatan dan menguji cache laman web.

Mengikis Web:

Perbincangan mengenai ciri tidak akan selesai tanpa mengakui kemampuan Puppeteer untuk digunakan untuk tujuan mengikis web. Belajar menggunakan Puppeteer sebagai pengikis web cukup mudah, lihat dokumentasi API.

Kelebihan

  1. Berfungsi dengan baik untuk ujian visual.
  2. Hebat untuk ujian akhir ke akhir.
  3. Cepat jika dibandingkan dengan Selenium.
  4. Boleh mengambil tangkapan skrin laman web.
  5. Lebih banyak kawalan ke atas ujian melalui Chrome.
  6. Boleh menguji mod luar talian.

Keburukan

  1. Hanya menyokong JavaScript (Node)
  2. Menyokong Chrome sahaja

Selenium

Selenium adalah kerangka pengujian web yang kuat, yang mempunyai kemampuan mengautomasikan aplikasi web untuk tujuan pengujian. Selenium juga terkenal dengan kemampuannya untuk mengotomatisasi tugas pentadbiran berasaskan web.

Selenium terdapat dalam dua bahagian; Selenium WebDriver untuk membuat suite dan ujian automasi berasaskan penyemak imbas yang kuat dan Selenium IDE untuk membuat skrip pembiakan pepijat cepat.

Tidak lupa bahawa Selenium juga menyokong penyemak imbas tanpa kepala seperti yang dilihat dengan Puppeteer.

Persediaan

Tidak seperti Puppeteer, menyiapkan Selenium tidak mudah. Selenium menyokong banyak bahasa dan penyemak imbas yang berbeza, oleh itu syarat-syarat yang mungkin perlu dijaga.

Disenaraikan di bawah adalah pautan ke tutorial rasmi mengenai cara mengatur pengikatan Selenium untuk bahasa yang berbeza.

Selain menyokong pelbagai bahasa, Selenium juga menyokong pelbagai penyemak imbas. Tidak seperti Puppeteer yang memasang Chromium semasa pemasangan, anda mungkin perlu memasang pemacu web untuk penyemak imbas web pilihan anda.

Berikut adalah pautan ke pemacu web untuk Mozilla Firefox dan Google Chrome.

Sekiranya anda ingin menggunakan Selenium IDE juga, ia juga ada untuk pelbagai penyemak imbas. Berikut adalah pautan ke Selenium IDE untuk Mozilla Firefox dan Google Chrome.

ciri-ciri

Keupayaan untuk bekerja dengan penyemak imbas tanpa kepala menjadikannya alat automasi web yang paling tidak boleh dibilang, tetapi ada ciri lain yang menjadikannya kuat.

Sokongan Pelbagai Bahasa:

Ini adalah satu ciri Selenium yang sangat penting. Dengan sokongan berbilang bahasa, lebih banyak pembangun dapat menggunakan alat ini untuk tugas pengujian automasi web mereka.  Walaupun seseorang mungkin berpendapat bahawa sokongan berbilang bahasa akan menjadikannya lambat, Selenium masih berjalan dengan kelajuan yang baik kerana memulakan pelayan di Pemandu Web tidak diperlukan.

Sokongan Pelbagai Platform:

Dengan cara yang sama Selenium tidak dibatasi oleh larangan bahasa, tetapi juga tidak dihalang oleh penghalang platform. Bukan berita bahawa aplikasi web berperilaku berbeza di pelbagai platform. Selenium memberi kemampuan kepada penguji untuk menguji di pelayar web utama untuk memberikan pengalaman pengguna yang lancar bagi pengguna di pelayar yang berbeza.  Selain pelayar, Selenium juga dapat digunakan untuk menguji pada telefon bimbit seperti aplikasi Android, iOS, Windows, Blackberry.

Alat Rakaman:

Dengan Selenium IDE, mudah untuk merakam ujian automasi web. Selenium IDE membolehkan penguji menggunakan kemampuan rakaman serta sokongan dan kemampuan pelengkap automatik untuk menavigasi perintah. Alat Rakaman telah berhenti berfungsi pada Firefox 55 dan versi yang lebih baru, namun ada plugin lain di Firefox yang berfungsi untuk tujuan yang sama. Oleh itu, kemampuan untuk merakam ujian tetap menjadi ciri Selenium utama.

Mengikis Web:

Selenium digunakan untuk menguji aplikasi web, tetapi juga skala sebagai pengikis web. Selenium boleh digunakan untuk mengikis laman web AJAX dan laman web yang paling sukar untuk dikikis, dengan syarat anda dapat memahami struktur HTML. Anda boleh melihat tutorial ini menggunakan Selenium untuk mengikis web dengan Python.

Kelebihan

  1. Sokongan pelbagai platform.
  2. Sokongan berbilang bahasa.
  3. Keupayaan merekod ujian.
  4. Boleh juga mengambil tangkapan skrin.
  5. Komuniti pengguna yang besar.

Keburukan

  1. Perlahan jika dibandingkan dengan Puppeteer.
  2. Kawalan terhad terhadap ujian jika dibandingkan dengan Puppeteer.

Kesimpulannya

Sekiranya anda tidak terganggu untuk menguji halaman web di platform lain selain Chrome, maka anda baik bekerja dengan Puppeteer, dengan syarat anda dapat bekerja dengan JavaScript (Node). Walau bagaimanapun, jika anda prihatin dengan pelbagai platform, maka menggunakan Selenium adalah tidak perlu. Bercakap mengenai kemampuan mengikis web mereka, kedua-dua alat itu sendiri di luar sana. Perlu diingat bahawa Puppeteer dapat lebih cepat daripada Selenium.

Apa-apa alat yang anda pilih pada akhir hari mesti baik, hanya menikmati menulis skrip automasi anda.

Cara Memasang dan Memainkan Doom di Linux
Pengenalan Doom Seri Doom berasal dari tahun 90an selepas pembebasan Doom yang asal. Ini adalah hit seketika dan sejak saat itu dan seterusnya siri pe...
Vulkan untuk Pengguna Linux
Dengan setiap kad grafik generasi baru, kami melihat pembangun permainan mendorong had kesetiaan grafik dan semakin dekat dengan fotorealisme. Tetapi ...
OpenTTD vs Simutrans
Membuat simulasi pengangkutan anda sendiri boleh menyeronokkan, santai dan sangat menarik. Itulah sebabnya anda perlu memastikan bahawa anda mencuba s...