Selenium Tutorial Grid: Menyiapkan Hub dan Node (Contoh)
Apa itu Selenium jaringan?
Selenium kisi adalah bagian dari Selenium Suite yang berspesialisasi dalam menjalankan beberapa pengujian di berbagai browser, sistem operasi, dan mesin secara paralel. Hal ini dicapai dengan merutekan perintah dari instance browser jarak jauh di mana server bertindak sebagai hub. Seorang pengguna perlu mengkonfigurasi server jarak jauh untuk menjalankan tes.
Selenium Grid memiliki 2 versi – Grid 1 yang lebih lama dan Grid 2 yang lebih baru. Kami hanya akan fokus pada Grid 2 karena Grid 1 secara bertahap tidak lagi digunakan oleh Selenium Team.
Selenium kisi Architekstur
Selenium Grid memiliki Hub dan Node Architekstur.

Pusat
- Hub adalah titik pusat tempat Anda memuat pengujian.
- Seharusnya hanya ada satu hub dalam sebuah grid.
- Hub diluncurkan hanya pada satu mesin, katakanlah, komputer yang OS-nya Windows 7 dan browsernya IE.
- Mesin yang berisi hub adalah tempat pengujian akan dijalankan, tetapi Anda akan melihat browser diotomatisasi pada node.
Nodes
- Node adalah Selenium contoh yang akan menjalankan pengujian yang Anda muat di hub.
- Mungkin ada satu atau lebih node dalam sebuah grid.
- Node dapat diluncurkan di banyak mesin dengan platform dan browser berbeda.
- Mesin yang menjalankan node tidak harus memiliki platform yang sama dengan hub.
Selenium Grid menggunakan konsep hub-node di mana Anda hanya menjalankan pengujian pada satu mesin yang disebut a pusat, tetapi eksekusinya akan dilakukan oleh mesin berbeda yang disebut node.
Cara Mengatur Selenium jaringan?
Pada bagian ini, Anda akan menggunakan 2 mesin. Mesin pertama akan menjadi sistem yang akan menjalankan hub sedangkan mesin lainnya akan menjalankan node. Untuk mempermudah, mari kita sebut mesin tempat hub berjalan sebagai “Mesin A” sedangkan mesin tempat node berjalan akan menjadi “Mesin B.” Penting juga untuk mencatat alamat IP mereka. Katakanlah Mesin A memiliki alamat IP 192.168.1.3 sedangkan Mesin B memiliki IP 192.168.1.4.
Langkah 1) Download Selenium Server dari di sini.
Langkah 2) Anda dapat menempatkan Selenium File server .jar di mana saja di hard drive Anda. Namun untuk keperluan tutorial ini, letakkan di drive C Mesin A dan Mesin B. Setelah melakukan ini, Anda sekarang selesai menginstal Selenium Jaringan. Langkah-langkah berikut akan meluncurkan hub dan node.
Langkah 3)
- Kami sekarang akan meluncurkan hub. Pergi ke Mesin A. Menggunakan command prompt, navigasikan ke root drive Mesin A – C, karena itu adalah direktori tempat kita meletakkan Selenium Server.
- Pada prompt perintah, ketik java -jar Selenium-server-standalone-2.30.0.jar -hub peran
- Hub harus berhasil diluncurkan. Prompt perintah Anda akan terlihat seperti gambar di bawah.
Langkah 4) Cara lain untuk memverifikasi apakah hub sedang berjalan adalah dengan menggunakan browser. Selenium Grid, secara default, menggunakan port 4444 Mesin A untuk antarmuka webnya. Cukup buka browser dan buka http://localhost:4444/grid/console
Selain itu, Anda dapat memeriksa apakah Mesin B dapat mengakses antarmuka web hub dengan meluncurkan browser di sana dan membuka "iporhostnameofmachineA" yang seharusnya merupakan alamat IP atau nama host mesin tempat hub berjalan. Karena alamat IP Mesin A adalah 192.168.1.3, maka pada browser di Mesin B Anda harus mengetik http://192.168.1.3:4444/grid/console
Langkah 5)
- Sekarang hub sudah diatur, kita akan meluncurkan sebuah node. Buka Mesin B dan luncurkan prompt perintah di sana.
- Arahkan ke root Drive C dan ketik kode di bawah ini. Kami menggunakan alamat IP 192.168.1.3 karena di situlah hub berjalan. Kami juga menggunakan port 5566 meskipun Anda dapat memilih nomor port gratis apa pun yang Anda inginkan.
- CATATAN: Anda sekarang harus memberikan jalur ke driver Gecko jika menggunakan Firefox. Berikut adalah kode terbaru yang perlu digunakan
java -Dwebdriver.gecko.driver="C:\geckodriver.exe" -jar selenium-server-standalone-3.4.0.jar -role webdriver -hub http://192.168.1.3:4444/grid/register -port 5566
- Saat Anda menekan Enter, prompt perintah Anda akan terlihat seperti gambar di bawah.
Langkah 6) Pergi ke Selenium Antarmuka web kisi dan segarkan halaman. Anda akan melihat sesuatu seperti ini.
Pada titik ini, Anda telah mengkonfigurasi grid sederhana. Anda sekarang siap menjalankan pengujian dari jarak jauh pada Mesin B.
Kapan Harus Digunakan Selenium jaringan?
Kamu harus menggunakan Selenium Kisi saat Anda ingin melakukan salah satu atau kedua hal berikut:
- Jalankan pengujian Anda terhadap berbagai browser, sistem operasi, dan mesin secara bersamaan. Ini akan memastikan bahwa aplikasi Anda benar pengujian sepenuhnya kompatibel dengan berbagai kombinasi browser-OS.
- Hemat waktu dalam pelaksanaan rangkaian pengujian Anda. Jika Anda mengatur Selenium Grid untuk menjalankan, katakanlah, 4 tes sekaligus, maka Anda akan dapat menyelesaikan seluruh rangkaian sekitar 4 kali lebih cepat.
Jaringan 1.0 Vs Jaringan 2.0
Berikut ini adalah perbedaan utama antara Selenium Kotak 1 dan 2.
Kotak 1 | Kotak 2 |
---|---|
Selenium Grid 1 mempunyai remote control tersendiri yang berbeda dengan Selenium server RC. Itu adalah dua program yang berbeda. | Selenium Grid 2 sekarang dibundel dengan Selenium File jar server |
Anda perlu menginstal dan mengkonfigurasi Apache Semut terlebih dahulu sebelum Anda dapat menggunakan Grid 1. | Anda tidak perlu menginstal Apache Ant di Grid 2. |
Hanya dapat mendukung Selenium Perintah/skrip RC. | Dapat mendukung keduanya Selenium Skrip RC dan WebDriver. |
Anda hanya dapat mengotomatisasi satu browser per remote control. | Satu remote control dapat mengotomatiskan hingga 5 browser. |
Selenium grid dapat diatur dengan dua cara berbeda; satu melalui baris perintah dan yang lainnya melalui file konfigurasi JSON.
Merancang Skrip Uji yang Dapat Berjalan di Grid
Untuk merancang skrip pengujian yang akan berjalan di grid, kita perlu menggunakan Kemampuan yang Diinginkan dan Driver Web Jarak Jauh benda.
- Kemampuan yang Diinginkan digunakan untuk mengatur jenis Browser dan OS yang akan kami otomatisasi.
- Driver Web Jarak Jauh digunakan untuk mengatur node (atau mesin) mana yang akan dijalankan pengujian kita.
Untuk menggunakan Kemampuan yang Diinginkan keberatan, Anda harus mengimpor paket ini terlebih dahulu
Untuk menggunakan Driver Web Jarak Jauh keberatan, Anda harus mengimpor paket-paket ini.
Menggunakan Objek DesiredCapabilites
Buka antarmuka web Grid dan arahkan kursor ke gambar browser yang ingin Anda otomatisasi. Perhatikan Platform, dan Nama browser ditunjukkan oleh tooltip.
Dalam hal ini, platformnya adalah “XP” dan nama browsernya adalah “Firefox. "
Kami akan menggunakan platform dan nama browser di WebDriver kami seperti yang ditunjukkan di bawah ini (tentu saja Anda perlu mengimpor paket yang diperlukan terlebih dahulu).
Menggunakan Objek RemoteWebDriver
Impor paket yang diperlukan untuk RemoteWebDriver lalu teruskan objek DesiredCapabilities yang kita buat di atas sebagai parameter untuk objek RemoteWebDriver.
Menjalankan Contoh Kasus Uji di Grid
Di bawah ini adalah WebDriver sederhana Pengujian kode yang dapat Anda buat Eclipse pada Mesin A. Setelah Anda menjalankannya, otomatisasi akan dilakukan pada Mesin B.
import org.openqa.selenium.*; import org.openqa.selenium.remote.DesiredCapabilities; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.Assert; import org.testng.annotations.*; public class Grid_2 { WebDriver driver; String baseUrl, nodeURL; @BeforeTest public void setUpWthrows MalformedURLException { baseUrl = "http://newtours.demoaut.com/"; nodeURL = "http://192.168.1.4:5566/wd/hub"; DesiredCapabilities capability = DesiredCapabilities.firefox(); capability. setBrowserName("firefox"); capability. setPlatform(Platform.XP); driver = new RemoteWebDriver(new URL(nodeURL), capability); } @AfterTest public void afterTest() { driver.quit(); } @Test public void simpleTest() { driver.get(baseUr1); Assert.assertEquas("Welcome: Mercury Tours", driver.getTitle()); } }
Ujiannya harus lulus.
Selenium konfigurasi grid menggunakan File JSON
JSON adalah singkatan dari Javascript Notasi Objek. Ini adalah format standar yang digunakan untuk pertukaran data antara browser dan server web. Selenium memiliki berkas konfigurasi JSON bawaan yang dapat digunakan untuk menyiapkan selenium grid.
Berikut adalah langkah-langkah untuk mengkonfigurasi grid Selenium menggunakan file konfigurasi JSON.
Langkah 1) Unduh kode untuk file konfigurasi JSON menggunakan jalur di bawah ini
Ini kodenya
{ "port": 4444, "newSessionWaitTimeout": -1, "servlets" : [], "withoutServlets": [], "custom": {}, "capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher", "registryClass": "org.openqa.grid.internal.DefaultGridRegistry", "throwOnCapabilityNotPresent": true, "cleanUpCycle": 5000, "role": "hub", "debug": false, "browserTimeout": 0, "timeout": 1800 }
Langkah 2) Copy dan paste kode tersebut pada editor teks seperti Notepad dengan ekstensi '.json'
Langkah 3)Luncurkan hub menggunakan perintah di bawah ini menggunakan command prompt
java -jar selenium-server-standalone-2.53.1.jar -role hub -hubConfig hubconfig.json
CATATAN: Selenium file jar yang berdiri sendiri dan file json harus ada di direktori yang sama
Langkah 4) Layar di bawah ini akan muncul yang menunjukkan hub berhasil dikonfigurasi
Langkah 5) Buka browser web dan coba sambungkan ke URL di bawah ini
http://192.168.43.223:4444/grid/console
CATATAN: URL mungkin berbeda dari mesin ke mesin. URL yang diikuti dengan 'Node harus mendaftar ke' pada layar di atas harus digunakan.
Langkah 6) Layar Grid Console akan muncul yang menunjukkan hub aktif dan berjalan
Konfigurasikan NODES menggunakan JSON
Langkah 1) Unduh contoh file konfigurasi node yang disediakan oleh Selenium menggunakan URL di bawah ini
CATATAN: JIKA ANDA MENGGUNAKAN SELENIUM 3.0 ATAU DI ATAS, FILE JSON DI BAWAH INI HARUS DIGUNAKAN
Langkah 2) Copy dan paste kode tersebut ke dalam editor teks seperti Notepad dan simpan file dengan ekstensi '.json'
Langkah 3)
Jalankan perintah di bawah ini pada command prompt
Java-Dwebdriver.chrome.driver="chromedriver.exe" -Dwebdriver.ie.driver="IEDriverServer.exe" -Dwebdriver.gecko.driver="geckodriver.exe" -jar selenium-server-standalone-2.53.1.jar -role node -nodeConfig node1.json
CATATAN: Sebelum menjalankan perintah, pastikan driver untuk setiap browser telah diunduh ke direktori mesin lokal
Langkah 4) Layar di bawah ini akan muncul ketika tombol enter ditekan
Langkah 5) Navigasikan ke konsol grid untuk memverifikasi apakah node telah berhasil dikonfigurasi
Browser ditampilkan di konsol grid. Oleh karena itu kami dapat yakin bahwa node berhasil dikonfigurasi.
Contoh Kasus Uji Aktif Selenium Kisi:
package com.objectrepository.demo; import org.openqa.selenium.*; import org.openqa.selenium.remote.DesiredCapabilities; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.Assert; import org.testng.annotations.*; public class SeleniumGrid { WebDriver driver; String baseURL, nodeURL; @BeforeTest public void setUp() throws MalformedURLException { baseURL = "http://demo.guru99.com/test/guru99home/"; nodeURL = "http://192.168.43.223:5566/wd/hub"; DesiredCapabilities capability = DesiredCapabilities.chrome(); capability.setBrowserName("chrome"); capability.setPlatform(Platform.WIN10); driver = new RemoteWebDriver(new URL(nodeURL), capability); } @AfterTest public void afterTest() { driver.quit(); } @Test public void sampleTest() { driver.get(baseURL); if (driver.getPageSource().contains("MOBILE TESTING")) { Assert.assertTrue(true, "Mobile Testing Link Found"); } else { Assert.assertTrue(false, "Failed: Link not found"); } } }
Kode di atas meluncurkan browser chrome dan menavigasi ke URL yang ditentukan dalam variabel 'baseURL'. Ini memverifikasi nama tautan 'Pengujian Seluler' ditampilkan di halaman
URL pada variabel 'nodeURL' dapat dimodifikasi untuk mencerminkan Alamat IP mesin jarak jauh. Hasil tes dapat diverifikasi secara default TestNG laporan yang dihasilkan
Kesimpulan
- Selenium Grid digunakan untuk menjalankan beberapa pengujian secara bersamaan pada berbagai browser dan platform.
- Grid menggunakan konsep hub-node.
- Hub adalah titik pusat tempat Anda memuat pengujian.
- Node adalah Selenium contoh yang akan menjalankan pengujian yang Anda muat di hub.
- Untuk menginstal Selenium Grid, Anda hanya perlu mengunduhnya Selenium File jar server – file yang sama yang digunakan saat menjalankan Selenium Tes RC.
- Ada 2 cara untuk memverifikasi apakah hub sedang berjalan: satu melalui command prompt, dan yang lainnya melalui browser.
- Untuk menjalankan skrip pengujian di Grid, Anda harus menggunakan objek DesiredCapabilities dan RemoteWebDriver.
- DesiredCapabilites digunakan untuk mengatur jenis browser dan OS yang akan kita otomatisasi.
- RemoteWebDriver digunakan untuk menyetel node (atau mesin) mana yang akan dijalankan pengujian kami.