Laman

17 Sep 2014

Pengantar WebDriver & Perbandingan dengan Selenium RC

Apa itu WebDriver?
WebDriver adalah kerangka otomatisasi web yang memungkinkan Anda untuk melaksanakan tes Anda terhadap browser yang berbeda, bukan hanya Firefox (seperti Selenium IDE).


WebDriver juga memungkinkan Anda untuk menggunakan bahasa pemrograman dalam menciptakan skrip uji Anda (tidak mungkin di Selenium IDE). Anda sekarang dapat menggunakan operasi kondisional seperti kasus beralih if-then-lain atau anda juga dapat melakukan perulangan seperti do-while. Bahasa pemrograman yang didukung oleh WebDriver :

  • Java
  • Net
  • PHP
  • Python
  • Perl
  • Ruby

WebDriver Vs Selenium RC

Sebelum munculnya WebDriver pada tahun 2006, ada yang lain, alat otomatisasi yang disebut Selenium Remote Control. WebDriver dan Selenium RC memiliki fitur sebagai berikut:
  • Mereka berdua memungkinkan Anda untuk menggunakan bahasa pemrograman dalam merancang uji script Anda.
  • Mereka berdua memungkinkan Anda untuk menjalankan tes terhadap browser yang berbeda.

Arsitektur

Arsitektur WebDriver ini lebih sederhana daripada Selenium RC.
  • Mengontrol browser dari tingkat OS
  • IDE bahasa pemrograman Anda (yang berisi perintah Selenium Anda) dan browser.
  • Anda harus terlebih dahulu meluncurkan aplikasi terpisah yang disebut Selenium Remote Control (RC) Server sebelum Anda dapat memulai pengujian.
  • Selenium RC Server bertindak sebagai "perantara" antara perintah Selenium dan browser Anda.
  • Ketika Anda memulai pengujian, Selenium RC Server "menyuntikkan" sebuah program Javascript yang disebut Selenium Inti ke browser.
  • Setelah disuntikkan, Selenium Inti akan mulai menerima instruksi disampaikan oleh Server RC dari program pengujian Anda.
  • Ketika instruksi yang diterima, Selenium Inti akan mengeksekusi mereka sebagai perintah Javascript.
  • Browser akan mematuhi instruksi dari Selenium Core, dan akan menyampaikan tanggapannya terhadap RC Server.
  • RC Server akan menerima respon dari browser dan kemudian menampilkan hasilnya kepada Anda.
  • RC Server akan mengambil instruksi berikutnya dari script tes untuk mengulang seluruh siklus.

Kecepatan
  • WebDriver lebih cepat daripada Selenium RC karena berbicara langsung ke browser menggunakan mesin browser sendiri untuk mengendalikannya.
  • Selenium RC lebih lambat karena menggunakan program Javascript yang disebut Selenium Core. Core ini merupakan salah satu yang langsung mengendalikan browser, bukan Anda.

Interaksi Real-Life
  • WebDriver berinteraksi dengan elemen halaman dengan cara yang lebih realistis. Misalnya, jika Anda memiliki kotak teks dinonaktifkan pada halaman yang sedang diuji, WebDriver benar-benar tidak bisa memasukkan nilai apapun di dalamnya hanya bagaimana orang yang nyata tidak bisa.
  • Selenium Inti, seperti kode Javascript lainnya, dapat mengakses elemen tersembunyi. Dulunya, penguji Selenium mengeluh bahwa Selenium Inti mampu memasukkan nilai-nilai ke kotak teks tersembunyi pada saat ditest.

API

Selenium RC API merupakan lebih matang tetapi berisi redudansi dan sering membingungkan perintah. Sebagai contoh, sebagian besar waktu, penguji bingung apakah akan menggunakan jenis atau typeKeys; atau apakah akan menggunakan klik, mouseDown, atau mouseDownAt. Lebih buruk lagi, browser yang berbeda menafsirkan setiap perintah ini dengan cara yang berbeda juga!

WebDriver API lebih sederhana daripada Selenium RC. Itu tidak berisi perintah berlebihan dan membingungkan.

Browser Support

WebDriver dapat mendukung browser HtmlUnit tanpa kepala
  • HtmlUnit disebut sebagai "tanpa kepala" karena browser tidak terlihat - itu adalah kekurangan GUI.
  • Browser yang sangat cepat karena tidak ada waktu yang dihabiskan dalam menunggu elemen halaman untuk memuat. Hal ini akan mempercepat siklus pelaksanaan tes Anda.
  • Karena terlihat oleh pengguna, hanya dapat dikontrol melalui sarana otomatis.
Selenium RC tidak dapat mendukung browser HtmlUnit tanpa kepala.

Keterbatasan WebDriver

WebDriver Tidak Mudah Mendapatkan Dukungan Browser Baru

Ingat bahwa WebDriver beroperasi pada tingkat OS. Juga ingat bahwa browser yang berbeda berkomunikasi dengan OS dengan cara yang berbeda. Jika browser baru keluar, mungkin memiliki proses yang berbeda untuk berkomunikasi dengan OS dibandingkan dengan browser lain. Jadi, Anda harus memberikan tim WebDriver beberapa waktu untuk mengetahui bahwa proses baru sebelum mereka dapat menerapkannya pada rilis WebDriver berikutnya.
Namun, tim WebDriver dari pengembang akan untuk memutuskan apakah mereka harus mendukung browser baru atau tidak.

Selenium RC Telah Built-In Hasil Uji Generator

Selenium RC secara otomatis menghasilkan file HTML dari hasil tes. Format laporan pra-ditetapkan oleh RC sendiri.
WebDriver telah ada built-in perintah yang secara otomatis menghasilkan Hasil Uji file. Anda akan harus bergantung pada output window IDE Anda, atau desain laporan sendiri menggunakan kemampuan bahasa pemrograman Anda dan menyimpannya sebagai teks, html, dan lain-lain

Tidak ada komentar:

Posting Komentar