Apa itu Web Driver dan Perbandingannya dengan Selenium RC

Apa itu Web Driver dan Perbandingannya dengan Selenium RC Perusahaan IOT Indonesia

Tools automation testing diperlukan oleh web developer atau software tester. Automation testing  adalah teknik yang bertujuan untuk melakukan pengujian perangkat lunak untuk menguji hasil dari output dan membandingkannya dengan output yang diharapkan.

Umumnya, tester menggunakan auto testing untuk menguji perangkat lunak yang sulit diuji secara manual. Ada banyak tools automation testing hingga saat ini, tetapi salah satu yang paling populer adalah Web Driver. Bagi yang belum mengetahui tentang apa itu Web Driver, mari kita simak artikel mengenai Web Driver berikut ini.
 

Apa Itu Web Driver?


Web Driver adalah kerangka otomatisasi web yang memungkinkan Anda menjalankan pengujian di berbagai browser, bukan hanya Firefox (seperti Selenium IDE). Web Driver juga memungkinkan Anda menggunakan bahasa pemrograman untuk membuat skrip pengujian (tidak mungkin di Selenium IDE). Anda sekarang dapat menggunakan operasi kondisional seperti if-then-else atau Anda juga dapat membuat perulangan seperti do-while. Bahasa pemrograman yang didukung oleh Web Driver:

- Java
- Net
- PHP
- Python
- Perl
- Ruby
 

Perbandingan Web Driver vs Selenium RC


Sebelum Web Driver lahir pada tahun 2006, ada alat otomasi lain yang disebut Selenium Remote Control. Web Driver dan Selenium RC ini menyertakan beberapa fitur berikut:

- Keduanya memungkinkan Anda menggunakan bahasa pemrograman saat merancang skrip pengujian.

- Keduanya memungkinkan Anda menjalankan tes di browser yang berbeda. 
 

Sejarah Singkat Selenium


Selenium awalnya dikembangkan dari alat internal oleh Jason Huggins di ThoughtWorks pada tahun 2004. Kemudian pada tahun 2007, Huggins bergabung dengan organisasi Google dan melanjutkan desain dan pengembangan Selenium RC, salah satu varian awal Selenium, bersama dengan Jennifer Bevan. Di waktu yang sama, seseorang bernama Simon Stewart dari ThoughtWorks mengembangkan alat otomasi browser secanggih Web Driver.

Pada tahun 2008, Philippe Hanrigou dari ThoughtWorks menemukan konsep otomatisasi jarak jauh yang dikenal sebagai Selenium Grid. Pada tahun 2009, di Google Test Automation Conference, diputuskan untuk menggabungkan kedua proyek tersebut dan menamainya Selenium Web Driver atau Selenium 2.0.
 

Keuntungan Selenium Web Driver


1. Sumber terbuka 

Selenium adalah teknologi/kerangka kerja open source, jadi ada dukungan komunitas yang sangat besar di mana area pengembangan dan peningkatannya cepat dan tersebar luas. Sumber terbuka juga memungkinkan Anda menerapkan fungsionalitas apa pun yang Anda perlukan sebagai bagian dari pekerjaan Anda dan berkontribusi pada komunitas sumber terbuka.

2. Mendukung bahasa pemrograman multi 

Sebagian besar bahasa pemrograman mendukung selenium yang muncul dengan berbagai bahasa pemrograman sehingga Anda dapat memilih bahasa pilihan Anda untuk bekerja sesuai dengan kebutuhan dan keahlian.

Selenium mendukung bahasa pemrograman berikut :

- Java 
- C#
- Perl
- Ruby
- Javascript

3. Platform independen

Selenium adalah platform independen, sehingga Anda dapat mengotomatiskan situs web Anda pada platform dan sistem operasi apa pun seperti Windows, Linux, macOS, dan lain-lain. 

4. Kemampuan pengujian lintas browser

Selenium mendukung kemampuan pengujian lintas browser dari aplikasi web Anda. Sehingga  Anda dapat menjalankan test suite yang ditulis dalam Selenium di beberapa browser seperti Firefox, Chrome, IE, Safari, dan lain-lain.

5. Kemampuan pengujian lintas perangkat

Selenium Test Automation digunakan untuk otomatisasi pengujian aplikasi web seluler pada perangkat yang berbeda seperti Android dan iOS.

6. Eksekusi jarak jauh atau cloud

Selenium GRID memberi Anda fungsi untuk menjalankan dan mengelola skrip pengujian untuk mengotomatiskan aplikasi web di cloud dengan menjadikan satu sistem sebagai node master dan sistem lain sebagai node slave, node slave yang terhubung ke Node master, dan ode master memantau slave node. Tes terjadi pada node slave yang berbeda dengan sistem operasi yang berbeda dan browser berbeda seperti Chrome, Firefox, Internet Explorer dan lain-lain.

7. Kemampuan pengujian paralel

Dengan Selenium Anda dapat mencapai kemampuan pengujian paralel otomatis, yang berarti Anda dapat menjalankan skrip pengujian atau kasus pengujian otomatisasi secara paralel pada browser yang berbeda atau sama dan pada sistem operasi yang berbeda atau sama. Fitur ini membantu Anda mencapai waktu eksekusi yang lebih cepat untuk seluruh rangkaian pengujian otomatisasi dan juga memungkinkan Anda menguji kelayakan dan kompatibilitas aplikasi web Anda dengan beberapa sistem operasi dan beberapa browser secara bersamaan.

8. Kompatibilitas dengan beberapa framework dan alat serta teknologi pihak ketiga

Kerangka kerja Selenium dapat dengan mudah diintegrasikan dengan berbagai teknologi dan kerangka kerja pihak ketiga, seperti kerangka Unit Test yang berbeda, mis TestNg, JUnit, MbUnit, Nunit, dan lain-lain. Alat pembuatan yang berbeda seperti Ant, Maven, Gradle, dan lain-lain. Alat integrasi berkelanjutan, yaitu Jenkins, Alat manajemen pengujian yang berbeda seperti Jira, testlink dan lain-lain. Dan berbagai alat pelaporan seperti Daya Tarik, Luas Laporkan dan lain-lain.

9. Eksekusi headless browser

Selenium Web Driver mendukung browser tanpa kepala untuk otomatis eksekusi uji kasus, di mana semua kasus uji otomasi dijalankan dalam mode browser tanpa kepala, yaitu tidak ada browser tidak terbuka dan eksekusi menjadi secepat kilat, memungkinkan Anda menyelesaikan skrip dan fungsi pengujian dengan cepat jika ada rilis dan validasi yang mendesak.

Anda pada dasarnya dapat menggunakan htmlUnitdriver or pengemudi hantu untuk menjalankan eksekusi tanpa kepala dengan Selenium.  
 

Kekurangan selenium


1. Tidak ada dukungan aplikasi berbasis asli/jendela

Selenium digunakan untuk aplikasi Automating Web Bade, tetapi tidak mendukung aplikasi asli atau berbasis Windows.

2. Otomatisasi berbasis gambar penuh

Selenium tidak memberikan dukungan penuh untuk otomatisasi tema atau aplikasi berbasis gambar, meskipun kami dapat menggunakan beberapa alat pihak ketiga seperti Sikul, solusi berbasis Tesseract OCR yang dapat diintegrasikan ke dalam Selenium untuk melakukan validasi/operasi gambar atau ekstraksi data gambar. kerja dan Validasi mereka juga memiliki beberapa batasan karena Anda mungkin mengalami masalah dalam pengujian paralel, mengenali dokumen tulisan tangan dan memvalidasi dokumen saat mengotomatiskan aplikasi Anda jika ada kasus penggunaan seperti itu.

3. Integrasi dengan alat pihak ketiga 

Kelemahan untuk mengintegrasikan beberapa alat pihak ketiga ke dalam Selenium adalah skrip otomasi Anda terkadang menjadi lebih lambat.

4. Kerangka selenium pengembangan

Merancang dan mengembangkan kerangka otomatisasi pengujian lanjutan dengan Selenium membutuhkan banyak keahlian Selenium, dan tidak mudah membuat kerangka kerja otomatisasi dengan banyak alat menggunakan Selenium. 

5. Masalah khusus browser

Saat bekerja dengan Selenium, terutama IE, Anda mungkin mengalami beberapa masalah khususnya pada browser. Terkadang, Anda mungkin tidak dapat memproses tindakan web seperti klik, tombol kirim, dan sebagainya. Oleh karena itu, Anda memerlukan lebih banyak pengetahuan untuk menangani area ini saat mengotomatiskan aplikasi berdasarkan Bootstrap JS dan menjalankannya di browser IE.

Mungkin juga ada masalah kompatibilitas browser dengan versi Selenium Web Driver, Anda harus memastikan bahwa Anda menggunakan Firefox, Chrome, atau browser lain yang kompatibel yang Anda gunakan dengan versi Selenium Web Driver.

6. Tidak ada dukungan resmi

Seperti alat open source lainnya, Selenium juga merupakan alat sumber terbuka, yang berarti Anda tidak memiliki dukungan resmi untuk masalah Anda seperti alat berbayar, meskipun ada dukungan komunitas yang sangat besar untuk bekerja dengan laporan masalah Anda. tapi itu bisa sangat memakan waktu.


Bagaimana Selenium RC bekerja secara internal?

Selenium RC terdiri dari dua komponen utama yaitu Selenium Server dan Selenium Client. Server Selenium meluncurkan browser dan menjalankan perintah Selenium yang Anda tulis sebagai skrip otomasi pengujian menggunakan pustaka klien Selenium, yang tersedia dalam beberapa bahasa. Server Selenium mengonversi perintah/skrip pengujian menjadi apa yang disebut perintah Selenium dan bertindak sebagai proksi HTTP. Server Selenium berinteraksi dengan mesin browser dan menjalankan fungsi web yang ingin Anda otomatisasi sebagai bagian dari kasus pengujian aplikasi yang diuji.

Langkah-langkah menggunakan Selenium RC :

1. Instal Server Selenium-RC
2. Buat proyek dalam bahasa pemrograman dan bahasa khusus pilihan Anda untuk driver browser.
3. Instal Server Selenium
4. Anda dapat mengatur Server Selenium hanya dengan mengunduh file selenium-server.jar dan menjalankannya di sistem Anda dengan menggunakan perintah di bawah ini : 
java -jar selenium-server.jar

5. Tulis skrip menggunakan pustaka klien Selenium dan yang sama di server Selenium.
 

Keterbatasan Web Driver


1. Driver Web tidak mudah mendapatkan dukungan untuk browser baru

Ingatlah bahwa Driver Web berjalan di sistem operasi. Ingat juga bahwa browser yang berbeda berkomunikasi dengan sistem operasi dengan cara yang berbeda. Saat browser baru dirilis, browser tersebut mungkin memiliki proses komunikasi yang berbeda dengan sistem operasi dibandingkan dengan browser lain. Jadi, Anda perlu memberi tim Web Driver waktu untuk membiasakan diri dengan proses baru sebelum mereka dapat mengimplementasikannya saat rilis Web Driver berikutnya. Namun, pengembang driver web harus memutuskan apakah akan mendukung browser baru atau tidak.

2. Selenium RC Telah Built-In Hasil Uji Generator

Selenium RC secara otomatis menghasilkan file HTML dari hasil pengujian. Format laporan ditentukan oleh RC itu sendiri.
Driver Web tidak memiliki perintah bawaan yang secara otomatis membuat file hasil tes. Anda harus mengandalkan output dari jendela IDE Anda atau mendesain sendiri laporan tersebut menggunakan keahlian bahasa pemrograman Anda dan menyimpannya sebagai teks, HTML, dan lain-lain.
 

Kesimpulan


Demikianlah penjelasan tentang apa itu Web Driver sebagai salah satu tools pengujian web apps yang paling sering digunakan saat ini. Alat ini dapat memudahkan pekerjaan para developer dalam mendapatkan kinerja aplikasi web yang sesuai harapan. Semoga bermanfaat! 



 

Artikel Terbaru