Apa itu Object Repository?
Repositori objek adalah lokasi penyimpanan umum untuk semua objek. Dalam konteks Selenium WebDriver, objek biasanya menjadi pelacak yang digunakan untuk mengidentifikasi elemen web secara unik.
Keuntungan utama menggunakan repositori objek adalah pemisahan objek dari kasus uji. Jika nilai locator dari satu webelement berubah, hanya repositori objek yang perlu diubah daripada membuat perubahan dalam semua kasus uji di mana locator telah digunakan. Mempertahankan repositori objek meningkatkan modularitas implementasi kerangka kerja.
Dalam tutorial ini, Anda akan belajar-
- Apa itu Object Repository?
- Jenis Repositori Objek di Selenium Web Driver
- Repositori Objek Driver Web Selenium menggunakan file Properties
- Repositori Objek WebDriver Selenium Menggunakan File XML
Jenis Repositori Objek di Selenium Web Driver
Selenium WebDriver tidak menawarkan repositori objek built-in secara default. Namun, repositori objek dapat dibangun menggunakan pendekatan pasangan nilai-kunci di mana kunci merujuk pada nama yang diberikan ke objek dan nilai merujuk pada properti yang digunakan untuk mengidentifikasi objek secara unik dalam laman web.
Berikut ini adalah jenis repositori objek yang dapat dibuat di Selenium WebDriver.
- Object Repository menggunakan file Properties
- Object Repository menggunakan file XML
Repositori Objek Driver Web Selenium menggunakan file Properties
Dalam pendekatan ini, file properti adalah file teks yang datanya disimpan dalam bentuk pasangan nilai kunci. Tutorial di bawah ini akan membahas topik-topik berikut.
- Membuat file properti di eclipse
- Menyimpan data ke file properti
- Membaca data dari file properti
- Menggunakan file properti dalam skrip pengujian
Langkah 1) Membuat file properti di eclipse
- Untuk memulainya, 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 New-> Other
- Di jendela berikutnya, pilih Umum -> File dan klik tombol 'Berikutnya'
- Berikan nama file yang valid dengan ekstensi '.properties' pada jendela sumber file baru dan klik tombol 'Selesai'
- File bernama 'application.properties' harus ditampilkan di Project Structure
Langkah 2) Menyimpan data ke file properti
- Data disimpan dalam file properti dalam bentuk pasangan nilai-kunci, 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-emailSignUpButton = philadelphia-field-submit
4) Untuk tutorial ini, situs web demo berikut sedang digunakan: http://demo.guru99.com/test/guru99home/. Berikut adalah skenario pengujian:
- Klik tautan Pengujian Seluler menggunakan XPATH
- Menavigasi 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 Properti bawaan yang disediakan dalam paket java.util.
- Awalnya, objek kelas Properties perlu dibuat seperti di bawah ini
Properti obj = Properti baru ();
- Kita perlu membuat objek kelas FileInputStream dengan jalur ke file properti
FileInputStream objfile = FileInputStream baru (System.getProperty ("user.dir") + "\\ application.properties");
- Membaca data dari file properti dapat dilakukan dengan metode load yang ditawarkan oleh kelas Properties di java. Kode di bawah ini menunjukkan penggunaan metode beban.
Properti obj = Properti baru ();FileInputStream objfile = FileInputStream baru (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);String mobileTesting = obj.getProperty ("MobileTesting");
String 'mobileTesting' akan berisi XPATH untuk mengidentifikasi link Pengujian Seluler di dalam halaman web.
Langkah 4) Menggunakan file properti dalam skrip pengujian
File properti dapat digunakan dalam skrip pengujian dengan membaca data dari file properti dan meneruskan data sebagai parameter ke metode findElement. Kode di bawah ini menunjukkan penggunaan data yang dibaca dari file properti dalam skrip pengujian.
driver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). click ();driver.findElement (By.id (obj.getProperty ("EmailTextBox"))). sendKeys (" Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya.");driver.findElement (By.id (obj.getProperty ("SignUpButton"))). klik ();
Di bawah ini adalah kode lengkap yang digunakan untuk skenario pengujian di atas.
paket com.objectrepository.demo;impor java.io.FileInputStream;impor java.io.FileNotFoundException;impor java.io.IOException;import java.util.Properties;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;impor org.openqa.selenium.chrome.ChromeDriver;kelas umum DemoOR {public static void main (String [] args) melempar IOException {// Buat Instance WebDriverDriver WebDriver;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");driver = new ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");driver.manage (). window (). maksimalkan ();// Muat File propertiProperti obj = Properti baru ();FileInputStream objfile = FileInputStream baru (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);// Nagigate untuk menautkan Pengujian Seluler dan Kembalidriver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). click ();driver.navigate (). back ();// Masukkan Data ke dalam Formulirdriver.findElement (By.id (obj.getProperty ("EmailTextBox"))). sendKeys (" Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya.");driver.findElement (By.id (obj.getProperty ("SignUpButton"))). klik ();}}
Repositori Objek WebDriver Selenium Menggunakan File XML
XML adalah singkatan dari Extensible Markup Language. File XML menggunakan Document Object Model (DOM) sebagai struktur dasar. Format File XML akan mereplikasi format HTML yang menjadi dasar pembuatan halaman web. Di bawah ini adalah daftar topik yang akan dibahas.
- Membuat file XML di gerhana
- Menyimpan data ke dalam file XML
- Membaca data dari file XML
- Menggunakan file XML dalam skrip pengujian
Langkah 1) Membuat file XML di gerhana
- Struktur proyek java di bawah ini perlu dibuat di Eclipse.
- Klik kanan pada folder proyek, pilih New -> Other
- Pilih File XML dalam folder XML dan klik tombol 'Next'
- 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 kesederhanaan, kita dapat menggunakan skenario pengujian di bawah ini sebagai contoh.
- Klik tautan Pengujian Seluler menggunakan XPATH
- Navigasikan Kembali ke halaman Beranda
- Masukkan data ke dalam kotak teks email menggunakan ID
- Klik tombol Daftar menggunakan ID
Di bawah ini adalah format File XML yang akan digunakan.
Simpan kode XML di atas di properties.xml
Di tab desain, Anda akan melihat
Langkah 3) Membaca data dari file XML
1. Membaca data dari file XML dapat dilakukan dengan menggunakan kelas 'dom4j' built-in di java. Harap dicatat bahwa Anda perlu menambahkan file JAR di bawah ini ke dalam buildpath proyek Anda sebelum melanjutkan dengan kode.
- jaxen.jar
- dom4j-1.6.jar
2. Di bawah ini adalah kode untuk membaca data dari file XML.
File inputFile = File baru (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = SAXReader baru ();Dokumen dokumen = 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 individu dokumen XML menggunakan metode 'selectSingleNode'.
Langkah 4) Menggunakan file XML dalam skrip uji
File XML dapat digunakan dalam skrip pengujian dengan membaca data dari file XML dan meneruskan data sebagai parameter ke metode findElement. Kode di bawah ini menunjukkan penggunaan data yang dibaca dari file XML dalam skrip pengujian.
driver.findElement (By.xpath (mobileTesting)). click ();driver.findElement (By.id (emailTextBox)). sendKeys (" Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya.");driver.findElement (By.id (signUpButton)). klik ();
Kode di bawah ini menunjukkan penggunaan file XML di selenium WebDriver
paket com.objectrepository.demo;impor java.io. *;import java.util. *;import org.dom4j. *;impor org.dom4j.io.SAXReader;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;impor org.openqa.selenium.chrome.ChromeDriver;kelas publik DemoORXML {public static void main (String [] args) melempar DocumentException {// Membuat Instance WebDriverDriver WebDriver;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");driver = new ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");driver.manage (). window (). maksimalkan ();// Membaca File XMLFile inputFile = File baru (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = SAXReader baru ();Dokumen dokumen = saxReader.read (inputFile);String mobileTesting = document.selectSingleNode ("// menu / mobiletesting"). GetText ();String emailTextBox = document.selectSingleNode ("// menu / email"). GetText ();String signUpButton = document.selectSingleNode ("// menu / signup"). GetText ();// Menavigasi ke Pengujian Seluler dan kembalidriver.findElement (By.xpath (mobileTesting)). click ();driver.navigate (). back ();// Memasukkan Data Formulirdriver.findElement (By.id (emailTextBox)). sendKeys (" Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya.");driver.findElement (By.id (signUpButton)). klik ();}}
Unduh Proyek Eclipse WebDriver
Ringkasan:
- Repositori objek adalah lokasi penyimpanan umum untuk semua objek
- Selenium WebDriver tidak menawarkan repositori objek built-in secara default
- Anda dapat membuat 2 Jenis Tempat Penyimpanan Objek di Selenium
- Object Repository menggunakan file Properties
- Object Repository menggunakan file XML
- File properti adalah file teks yang datanya disimpan dalam bentuk pasangan nilai kunci
- Format File XML akan mereplikasi format HTML yang menjadi dasar pembuatan halaman web.