Last Updated on January 29, 2022 by
Selenium adalah salah satu keterampilan yang paling dicari untuk pengujian otomatisasi. Tapi, tahukah Anda apa itu Selenium? Apakah Anda tahu mengapa Selenium digunakan? Artikel ini akan menjelaskan apa itu Selenium.
Berjam-jam dihabiskan untuk menguji aplikasi web untuk memastikannya berfungsi di dalam dan di luar lingkungan pengembangan lokal.
Sebelum Selenium, pengujian ini jatuh ke sejumlah penguji manual, yang memberlakukan dan menghidupkan kembali ratusan skenario kasus uji pada semua browser yang diukur, menandai apa yang rusak dan mencoba menunjukkan sumber kerusakan itu.
Bergantung pada ukuran tim pengujian manual, pengujian sistem ujung-ke-ujung dapat memakan waktu antara hari hingga minggu untuk menjalankannya.
Metodologi pengembangan saat ini bekerja dalam kerangka waktu yang jauh lebih singkat, yaitu dua hingga empat minggu. Pengiriman rilis baru yang bebas bug pada waktu itu membutuhkan pengujian deterministik dan berulang yang memberikan umpan balik yang hampir instan.
Itulah mengapa Anda harus mengetahui apa itu Selenium. Dan pengujian Selenium merupakan bagian integral dari pengembangan saat ini. Berikut adalah pandangan yang lebih dalam tentang apa itu Selenium dan pengujian otomatisasinya.
Juga, bagaimana perangkat yang memungkinkannya muncul, dan di mana penggunaannya sesuai dengan pipeline pengembangan cepat yang umum saat ini.
Table of Contents
Apa itu Selenium?
Selenium adalah alat sumber terbuka yang mengotomatiskan peramban web. Ini menyediakan antarmuka tunggal yang memungkinkan Anda menulis skrip pengujian dalam bahasa pemrograman seperti Ruby, Java, NodeJS, PHP, Perl, Python, dan C#, antara lain. Driver browser kemudian mengeksekusi skrip ini pada instance browser di perangkat Anda.
Sebagian besar browser desktop/seluler saat ini memiliki dukungan bawaan untuk pengujian otomatisasi dengan Selenium. Vendor browser konsumen seperti Firefox, Chrome, Safari, IE, dan Opera mengembangkan dan mengirimkan driver browser mereka.
Pada tahun-tahun sejak pertama kali melakukan open-source, yang lain telah berkontribusi pada proyek Selenium dengan menambahkan driver pihak ketiga untuk browser khusus seperti BlackBerry 10 dan HtmlUnit, serta binding untuk integrasi dengan kerangka kerja pengembangan seperti PhantomJS, Qt, dll.
Cara Kerja Selenium
Selenium WebDriver
Apa itu Selenium WebDriver? Ini juga dikenal sebagai Selenium 2.0. Selenium WebDriver menjalankan skrip pengujian melalui driver khusus browser. Ini terdiri dari:
- API
Ports menguji skrip yang Anda tulis di Ruby, Java, Python, atau C# ke dalam Selenese (bahasa skrip Selenium sendiri), melalui binding. - Library
Menampung API dan binding khusus bahasa. Meskipun banyak binding pihak ketiga tersedia untuk mendukung bahasa pemrograman yang berbeda, binding sisi klien inti yang didukung oleh proyek utama adalah: Selenium Java (sebagai file jar selenium), Selenium Ruby, Selenium dotnet (atau Selenium C#, tersedia sebagai .dll file), Selenium Python, dan Selenium JavaScript (Node). - Driver
Modul yang dapat dieksekusi yang membuka instance browser dan menjalankan skrip pengujian. Khusus browser – misalnya, Google mengembangkan dan mengelola Chromedriver untuk Selenium yang mendukung otomatisasi di Chromium/Chrome. - Framework
Pustaka dukungan untuk integrasi dengan kerangka kerja uji bahasa alami atau pemrograman, seperti Selenium dengan Cucumber atau Selenium dengan TestNG.
Protokol WebDriver memiliki ujung lokal (‘klien’) yang mengirimkan perintah (skrip pengujian) ke driver khusus browser. Driver menjalankan perintah ini pada instance browser-nya.
Jadi, jika skrip pengujian meminta eksekusi di Chrome dan Firefox, ChromeDriver akan menjalankan pengujian di Chrome. GeckoDriver akan melakukan hal yang sama di Firefox.
Skrip pengujian hanya dijalankan jika klien dan browser / driver WebDriver terhubung. Mereka tidak harus berada di perangkat yang sama. Untuk mengaktifkan eksekusi uji pada beberapa driver jarak jauh, Anda memerlukan RemoteWebDriver dan Grid.
Selenium Grid
Grid dapat meminimalkan waktu proses pengujian, dengan menjalankan beberapa skrip pengujian pada sejumlah perangkat jarak jauh sekaligus. Ini disebut pengujian paralel.
Apa itu Selenium Grid? Selenium Grid adalah server pintar yang merutekan perintah uji ke instance browser pada perangkat jarak jauh. Dua komponen utama yang diperlukan untuk ini (selain skrip pengujian dari sisi klien / penguji) adalah:
- Hub (server). Menerima permintaan akses dari klien WebDriver. Merutekan perintah uji JSON ke driver jarak jauh pada ‘node’ terdaftar.
- Node (perangkat jarak jauh). Berisi OS asli, browser, dan remoteWebDriver.
WebDriver-client menjalankan pengujian pada perangkat yang jauh melalui remoteWebDriver. RemoteWebDriver seperti WebDriver biasa, kecuali dua komponennya adalah Klien (skrip pengujian Anda) dan Server (servlet Java yang benar-benar menjalankan pengujian pada perangkat jarak jauh).
Dalam skrip pengujian Anda, Anda menentukan ‘kemampuan yang diinginkan’ (perangkat, platform, browser, dll.) dari node tempat pengujian akan dijalankan. Hub menerima skrip ini, berjalan melalui node yang terdaftar untuk menemukan satu yang cocok dengan kemampuan yang diinginkan, dan memberikan pengujian padanya untuk dieksekusi.
Menyiapkan Grid cukup mudah. Tetapi penskalaan, konfigurasi, dan pemeliharaan integritasnya dapat menghabiskan banyak sumber daya. Pastikan untuk mengadopsinya setelah pertimbangan yang cermat.
Selenium IDE
Selenium IDE adalah plugin Chrome dan Firefox yang dapat mencatat interaksi ‘alami’ di browser dan membuat kodenya dalam bahasa pemrograman seperti C#, Java, Python, dan Ruby, serta Selenese. Penguji dapat mengaktifkan perekaman dalam IDE dan memainkan skenario pengujian di browser. IDE kemudian dapat memutar ulang interaksi tersebut dan menyorot setiap kesalahan (selama pemutaran ulang) dengan warna merah.
Perlu diingat bahwa meskipun plugin ini cepat dan bermanfaat, kode yang dihasilkan umumnya terlalu berantakan untuk digunakan dalam skrip pengujian otomatisasi. Jadi gunakan untuk pembuatan prototipe cepat. Tapi untuk pengujian lintas browser yang lebih serius, kami merekomendasikan untuk menggunakan apa itu Selenium WebDriver.
Mengapa Kita Membutuhkan Pengujian Otomatisasi Selenium?
Bayangkan penguji manual memiliki skenario ini: Memeriksa apakah halaman pendaftaran aplikasi web (www.example.com/signup) memvalidasi string masukan dan berhasil mendaftarkan pengguna di versi terbaru Chrome dan Firefox, di Windows 7.
Asumsikan bahwa halaman pendaftaran memiliki kolom input ini: nama pengguna, alamat email, dan sandi. Penguji akan mendapatkan desktop Windows 7 dan mengikuti langkah-langkah berikut, secara berurutan, pada versi terbaru Chrome dan Firefox:
- Masukkan URL di bilah alamat (www.example.com/signup)
- Masukkan string yang tidak valid di setiap bidang input (email, nama pengguna, dan kata sandi)
- Periksa apakah string input divalidasi terhadap ekspresi reguler yang sesuai dan nilai apa pun yang sudah ada sebelumnya dalam database
- Masukkan string yang ‘vali’’ di setiap bidang masukan; klik Daftar
- Periksa apakah halaman “Selamat datang,‘{‘username’}’” muncul
- Periksa apakah database sistem membuat ID pengguna baru untuk ‘{‘username’}’
- TAndai pengujian sebagai ‘passed’ jika ya, ‘failed’ jika fitur pendaftaran rusak di mana saja selama pengujian.
Itu adalah pengujian sistem yang sangat dasar. Biasanya, penguji lebih cenderung memeriksa semua alur kerja pengguna untuk mencari kerusakan, pada sebanyak mungkin kombinasi OS-browser yang diperlukan untuk memenuhi standar kompatibilitas yang diukur.
Bergantung pada jumlah penguji manual (dan ketelitian kasus pengujian), mungkin perlu waktu antara jam hingga berminggu-minggu untuk memastikan bahwa aplikasi web berfungsi sepenuhnya.
Pengembang modern dan tim produk tidak memiliki waktu sebanyak itu untuk dialokasikan untuk pengujian. Tetapi mereka juga tidak dapat mengesampingkan pengujian yang melelahkan untuk segera dirilis. Inilah mengapa mereka mengisi daya pengujian mereka dengan otomatisasi, didukung oleh apa itu Selenium.
Kunjungi Web App di https://appkey.id/ atau download aplikasinya di Google Play Store agar Anda tidak ketinggalan informasi terbaru.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.