Apa itu Selenium Webdriver?
Selenium Webdriver adalah kumpulan sumber terbuka API yang digunakan untuk menguji aplikasi web. Alat Selenium Webdriver digunakan untuk mengautomasikan ujian aplikasi web untuk mengesahkan bahawa ia berfungsi seperti yang diharapkan atau tidak. Ia menyokong penyemak imbas seperti Firefox, Chrome, Safari dan Internet Explorer. Ini juga membolehkan anda menjalankan ujian silang penyemak imbas.
WebDriver juga membolehkan anda menggunakan bahasa pengaturcaraan dalam membuat skrip ujian anda (tidak mungkin di Selenium IDE).
Anda kini boleh menggunakan operasi bersyarat seperti if-then-else atau case-case. Anda juga boleh melakukan gelung seperti buat sementara waktu.
Bahasa pengaturcaraan berikut disokong oleh WebDriver
- Jawa
- .Bersih
- PHP
- Python
- Perl
- Ruby
Anda tidak perlu mengetahui semuanya. Anda hanya perlu berpengetahuan dalam satu. Namun, dalam tutorial ini, kita akan menggunakan Java dengan Eclipse sebagai IDE kita.
Perbezaan antara Selenium RC dan Webdriver
Sebelum munculnya WebDriver pada tahun 2006, ada satu lagi alat automasi yang disebut Selenium Remote Control. WebDriver dan Selenium RC mempunyai ciri-ciri berikut:
- Mereka berdua membolehkan anda menggunakan bahasa pengaturcaraan dalam merancang skrip ujian anda.
- Keduanya membolehkan anda menjalankan ujian terhadap penyemak imbas yang berbeza.
Jadi bagaimana mereka berbeza? Mari kita bincangkan jawapannya.
1. Senibina
Senibina WebDriver lebih sederhana daripada Selenium RC .
- Ia mengawal penyemak imbas dari peringkat OS
- Yang anda perlukan hanyalah IDE bahasa pengaturcaraan anda (yang mengandungi perintah Selenium anda) dan penyemak imbas.
Senibina Selenium RC jauh lebih rumit.
- Anda perlu melancarkan aplikasi berasingan yang disebut Selenium Remote Control (RC) Server sebelum anda boleh memulakan ujian
- Selenium RC Server bertindak sebagai "orang tengah" antara arahan Selenium dan penyemak imbas anda
- Apabila anda memulakan ujian, Selenium RC Server "memasukkan" program Javascript yang disebut Selenium Core ke dalam penyemak imbas.
- Setelah disuntik, Selenium Core akan mula menerima arahan yang disampaikan oleh Pelayan RC dari program ujian anda.
- Apabila arahan diterima, Selenium Core akan melaksanakannya sebagai perintah Javascript.
- Penyemak imbas akan mematuhi arahan Selenium Core dan menyampaikan responsnya ke Pelayan RC.
- Pelayan RC akan menerima respons penyemak imbas dan kemudian memaparkan hasilnya kepada anda.
- Pelayan RC akan mengambil arahan seterusnya dari skrip ujian anda untuk mengulangi keseluruhan kitaran.
2. Kepantasan
WebDriver lebih pantas daripada Selenium RC kerana bercakap secara langsung dengan penyemak imbas menggunakan enjin penyemak imbas sendiri untuk mengawalnya.
Selenium RC lebih perlahan kerana menggunakan program Javascript yang disebut Selenium Core. Selenium Core inilah yang mengendalikan penyemak imbas secara langsung, bukan anda.
3. Interaksi kehidupan sebenar
WebDriver berinteraksi dengan elemen halaman dengan cara yang lebih realistik. Sebagai contoh, jika anda mempunyai kotak teks yang dilumpuhkan pada halaman yang anda uji, WebDriver benar-benar tidak dapat memasukkan nilai di dalamnya seperti bagaimana orang yang sebenarnya tidak dapat.
Selenium Core, seperti kod JavaScript lain, dapat mengakses elemen yang dilumpuhkan. Pada masa lalu, penguji Selenium mengadu bahawa Selenium Core dapat memasukkan nilai ke kotak teks yang dilumpuhkan dalam ujian mereka. Perbezaan API
4. API

API Selenium RC lebih matang tetapi mengandungi kelebihan dan perintah yang sering membingungkan . Sebagai contoh, pada kebanyakan masa, penguji keliru sama ada menggunakan jenis atau jenisKeys; atau sama ada menggunakan click, mouseDown, atau mouseDownAt. Lebih buruk lagi, penyemak imbas yang berbeza menafsirkan setiap perintah ini dengan cara yang berbeza juga!
API WebDriver lebih sederhana daripada Selenium RC . Ia tidak mengandungi perintah berlebihan dan membingungkan.
5. Sokongan Penyemak Imbas
WebDriver dapat menyokong penyemak imbas HtmlUnit tanpa kepala
HtmlUnit diistilahkan sebagai "tanpa kepala" kerana ia adalah penyemak imbas yang tidak dapat dilihat - ia adalah tanpa GUI.
Ini adalah penyemak imbas yang sangat pantas kerana tidak ada masa yang dihabiskan untuk menunggu elemen halaman dimuat. Ini mempercepat kitaran pelaksanaan ujian anda.
Oleh kerana ia tidak dapat dilihat oleh pengguna, ia hanya dapat dikendalikan dengan cara automatik.
Selenium RC tidak dapat menyokong penyemak imbas HtmlUnit tanpa kepala. Ia memerlukan penyemak imbas yang nyata dan dapat dilihat untuk beroperasi.
Batasan Pemacu Web
WebDriver Tidak Dapat Menyokong Penyemak Imbas Baru
Ingat bahawa WebDriver beroperasi di peringkat OS. Juga, ingat bahawa penyemak imbas yang berbeza berkomunikasi dengan OS dengan cara yang berbeza. Sekiranya penyemak imbas baru keluar, ia mungkin mempunyai proses komunikasi yang berbeza dengan OS berbanding penyemak imbas lain. Oleh itu, anda perlu memberi masa kepada pasukan WebDriver untuk mengetahui proses baru sebelum mereka dapat melaksanakannya pada siaran WebDriver seterusnya.
Namun, terserah kepada pasukan pembangun WebDriver untuk memutuskan apakah mereka harus menyokong penyemak imbas baru atau tidak.
Selenium RC Mempunyai Penjana Hasil Ujian Built-In
Selenium RC menghasilkan fail HTML hasil ujian secara automatik . Format laporan telah ditetapkan oleh RC sendiri. Lihat contoh laporan ini di bawah.
WebDriver tidak mempunyai arahan terbina dalam yang menghasilkan Fail Hasil Ujian secara automatik . Anda harus bergantung pada tetingkap keluaran IDE anda, atau merancang sendiri laporan tersebut menggunakan kemampuan bahasa pengaturcaraan anda dan menyimpannya sebagai teks, HTML, dll.
Ringkasan
- WebDriver adalah alat untuk menguji aplikasi web di pelayar yang berbeza menggunakan bahasa pengaturcaraan yang berbeza.
- Anda kini dapat membuat ujian yang hebat kerana WebDriver membolehkan anda menggunakan bahasa pengaturcaraan pilihan anda dalam merancang ujian anda.
- WebDriver lebih pantas daripada Selenium RC kerana senibina yang lebih ringkas.
- WebDriver secara langsung bercakap dengan penyemak imbas sementara Selenium RC memerlukan bantuan Pelayan RC untuk melakukannya.
- API WebDriver lebih ringkas daripada Selenium RC.
- WebDriver dapat menyokong HtmlUnit sementara Selenium RC tidak dapat.
- Satu-satunya kelemahan WebDriver adalah:
- Ia tidak dapat menyokong penyemak imbas baru , tetapi Selenium RC dapat.
- Ia tidak mempunyai arahan terbina dalam untuk menghasilkan keputusan ujian automatik.