Repositori Objek di Selenium
โก Ringkasan Cerdas
Repositori Objek di Selenium Memusatkan penunjuk elemen dalam satu file eksternal, memisahkannya dari skrip pengujian. Pendekatan ini meningkatkan pemeliharaan dan memungkinkan penguji untuk memperbarui penunjuk elemen di satu tempat daripada mengedit banyak kasus uji.

Apa itu Repositori Objek?
Repositori objek adalah lokasi penyimpanan umum untuk semua objek. Di dalam Selenium Dalam konteks WebDriver, objek biasanya menjadi pencari lokasi yang digunakan untuk mengidentifikasi elemen web secara unik.
Keuntungan utama menggunakan object repository adalah pemisahan objek dari test case. Jika nilai locator dari satu elemen web berubah, hanya object repository yang perlu diubah, bukan melakukan perubahan pada semua test case di mana locator tersebut telah digunakan. Memelihara object repository meningkatkan modularitas implementasi framework.
Jenis Repositori Objek di Selenium Pengemudi Web
Selenium WebDriver tidak menawarkan repositori objek bawaan secara default. Namun, repositori objek dapat dibangun menggunakan pendekatan pasangan kunci-nilai, di mana kunci mengacu pada nama yang diberikan kepada objek dan nilai mengacu pada properti yang digunakan untuk mengidentifikasi objek secara unik di dalam halaman web.
Berikut ini adalah jenis repositori objek yang dapat dibuat di Selenium Pengemudi Web.
- Repositori Objek menggunakan file Properties
- Repositori Objek menggunakan file XML
Selenium Repositori Objek Driver Web menggunakan file Properties
Dalam pendekatan ini, file properti adalah file teks tempat data disimpan dalam bentuk pasangan kunci-nilai. Tutorial di bawah ini akan membahas topik-topik berikut.
Langkah 1) Membuat file properti di eclipse
- Sebagai langkah awal, struktur proyek Java di bawah ini perlu dibuat di Eclipse. Nama proyek dan nama paket dapat berupa nama apa pun yang valid.
- Klik kanan pada folder proyek utama dan pilih Baru -> Lainnya
- Di jendela berikutnya, pilih Umum -> File dan klik tombol 'Berikutnya'.
- Berikan nama file yang valid dengan ekstensi '.properties' pada jendela sumber daya file baru dan klik tombol 'Selesai'.
- Berkas bernama 'application.properties' harus ditampilkan pada Struktur Proyek.
Langkah 2) Menyimpan data ke file properti
- Data disimpan dalam file properti dalam bentuk pasangan kunci-nilai, dengan kunci yang unik di seluruh file.
- Kami akan mencoba menggunakan file properti untuk mengidentifikasi elemen web menggunakan nilai locator.
- Buka file application.properties di Eclipse dan simpan data berikut
MobileTesting=//a[text()='MOBILE TESTING'] EmailTextBox = philadelphia-field-email SignUpButton = philadelphia-field-submit
4) Untuk tutorial ini, situs web demo berikut digunakan:
https://demo.guru99.com/test/guru99home/Berikut adalah skenario pengujiannya:
- Klik tautan Pengujian Seluler menggunakan XPATH
- Navigasi kembali
- Masukkan data ke dalam kotak teks email menggunakan ID.
- Klik tombol Daftar menggunakan ID
Langkah 3) Membaca data dari file properti
- Membaca data dari file properti dapat dilakukan menggunakan kelas Properties bawaan yang disediakan dalam paket java.util.
- Awalnya, objek dari kelas Properties perlu dibuat seperti di bawah ini.
Properties obj = new Properties();
- Kita perlu membuat objek dari kelas FileInputStream dengan jalur ke file properti.
FileInputStream objfile = new FileInputStream(System.getProperty("user.dir")+"\\application.properties");
- Membaca data dari file properti dapat dilakukan menggunakan metode `load` yang disediakan oleh kelas `Properties` di Java. Kode di bawah ini menunjukkan penggunaan metode `load`.
Properties obj = new Properties(); FileInputStream objfile = new FileInputStream(System.getProperty("user.dir")+"\\application.properties"); obj.load(objfile); String mobileTesting = obj.getProperty("MobileTesting");
String 'mobileTesting' akan berisi XPATH untuk mengidentifikasi tautan Pengujian Seluler dalam laman web.
Langkah 4) Menggunakan file properti dalam skrip pengujian
Berkas properti dapat digunakan dalam skrip pengujian dengan membaca data dari berkas properti dan meneruskan data tersebut sebagai parameter ke metode findElement. Kode di bawah ini menunjukkan penggunaan data yang dibaca dari berkas properti dalam skrip pengujian.
driver.findElement(By.xpath(obj.getProperty("MobileTesting"))).click(); driver.findElement(By.id(obj.getProperty("EmailTextBox"))).sendKeys("testguru99@gmail.com"); driver.findElement(By.id(obj.getProperty("SignUpButton"))).click();
Di bawah ini adalah kode lengkap yang digunakan untuk skenario pengujian di atas.
package com.objectrepository.demo; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Properties; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class DemoOR { public static void main(String[] args) throws IOException { // Create WebDriver Instance WebDriver driver; System.setProperty("webdriver.chrome.driver", "G:\\chromedriver.exe"); driver = new ChromeDriver(); driver.get("https://demo.guru99.com/test/guru99home/"); driver.manage().window().maximize(); // Load the properties File Properties obj = new Properties(); FileInputStream objfile = new FileInputStream(System.getProperty("user.dir")+"\\application.properties"); obj.load(objfile); // Navigate to link Mobile Testing and Back driver.findElement(By.xpath(obj.getProperty("MobileTesting"))).click(); driver.navigate().back(); // Enter Data into Form driver.findElement(By.id(obj.getProperty("EmailTextBox"))).sendKeys("testguru99@gmail.com"); driver.findElement(By.id(obj.getProperty("SignUpButton"))).click(); } }
Selenium Repositori Objek WebDriver Menggunakan File XML
XML adalah singkatan dari Extensible Markup Language. Sebuah file XML menggunakan Document Object Model (DOM) sebagai struktur dasarnya. Format file XML akan meniru format HTML yang menjadi dasar pembuatan halaman web. Berikut adalah daftar topik yang akan dibahas.
- Membuat file XML di Eclipse
- Menyimpan data ke file XML
- Membaca data dari file XML
- Menggunakan file XML dalam skrip pengujian
Langkah 1) Membuat file XML di Eclipse
- Struktur proyek Java di bawah ini perlu dibuat Eclipse.
- Klik kanan pada folder proyek, pilih Baru -> Lainnya
- Pilih file XML di dalam folder XML dan klik tombol 'Berikutnya'.
- Masukkan nama file XML yang valid dan klik tombol 'Selesai'.
- File XML akan ditambahkan ke folder proyek seperti yang ditunjukkan di bawah ini
Langkah 2) Menyimpan data ke file XML
Data dapat disimpan dalam file XML dalam bentuk Document Object Model (DOM). Demi kemudahan, kita dapat menggunakan skenario pengujian di bawah ini sebagai contoh.
- Klik tautan Pengujian Seluler menggunakan XPATH
- Kembali ke halaman utama
- Masukkan data ke dalam kotak teks email menggunakan ID.
- Klik tombol Daftar menggunakan ID
Berikut adalah format file XML yang akan digunakan.
<menu> <mobiletesting>//a[text()='MOBILE TESTING']</mobiletesting> <email> philadelphia-field-email</email> <signup> philadelphia-field-submit </signup> </menu>
Simpan kode XML di atas di properti.xml
Di tab desain Anda akan melihat
Langkah 3) Membaca data dari file XML
1. Membaca data dari file XML dapat dilakukan menggunakan kelas 'dom4j' bawaan di Java. Harap dicatat bahwa Anda perlu menambahkan file JAR berikut ke jalur build proyek Anda sebelum melanjutkan dengan kode.
- jaxen.jar
- dom4j-1.6.jar
2. Berikut adalah kode untuk membaca data dari file XML.
File inputFile = new File(System.getProperty("user.dir") +"\\properties.xml"); SAXReader saxReader = new SAXReader(); Document document = saxReader.read(inputFile); String mobileTesting = document.selectSingleNode("//menu/mobiletesting").getText(); String emailTextBox = document.selectSingleNode("//menu/email").getText(); String signUpButton = document.selectSingleNode("//menu/signup").getText();
3. Awalnya, kita perlu membuat objek File dan meneruskannya sebagai parameter ke metode 'read' dari kelas SAXReader. Setelah data file XML berhasil dibaca, kita dapat mengakses node individual dari dokumen XML menggunakan metode 'selectSingleNode'.
Langkah 4) Menggunakan file XML dalam skrip pengujian
Berkas XML dapat digunakan dalam skrip pengujian dengan membaca data dari berkas XML dan meneruskan data tersebut sebagai parameter ke metode findElement. Kode di bawah ini menunjukkan penggunaan data yang dibaca dari berkas XML dalam skrip pengujian.
driver.findElement(By.xpath(mobileTesting)).click(); driver.findElement(By.id(emailTextBox)).sendKeys("testguru99@gmail.com"); driver.findElement(By.id(signUpButton)).click();
Kode di bawah ini menunjukkan penggunaan file XML di Selenium WebDriver.
package com.objectrepository.demo; import java.io.*; import java.util.*; import org.dom4j.*; import org.dom4j.io.SAXReader; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class DemoORXML { public static void main(String[] args) throws DocumentException { // Creating WebDriver Instance WebDriver driver; System.setProperty("webdriver.chrome.driver", "G:\\chromedriver.exe"); driver = new ChromeDriver(); driver.get("https://demo.guru99.com/test/guru99home/"); driver.manage().window().maximize(); // Reading XML File File inputFile = new File(System.getProperty("user.dir") +"\\properties.xml"); SAXReader saxReader = new SAXReader(); Document document = saxReader.read(inputFile); String mobileTesting = document.selectSingleNode("//menu/mobiletesting").getText(); String emailTextBox = document.selectSingleNode("//menu/email").getText(); String signUpButton = document.selectSingleNode("//menu/signup").getText(); // Navigating to Mobile Testing and back driver.findElement(By.xpath(mobileTesting)).click(); driver.navigate().back(); // Entering Form Data driver.findElement(By.id(emailTextBox)).sendKeys("testguru99@gmail.com"); driver.findElement(By.id(signUpButton)).click(); } }
Unduh WebDriver Eclipse Project













