Apa itu Selenium? Pengantar Pengujian Otomasi Selenium

Daftar Isi:

Anonim

Apa itu Selenium?

Selenium adalah framework pengujian otomatis gratis (open-source) yang digunakan untuk memvalidasi aplikasi web di berbagai browser dan platform. Anda dapat menggunakan beberapa bahasa pemrograman seperti Java, C #, Python dll untuk membuat Skrip Tes Selenium. Pengujian yang dilakukan dengan menggunakan alat pengujian Selenium biasanya disebut dengan Selenium Testing.

Perangkat Lunak Selenium bukan hanya alat tunggal tetapi seperangkat perangkat lunak, masing-masing bagian melayani kebutuhan pengujian Selenium QA yang berbeda dari suatu organisasi. Berikut adalah daftar alatnya

  • Lingkungan Pengembangan Terpadu Selenium (IDE)
  • Selenium Remote Control (RC)
  • WebDriver
  • Selenium Grid
Pengantar Selenium

Saat ini, Selenium RC dan WebDriver digabungkan menjadi satu framework untuk membentuk Selenium 2 . Omong-omong, Selenium 1 mengacu pada Selenium RC.

Klik di sini jika video tidak dapat diakses

Dalam tutorial ini, Anda akan mempelajari:

  • Apa itu Selenium?
  • Siapa yang mengembangkan Selenium?
  • Masalah Kebijakan Asal yang Sama
  • Lahirnya Selenium Remote Control (Selenium RC)
  • Kelahiran Selenium Grid
  • Lahirnya Selenium IDE
  • Kelahiran WebDriver
  • Kelahiran Selenium 2
  • Lantas, Kenapa Dinamakan Selenium?
  • Pengantar Singkat Selenium IDE
  • Pengantar Singkat Selenium Remote Control (Selenium RC)
  • Pengantar Singkat WebDriver
  • Selenium Grid
  • Catatan tentang Dukungan Browser dan Lingkungan
  • Cara Memilih Alat Selenium yang Tepat untuk Kebutuhan Anda
  • Perbandingan antara Selenium dan QTP (sekarang UFT)
  • Keunggulan QTP dibandingkan Selenium

Siapa yang mengembangkan Selenium?

Karena Selenium adalah kumpulan alat yang berbeda, ia juga memiliki pengembang yang berbeda. Di bawah ini adalah orang-orang kunci yang memberikan kontribusi penting untuk Proyek Selenium

Terutama, Selenium dibuat oleh Jason Huggins pada tahun 2004 . Seorang insinyur di ThoughtWorks, dia mengerjakan aplikasi web yang membutuhkan pengujian rutin. Setelah menyadari bahwa Pengujian Manual berulang pada aplikasi mereka menjadi semakin tidak efisien, dia membuat program JavaScript yang secara otomatis akan mengontrol tindakan browser. Dia menamai program ini sebagai " JavaScriptTestRunner ".

Melihat potensi ide ini untuk membantu mengotomatiskan aplikasi web lainnya, ia membuat JavaScriptRunner open-source yang kemudian dinamai ulang sebagai Selenium Core .

Masalah Kebijakan Asal yang Sama

Kebijakan Asal yang Sama melarang kode JavaScript mengakses elemen dari domain yang berbeda dari tempat peluncurannya . Contoh, kode HTML di www.google.com menggunakan program JavaScript "randomScript.js". Kebijakan asal yang sama hanya akan mengizinkan randomScript.js mengakses halaman dalam google.com seperti google.com/mail, google.com/login, atau google.com/signup. Namun, ia tidak dapat mengakses halaman dari situs berbeda seperti yahoo.com/search atau guru99.com karena milik domain yang berbeda.

Inilah alasan mengapa sebelum Selenium RC, penguji perlu menginstal salinan lokal dari Selenium Core (program JavaScript) dan server web yang berisi aplikasi web yang sedang diuji sehingga mereka akan termasuk dalam domain yang sama

Lahirnya Selenium Remote Control (Selenium RC)

Sayangnya; penguji yang menggunakan Selenium Core harus menginstal seluruh aplikasi yang diuji dan server web di komputer lokal mereka sendiri karena pembatasan yang diberlakukan oleh kebijakan asal yang sama. Jadi insinyur ThoughtWork lainnya, Paul Hammant , memutuskan untuk membuat server yang akan bertindak sebagai proxy HTTP untuk "mengelabui" browser agar percaya bahwa Selenium Core dan aplikasi web yang diuji berasal dari domain yang sama. Sistem ini kemudian dikenal sebagai Selenium Remote Control atau Selenium 1 .

Kelahiran Selenium Grid

Selenium Grid dikembangkan oleh Patrick Lightbody untuk memenuhi kebutuhan meminimalkan waktu eksekusi uji sebanyak mungkin. Dia awalnya menyebut sistem " Hosted QA ". Itu mampu menangkap tangkapan layar browser selama tahap signifikan, dan juga mengirimkan perintah Selenium ke mesin yang berbeda secara bersamaan.

Lahirnya Selenium IDE

Shinya Kasatani dari Jepang menciptakan Selenium IDE , sebuah ekstensi Firefox yang dapat mengotomatiskan peramban melalui fitur rekam dan putar ulang. Dia datang dengan ide ini untuk lebih meningkatkan kecepatan dalam membuat kasus uji. Dia menyumbangkan Selenium IDE ke Selenium Project pada tahun 2006 .

Kelahiran WebDriver

Simon Stewart membuat WebDriver sekitar tahun 2006 ketika browser dan aplikasi web menjadi lebih kuat dan lebih ketat dengan program JavaScript seperti Selenium Core. Ini adalah framework pengujian lintas platform pertama yang dapat mengontrol browser dari level OS.

Kelahiran Selenium 2


Pada tahun 2008 , seluruh Tim Selenium memutuskan untuk menggabungkan WebDriver dan Selenium RC untuk membentuk alat yang lebih kuat yang disebut Selenium 2 , dengan WebDriver sebagai intinya . Saat ini Selenium RC masih dalam tahap pengembangan namun hanya dalam mode maintenance. Sebagian besar upaya Proyek Selenium sekarang difokuskan pada Selenium 2.

Lantas, Kenapa Dinamakan Selenium?

Nama Selenium berasal dari sebuah lelucon yang Jason buat sekali untuk timnya. Selama pengembangan Selenium, framework pengujian otomatis lainnya populer yang dibuat oleh perusahaan bernama Mercury Interactive (ya, perusahaan yang awalnya membuat QTP sebelum diakuisisi oleh HP). Karena Selenium adalah obat penawar yang terkenal untuk keracunan Merkurius, Jason menyarankan nama itu dan rekan satu timnya mengambilnya. Jadi begitulah cara kami memanggil kerangka kerja ini hingga saat ini.

Pengantar Singkat Selenium IDE

Selenium Integrated Development Environment (IDE) adalah kerangka kerja paling sederhana dalam rangkaian Selenium dan yang paling mudah dipelajari . Ini adalah plugin Firefox yang dapat Anda instal semudah mungkin dengan plugin lain. Namun, karena kesederhanaannya, Selenium IDE sebaiknya hanya digunakan sebagai alat pembuatan prototipe . Jika ingin membuat kasus pengujian yang lebih canggih, Anda perlu menggunakan Selenium RC atau WebDriver.

Pengantar Singkat Selenium Remote Control (Selenium RC)

Selenium RC adalah kerangka pengujian andalan dari seluruh proyek Selenium untuk waktu yang lama. Ini adalah alat pengujian web otomatis pertama yang memungkinkan pengguna menggunakan bahasa pemrograman yang mereka sukai . Mulai versi 2.25.0, RC dapat mendukung bahasa pemrograman berikut:

  • Jawa
  • C #
  • PHP
  • Python
  • Perl
  • Rubi

Pengantar Singkat WebDriver

WebDriver membuktikan dirinya lebih baik daripada Selenium IDE dan Selenium RC dalam banyak aspek. Ini menerapkan pendekatan yang lebih modern dan stabil dalam mengotomatiskan tindakan browser. WebDriver, tidak seperti Selenium RC, tidak mengandalkan JavaScript untuk Pengujian Otomasi Selenium. Ini mengontrol browser dengan berkomunikasi langsung dengannya.

Bahasa yang didukung sama dengan yang ada di Selenium RC.

  • Jawa
  • C #
  • PHP
  • Python
  • Perl
  • Rubi

Selenium Grid

Selenium Grid adalah alat yang digunakan bersama Selenium RC untuk menjalankan tes paralel di berbagai mesin dan browser yang berbeda secara bersamaan. Eksekusi paralel berarti menjalankan beberapa pengujian sekaligus.

Fitur:

  • Memungkinkan menjalankan pengujian secara bersamaan di beberapa browser dan lingkungan.
  • Sangat menghemat waktu .
  • Memanfaatkan konsep hub-and-node . Hub bertindak sebagai sumber pusat perintah Selenium ke setiap node yang terhubung dengannya.

Catatan tentang Dukungan Browser dan Lingkungan

Karena perbedaan arsitekturalnya, Selenium IDE, Selenium RC, dan WebDriver mendukung sekumpulan browser dan lingkungan operasi yang berbeda.

IDE Selenium WebDriver
Dukungan Browser Mozilla Firefox Internet Explorer versi 6 hingga 11, Microsoft Edge 32 dan 64-bit versi 12.10240 & yang lebih baru (sebagian mendukung beberapa fungsi yang sedang dikembangkan) Firefox 3.0 dan di atas Google Chrome 12.0. dan di atas Opera 11.5 dan di atasnya Android - 2.3 ke atas untuk ponsel dan tablet (perangkat & emulator) iOS 3+ untuk ponsel (perangkat & emulator) dan 3.2+ untuk tablet (perangkat & emulator) HtmlUnit 2.9 ke atas
Sistem operasi Windows, Mac OS X, Linux Semua sistem operasi tempat browser di atas dapat berjalan.

Catatan: Selenium WebDriver disebut sebagai penerus Selenium RC yang telah ditinggalkan & diumumkan secara resmi oleh SeleniumHQ.

Cara Memilih Alat Selenium yang Tepat untuk Kebutuhan Anda

Alat Mengapa Memilih?

IDE Selenium

  • Untuk mempelajari tentang konsep pengujian otomatis dan Selenium, termasuk:
  • Pilih perintah ini seperti ketik, buka, clickAndWait, tegaskan, verifikasi, dll.
  • Locator seperti id, name, xpath, css selector, dll.
  • Menjalankan kode JavaScript yang disesuaikan menggunakan runScript
  • Mengekspor kasus uji dalam berbagai format.
  • Untuk membuat tes dengan sedikit atau tanpa pengetahuan sebelumnya dalam pemrograman.
  • Untuk membuat kasus pengujian dan rangkaian pengujian sederhana yang dapat Anda ekspor nanti ke RC atau WebDriver.
  • Untuk menguji aplikasi web terhadap Firefox dan Chrome saja.

Selenium RC

  • Untuk merancang tes menggunakan bahasa yang lebih ekspresif daripada Selenese
  • Untuk menjalankan pengujian Anda pada browser yang berbeda (kecuali HtmlUnit) pada sistem operasi yang berbeda.
  • Untuk menerapkan pengujian Anda di berbagai lingkungan menggunakan Selenium Grid.
  • Untuk menguji aplikasi Anda pada browser baru yang mendukung JavaScript.
  • Untuk menguji aplikasi web dengan skenario berbasis AJAX yang kompleks.

WebDriver

  • Untuk menggunakan bahasa pemrograman tertentu dalam mendesain kasus uji Anda.
  • Untuk menguji aplikasi yang kaya akan fungsionalitas berbasis AJAX.
  • Untuk menjalankan pengujian di browser HtmlUnit.
  • Untuk membuat hasil tes yang disesuaikan.

Selenium Grid

  • Untuk menjalankan skrip Selenium RC Anda di beberapa browser dan sistem operasi secara bersamaan.
  • Untuk menjalankan rangkaian pengujian yang sangat besar, yang harus diselesaikan dalam waktu secepat mungkin.

Perbandingan antara Selenium dan QTP (sekarang UFT)

Quick Test Professional (QTP) adalah alat pengujian otomatis berpemilik yang sebelumnya dimiliki oleh perusahaan Mercury Interactive sebelum diakuisisi oleh Hewlett-Packard pada tahun 2006 . Selenium Tool Suite memiliki banyak keunggulan dibandingkan QTP seperti yang dijelaskan di bawah ini -

Keunggulan dan Manfaat Selenium dibandingkan QTP

Selenium QTP
Sumber terbuka , gratis untuk digunakan , dan gratis. Komersial .
Sangat bisa dikembangkan Add-on terbatas
Dapat menjalankan pengujian di berbagai browser Hanya dapat menjalankan pengujian di Firefox , Internet Explorer, dan Chrome
Mendukung berbagai sistem operasi Hanya dapat digunakan di Windows
Mendukung perangkat seluler QTP Mendukung otomatisasi pengujian aplikasi Seluler (iOS & Android) menggunakan solusi HP yang disebut - HP Mobile Center
Dapat melaksanakan tes sementara yang peramban diminimalkan Aplikasi yang sedang diuji harus terlihat di desktop
Dapat menjalankan tes secara paralel . Hanya dapat dijalankan secara paralel tetapi menggunakan Pusat Kualitas yang sekali lagi merupakan produk berbayar.

Keunggulan QTP dibandingkan Selenium

Keunggulan QTP dibandingkan Selenium
QTP Selenium
Dapat menguji aplikasi web dan desktop Hanya dapat menguji aplikasi web
Dilengkapi dengan repositori objek bawaan Tidak memiliki repositori objek bawaan
Mengotomatiskan lebih cepat daripada Selenium karena ini adalah IDE berfitur lengkap. Mengotomatiskan lebih lambat karena tidak memiliki IDE asli dan hanya IDE pihak ketiga yang dapat digunakan untuk pengembangan
Pengujian berdasarkan data lebih mudah dilakukan karena memiliki tabel data global dan lokal bawaan . Pengujian berdasarkan data lebih rumit karena Anda harus mengandalkan kemampuan bahasa pemrograman untuk menetapkan nilai untuk data pengujian Anda
Dapat mengakses kontrol di dalam browser (seperti bilah Favorit, bilah Alamat, tombol Mundur dan Maju, dll.) Tidak dapat mengakses elemen di luar aplikasi web yang sedang diuji
Memberikan dukungan pelanggan profesional Tidak ada dukungan pengguna resmi yang ditawarkan.
Memiliki kemampuan asli untuk mengekspor data pengujian ke dalam format eksternal Tidak memiliki kemampuan asli untuk mengekspor data runtime ke format eksternal
Dukungan Parameterisasi dibangun Parameterisasi dapat dilakukan melalui pemrograman tetapi sulit untuk diterapkan.
Laporan Tes dibuat secara otomatis Tidak ada dukungan asli untuk menghasilkan laporan pengujian / bug.

Meskipun jelas, QTP memiliki kemampuan yang lebih maju, Selenium melebihi QTP dalam tiga bidang utama:

  • Biaya (karena Selenium sepenuhnya gratis)
  • Fleksibilitas (karena sejumlah bahasa pemrograman, browser, dan platform yang dapat didukungnya)
  • Pengujian paralel (sesuatu yang mampu dilakukan QTP tetapi hanya dengan menggunakan Pusat Kualitas)

Ringkasan

  • Seluruh Rangkaian Pengujian Perangkat Lunak Selenium terdiri dari empat komponen:
  • Selenium IDE, add-on Firefox yang hanya dapat Anda gunakan dalam membuat kasus pengujian dan rangkaian pengujian yang relatif sederhana.
  • Selenium Remote Control, juga dikenal sebagai Selenium 1, yang merupakan alat Selenium pertama yang memungkinkan pengguna menggunakan bahasa pemrograman dalam membuat tes yang kompleks.
  • WebDriver, terobosan baru yang memungkinkan skrip pengujian Anda berkomunikasi langsung ke browser, sehingga mengontrolnya dari level OS.
  • Selenium Grid juga merupakan alat yang digunakan dengan Selenium RC untuk menjalankan tes paralel di berbagai browser dan sistem operasi.
  • Selenium RC dan WebDriver digabungkan untuk membentuk Selenium 2.
  • Selenium lebih menguntungkan daripada QTP dalam hal biaya dan fleksibilitas. Ini juga memungkinkan Anda menjalankan pengujian secara paralel, tidak seperti di QTP di mana Anda hanya diizinkan untuk menjalankan pengujian secara berurutan.