Apa itu Selenium?
Selenium adalah kerangka ujian automatik (sumber terbuka) percuma yang digunakan untuk mengesahkan aplikasi web di pelayar dan platform yang berbeza. Anda boleh menggunakan pelbagai bahasa pengaturcaraan seperti Java, C #, Python dll untuk membuat Skrip Uji Selenium. Pengujian yang dilakukan menggunakan alat pengujian Selenium biasanya disebut sebagai Selenium Testing.
Perisian Selenium bukan hanya satu alat tetapi satu rangkaian perisian, setiap bagian memenuhi keperluan pengujian Selenium QA yang berbeza dari sebuah organisasi. Berikut adalah senarai alat
- Persekitaran Pembangunan Bersepadu Selenium (IDE)
- Alat kawalan jauh Selenium (RC)
- Pemandu Web
- Selenium Grid

Pada masa ini, Selenium RC dan WebDriver digabungkan menjadi satu kerangka kerja untuk membentuk Selenium 2 . Selenium 1, omong-omong, merujuk kepada Selenium RC.
Klik di sini jika video tidak dapat diakses
Dalam tutorial ini, anda akan belajar:
- Apa itu Selenium?
- Siapa yang membangunkan Selenium?
- Isu Dasar Asal Sama
- Kelahiran Alat Kawalan Jauh Selenium (Selenium RC)
- Kelahiran Selenium Grid
- Kelahiran Selenium IDE
- Kelahiran WebDriver
- Kelahiran Selenium 2
- Jadi, Mengapa Nama Selenium?
- Pengenalan Ringkas Selenium IDE
- Pengenalan Ringkas Selenium Remote Control (Selenium RC)
- WebDriver Pengenalan Ringkas
- Selenium Grid
- Catatan mengenai Penyokong Penyemak Imbas dan Persekitaran
- Cara Memilih Alat Selenium yang Sesuai untuk Keperluan Anda
- Perbandingan antara Selenium dan QTP (sekarang UFT)
- Kelebihan QTP berbanding Selenium
Siapa yang membangunkan Selenium?
Oleh kerana Selenium adalah koleksi alat yang berbeza, alat ini juga memiliki pengembang yang berbeda. Berikut adalah orang-orang penting yang memberikan sumbangan penting dalam Projek Selenium
Terutama, Selenium diciptakan oleh Jason Huggins pada tahun 2004 . Seorang jurutera di ThoughtWorks, dia mengerjakan aplikasi web yang memerlukan ujian yang kerap. Setelah menyedari bahawa Pengujian Manual berulang dari aplikasi mereka menjadi semakin tidak efisien, dia membuat program JavaScript yang secara automatik akan mengawal tindakan penyemak imbas. Dia menamakan program ini sebagai " JavaScriptTestRunner ." Melihat potensi dalam idea ini untuk membantu mengotomatisasi aplikasi web lain, dia membuat sumber terbuka JavaScriptRunner yang kemudian dinamakan semula sebagai Selenium Core . |
Isu Dasar Asal Sama
Dasar Asal Sama melarang kod JavaScript mengakses elemen dari domain yang berbeza dari tempat dilancarkan . Contohnya, kod HTML di www.google.com menggunakan program JavaScript "randomScript.js". Dasar asal yang sama hanya akan membenarkan randomScript.js mengakses halaman dalam google.com seperti google.com/mail, google.com/login, atau google.com/signup. Namun, laman web ini tidak dapat mengakses halaman dari laman web yang berbeza seperti yahoo.com/search atau guru99.com kerana laman web tersebut berasal dari domain yang berbeza.
Ini adalah sebab mengapa sebelum Selenium RC, penguji perlu memasang salinan tempatan kedua Selenium Core (program JavaScript) dan pelayan web yang mengandungi aplikasi web yang sedang diuji sehingga mereka termasuk dalam domain yang sama
Kelahiran Alat Kawalan Jauh Selenium (Selenium RC)
Malangnya; penguji yang menggunakan Selenium Core harus memasang keseluruhan aplikasi yang diuji dan pelayan web di komputer tempatan mereka sendiri kerana sekatan yang dikenakan oleh dasar asal yang sama. Oleh itu jurutera ThoughtWork yang lain, Paul Hammant , memutuskan untuk membuat pelayan yang akan bertindak sebagai proksi HTTP untuk "menipu" penyemak imbas agar mempercayai bahawa Selenium Core dan aplikasi web yang diuji berasal dari domain yang sama. Sistem ini dikenali sebagai Selenium Remote Control atau Selenium 1 .
Kelahiran Selenium Grid
Selenium Grid dikembangkan oleh Patrick Lightbody untuk menangani keperluan meminimumkan masa pelaksanaan ujian sebanyak mungkin. Dia pada mulanya memanggil sistem " Hosted QA ." Ia mampu menangkap tangkapan layar penyemak imbas pada tahap penting, dan juga mengirimkan perintah Selenium ke mesin yang berbeza secara serentak.
Kelahiran Selenium IDE
Shinya Kasatani dari Jepun membuat Selenium IDE , sambungan Firefox yang dapat mengautomasikan penyemak imbas melalui ciri rakaman dan main balik. Dia mengemukakan idea ini untuk meningkatkan lagi kecepatan membuat kes ujian. Dia menyumbangkan Selenium IDE untuk Projek Selenium pada tahun 2006 .
Kelahiran WebDriver
Simon Stewart mencipta WebDriver sekitar tahun 2006 ketika penyemak imbas dan aplikasi web menjadi lebih kuat dan lebih ketat dengan program JavaScript seperti Selenium Core. Ini adalah kerangka ujian silang platform pertama yang dapat mengawal penyemak imbas dari peringkat OS.
Kelahiran Selenium 2
Pada tahun 2008 , seluruh Selenium Team memutuskan untuk menggabungkan WebDriver dan Selenium RC untuk membentuk alat yang lebih hebat yang disebut Selenium 2 , dengan WebDriver menjadi terasnya . Pada masa ini, Selenium RC masih dikembangkan tetapi hanya dalam mod penyelenggaraan. Sebilangan besar usaha Projek Selenium kini tertumpu pada Selenium 2.
Jadi, Mengapa Nama Selenium?
Nama Selenium berasal dari lelucon yang pernah dibuat oleh Jason kepada pasukannya. Semasa pengembangan Selenium, satu lagi kerangka ujian automatik yang popular dibuat oleh syarikat bernama Mercury Interactive (ya, syarikat yang awalnya membuat QTP sebelum ia diambil alih oleh HP). Oleh kerana Selenium adalah penawar yang terkenal untuk keracunan Merkuri, Jason mencadangkan nama itu dan rakan sepasukan mengambilnya. Oleh itu, kita harus memanggil kerangka ini hingga sekarang.
Pengenalan Ringkas Selenium IDE
Selenium Integrated Development Environment (IDE) adalah kerangka termudah dalam suite Selenium dan merupakan yang paling mudah dipelajari . Ini adalah pemalam Firefox yang boleh anda pasangkan semudah yang anda dapat dengan pemalam lain. Namun, kerana kesederhanaannya, Selenium IDE hanya boleh digunakan sebagai alat prototaip . Sekiranya anda ingin membuat kes ujian yang lebih maju, anda perlu menggunakan Selenium RC atau WebDriver.
Pengenalan Ringkas Selenium Remote Control (Selenium RC)
Selenium RC adalah kerangka pengujian utama dari keseluruhan projek Selenium untuk jangka masa yang panjang. Ini adalah alat pengujian web automatik pertama yang membolehkan pengguna menggunakan bahasa pengaturcaraan yang mereka sukai . Pada versi 2.25.0, RC dapat menyokong bahasa pengaturcaraan berikut:
- Jawa
- C #
- PHP
- Python
- Perl
- Ruby
WebDriver Pengenalan Ringkas
WebDriver membuktikan dirinya lebih baik daripada Selenium IDE dan Selenium RC dalam banyak aspek. Ini menerapkan pendekatan yang lebih moden dan stabil dalam mengotomatisasi tindakan penyemak imbas. WebDriver, tidak seperti Selenium RC, tidak bergantung pada JavaScript untuk Selenium Automation Testing. Ia mengawal penyemak imbas dengan berkomunikasi secara langsung dengannya.
Bahasa yang disokong sama dengan yang ada di Selenium RC.
- Jawa
- C #
- PHP
- Python
- Perl
- Ruby
Selenium Grid
Selenium Grid adalah alat yang digunakan bersama-sama dengan Selenium RC untuk menjalankan ujian selari di pelbagai mesin dan penyemak imbas yang berbeza pada masa yang sama. Pelaksanaan selari bermaksud menjalankan pelbagai ujian sekaligus.
Ciri-ciri:
- Membolehkan menjalankan ujian secara serentak dalam pelbagai penyemak imbas dan persekitaran.
- Menjimatkan masa dengan sangat besar.
- Menggunakan konsep hub-and-node . Hab bertindak sebagai sumber utama arahan Selenium ke setiap nod yang bersambung dengannya.
Catatan mengenai Penyokong Penyemak Imbas dan Persekitaran
Kerana perbezaan seni bina mereka, Selenium IDE, Selenium RC, dan WebDriver menyokong pelbagai set penyemak imbas dan persekitaran operasi.
Selenium IDE | Pemandu Web | |
---|---|---|
Sokongan Penyemak Imbas | Mozilla Firefox | Internet Explorer versi 6 hingga 11, kedua-dua 32 dan 64-bit Microsoft Edge versi 12.10240 ke atas (menyokong sebahagian fungsi yang sedang dibangunkan) Firefox 3.0 dan ke atas Google Chrome 12.0. dan ke atas Opera 11.5 dan ke atas Android - 2.3 ke atas untuk telefon dan tablet (peranti & emulator) iOS 3+ untuk telefon (peranti & emulator) dan 3.2+ untuk tablet (peranti & emulator) HtmlUnit 2.9 dan lebih tinggi |
Sistem operasi | Windows, Mac OS X, Linux | Semua sistem operasi di mana penyemak imbas di atas dapat dijalankan. |
Catatan: Selenium WebDriver disebut sebagai pengganti Selenium RC yang telah ditamatkan & diumumkan secara rasmi oleh SeleniumHQ.
Cara Memilih Alat Selenium yang Sesuai untuk Keperluan Anda
Alat | Mengapa Memilih? |
---|---|
Selenium IDE |
|
Selenium RC |
|
Pemandu Web |
|
Selenium Grid |
|
Perbandingan antara Selenium dan QTP (sekarang UFT)
Quick Test Professional (QTP) adalah alat ujian automatik milik sebelumnya yang dimiliki oleh syarikat Mercury Interactive sebelum ia diperoleh oleh Hewlett-Packard pada tahun 2006 . Selenium Tool Suite mempunyai banyak kelebihan berbanding QTP seperti yang diperincikan di bawah -
Kelebihan dan Kebaikan Selenium berbanding QTP
Selenium | QTP |
---|---|
Sumber terbuka , percuma untuk digunakan , dan percuma. | Komersial . |
Sangat boleh diperluas | Alat tambah terhad |
Boleh menjalankan ujian di pelbagai penyemak imbas | Hanya boleh menjalankan ujian di Firefox , Internet Explorer dan Chrome |
Menyokong pelbagai sistem operasi | Hanya boleh digunakan di Windows |
Menyokong peranti mudah alih | QTP Menyokong automasi ujian aplikasi Mudah Alih (iOS & Android) menggunakan penyelesaian HP yang disebut - HP Mobile Center |
Boleh melaksanakan ujian manakala yang pelayar dikurangkan | Memerlukan aplikasi yang diuji agar dapat dilihat di desktop |
Boleh menjalankan ujian secara selari . | Hanya boleh dijalankan secara selari tetapi menggunakan Quality Center yang sekali lagi merupakan produk berbayar. |
Kelebihan QTP berbanding Selenium
QTP | Selenium |
---|---|
Boleh menguji aplikasi web dan desktop | Hanya boleh menguji aplikasi web |
Dilengkapi dengan repositori objek terbina dalam | Tidak mempunyai repositori objek terbina dalam |
Automatik lebih pantas daripada Selenium kerana ia adalah IDE yang lengkap. | Automasikan pada kadar yang lebih perlahan kerana tidak mempunyai IDE asli dan hanya IDE pihak ketiga yang dapat digunakan untuk pembangunan |
Pengujian berdasarkan data lebih mudah dilakukan kerana mempunyai jadual data global dan tempatan yang terbina dalam . | Pengujian berdasarkan data lebih membebankan kerana anda harus bergantung pada kemampuan bahasa pengaturcaraan untuk menetapkan nilai untuk data ujian anda |
Dapat mengakses kawalan dalam penyemak imbas (seperti bar Kegemaran, bar Alamat, butang Kembali dan Maju, dll.) | Tidak dapat mengakses elemen di luar aplikasi web yang sedang diuji |
Memberi sokongan pelanggan profesional | Tidak ada sokongan pengguna rasmi yang ditawarkan. |
Mempunyai kemampuan asli untuk mengeksport data ujian ke dalam format luaran | Tidak mempunyai kemampuan asli untuk mengeksport data runtime ke format luaran |
Sokongan Parameterisasi dibina | Parameterisasi dapat dilakukan melalui pengaturcaraan tetapi sukar dilaksanakan. |
Laporan Ujian dihasilkan secara automatik | Tiada sokongan asli untuk menghasilkan laporan ujian / pepijat. |
Walaupun jelas, QTP mempunyai kemampuan yang lebih maju, Selenium melebihi QTP dalam tiga bidang utama:
- Kos (kerana Selenium adalah percuma)
- Fleksibiliti (kerana sebilangan bahasa pengaturcaraan, penyemak imbas, dan platform yang dapat disokongnya)
- Pengujian selari (sesuatu yang mampu dilakukan oleh QTP tetapi hanya dengan penggunaan Pusat Kualiti)
Ringkasan
- Keseluruhan Suite Pengujian Perisian Selenium terdiri daripada empat komponen:
- Selenium IDE, add-on Firefox yang hanya boleh anda gunakan dalam membuat kes ujian dan suite ujian yang agak mudah.
- Selenium Remote Control, juga dikenal sebagai Selenium 1, yang merupakan alat Selenium pertama yang memungkinkan pengguna menggunakan bahasa pengaturcaraan dalam membuat ujian yang kompleks.
- WebDriver, penembusan yang lebih baru yang membolehkan skrip ujian anda berkomunikasi terus ke penyemak imbas, dengan itu mengendalikannya dari peringkat OS.
- Selenium Grid juga merupakan alat yang digunakan dengan Selenium RC untuk menjalankan ujian selari di pelayar dan sistem operasi yang berbeza.
- Selenium RC dan WebDriver digabungkan untuk membentuk Selenium 2.
- Selenium lebih menguntungkan daripada QTP dari segi kos dan fleksibiliti. Ia juga membolehkan anda menjalankan ujian secara selari, tidak seperti di QTP di mana anda hanya dibenarkan menjalankan ujian secara berurutan.