Membuat Repositori Objek di Selenium WebDriver: XML & Fail harta tanah

Isi kandungan:

Anonim

Apa itu Repositori Objek?

Repositori objek adalah lokasi penyimpanan biasa untuk semua objek. Dalam konteks Selenium WebDriver, objek biasanya menjadi pencari yang digunakan untuk mengenal pasti elemen web secara unik.

Kelebihan utama menggunakan repositori objek adalah pemisahan objek dari kes ujian. Sekiranya nilai pencari dari satu elemen web berubah, hanya repositori objek yang perlu diubah daripada membuat perubahan pada semua kes ujian di mana pencari telah digunakan. Mengekalkan repositori objek meningkatkan modulariti pelaksanaan kerangka

Dalam tutorial ini, anda akan belajar-

  • Apa itu Repositori Objek?
  • Jenis Repositori Objek dalam Pemacu Web Selenium
  • Repositori Objek Pemandu Web Selenium menggunakan fail Properties
  • Repositori Objek Selenium WebDriver Menggunakan Fail XML

Jenis Repositori Objek dalam Pemacu Web Selenium

Selenium WebDriver tidak menawarkan repositori objek bawaan secara lalai. Walau bagaimanapun, repositori objek dapat dibina menggunakan pendekatan pasangan kunci-nilai di mana kuncinya merujuk kepada nama yang diberikan kepada objek dan nilai merujuk kepada sifat yang digunakan untuk mengenal pasti objek secara unik dalam laman web.

Berikut adalah jenis repositori objek yang boleh dibuat di Selenium WebDriver.

  1. Repositori Objek menggunakan fail Properties
  2. Repositori Objek menggunakan fail XML

Repositori Objek Pemandu Web Selenium menggunakan fail Properties

Dalam pendekatan ini, fail sifat adalah fail teks di mana data disimpan dalam bentuk pasangan nilai-kunci. Tutorial di bawah akan membincangkan topik berikut.

  • Membuat fail sifat dalam gerhana
  • Menyimpan data ke dalam fail sifat
  • Membaca data dari fail sifat
  • Menggunakan fail sifat dalam skrip ujian

Langkah 1) Membuat fail sifat dalam gerhana

  1. Sebagai permulaan, struktur projek java di bawah ini perlu dibuat dalam gerhana. Nama projek dan nama pakej boleh menjadi nama yang sah.

  1. Klik kanan pada folder projek utama dan Pilih Baru-> Lain

  1. Di tetingkap seterusnya, pilih Umum -> Fail dan klik pada butang 'Next'

  1. Berikan nama fail yang sah dengan pelanjutan '.properties' pada tetingkap sumber fail baru dan klik pada butang 'Selesai'

  1. Fail bernama 'application.properties' mesti dipaparkan pada Project Structure

Langkah 2) Menyimpan data ke fail sifat

  1. Data disimpan dalam fail sifat dalam bentuk pasangan nilai-kunci, dengan kunci unik di seluruh fail.
  2. Kami akan cuba menggunakan fail sifat untuk mengenal pasti elemen web menggunakan nilai pencari.
  3. Buka fail application.properties di Eclipse dan simpan data berikut
MobileTesting = // a [text () = 'PENGUJIAN BERGERAK']EmailTextBox = e-mel philadelphia-bidangSignUpButton = philadelphia-bidang-serah

4) Untuk tutorial ini, laman web demo berikut digunakan: http://demo.guru99.com/test/guru99home/. Berikut adalah senario Ujian:

  • Klik pada pautan Uji Mudah Alih menggunakan XPATH
  • Navigasi ke belakang
  • Masukkan data ke kotak teks e-mel menggunakan ID
  • Klik pada butang Daftar dengan menggunakan ID

Langkah 3) Membaca data dari fail sifat

  1. Membaca data dari fail sifat boleh dilakukan menggunakan kelas Properties terbina dalam yang disediakan dalam pakej java.util.
  2. Pada mulanya, objek kelas Properties perlu dibuat seperti di bawah
 Properties obj = Properties baru (); 
  1. Kita perlu membuat objek kelas FileInputStream dengan jalan ke fail sifat
FileInputStream objfile = FileInputStream baru (System.getProperty ("user.dir") + "\\ application.properties");
  1. Membaca data dari fail sifat boleh dilakukan dengan menggunakan kaedah beban yang ditawarkan oleh kelas Properties di java. Kod di bawah menunjukkan penggunaan kaedah beban.
Properties obj = Properties baru ();FileInputStream objfile = FileInputStream baru (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);String mobileTesting = obj.getProperty ("MobileTesting");

Rentetan 'mobileTesting' akan mengandungi XPATH untuk mengenal pasti pautan Pengujian Mudah Alih dalam laman web.

Langkah 4) Menggunakan fail sifat dalam skrip ujian

File Properties dapat digunakan dalam skrip ujian dengan membaca data dari file properti dan meneruskan data sebagai parameter ke metode findElement. Kod di bawah menunjukkan penggunaan data yang dibaca dari fail sifat dalam skrip ujian.

driver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). klik ();driver.findElement (By.id (obj.getProperty ("EmailTextBox"))). sendKeys (" Alamat e-mel ini dilindungi dari spambots. Anda perlu mengaktifkan JavaScript untuk melihatnya.");driver.findElement (By.id (obj.getProperty ("SignUpButton"))). klik (); 

Berikut adalah kod lengkap yang digunakan untuk senario ujian di atas.

pakej com.objectrepository.demo;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.util.Properti;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;DemoOR kelas awam {utama kekosongan statik awam (String [] args) melemparkan IOException {// Buat Instance WebDriverPemacu WebDriver;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");pemacu = ChromeDriver baru ();driver.get ("http://demo.guru99.com/test/guru99home/");driver.manage (). window (). maksimalkan ();// Muatkan fail sifatProperties obj = Properties baru ();FileInputStream objfile = FileInputStream baru (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);// Nagigate untuk menghubungkan Ujian Mudah Alih dan Kembalidriver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). klik ();pemandu. navigasi (). belakang ();// Masukkan Data ke dalam Borangdriver.findElement (By.id (obj.getProperty ("EmailTextBox"))). sendKeys (" Alamat e-mel ini dilindungi dari spambots. Anda perlu mengaktifkan JavaScript untuk melihatnya.");driver.findElement (By.id (obj.getProperty ("SignUpButton"))). klik ();}}

Repositori Objek Selenium WebDriver Menggunakan Fail XML

XML bermaksud Extensible Markup Language. Fail XML menggunakan Model Objek Dokumen (DOM) sebagai struktur asas. Format XML File akan meniru format HTML di mana halaman web dibina. Berikut adalah senarai topik yang akan dibahas.

  • Membuat fail XML dalam gerhana
  • Menyimpan data ke dalam fail XML
  • Membaca data dari fail XML
  • Menggunakan fail XML dalam skrip ujian

Langkah 1) Membuat fail XML dalam gerhana

  1. Struktur projek java di bawah perlu dibuat di Eclipse.

  1. Klik kanan pada folder projek, pilih Baru -> Lain-lain

  1. Pilih Fail XML dalam folder XML dan klik pada butang 'Next'

  1. Masukkan nama Fail XML yang sah dan klik pada butang 'Selesai'

  1. Fail XML akan ditambahkan ke folder projek seperti gambar di bawah

Langkah 2) Menyimpan data ke fail XML

Data dapat disimpan dalam fail XML dalam bentuk Model Objek Dokumen (DOM). Demi kesederhanaan, kita boleh menggunakan senario ujian di bawah sebagai contoh.

  • Klik pada pautan Uji Mudah Alih menggunakan XPATH
  • Navigasi Kembali ke laman Utama
  • Masukkan data ke kotak teks e-mel menggunakan ID
  • Klik pada butang Daftar dengan menggunakan ID

Berikut adalah format XML File yang akan digunakan.

 // a [text () = 'MOBILE TESTING']  philadelphia-field-email  philadelphia-field-submit 

Simpan kod XML di atas di properties.xml

Di tab reka bentuk anda akan melihat

Langkah 3) Membaca data dari fail XML

1. Membaca data dari fail XML dapat dilakukan dengan menggunakan kelas 'dom4j' terbina dalam java. Harap maklum bahawa anda perlu menambahkan fail JAR di bawah ke dalam landasan projek anda sebelum meneruskan kod.

  • jaxen.jar
  • dom4j-1.6.jar

2. Berikut adalah kod untuk membaca data dari fail XML.

Fail inputFile = Fail 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 / e-mel"). GetText ();String signUpButton = document.selectSingleNode ("// menu / signup"). GetText ();

3. Pada mulanya, kita perlu membuat objek File dan meneruskannya sebagai parameter ke kaedah 'baca' kelas SAXReader. Setelah data fail XML berjaya dibaca, kita dapat mengakses setiap nod dokumen XML menggunakan kaedah 'selectSingleNode'.

Langkah 4) Menggunakan fail XML dalam skrip ujian

File XML dapat digunakan dalam skrip uji dengan membaca data dari file XML dan meneruskan data sebagai parameter ke metode findElement. Kod di bawah menunjukkan penggunaan data yang dibaca dari fail XML dalam skrip ujian.

driver.findElement (By.xpath (mobileTesting)). klik ();driver.findElement (By.id (emailTextBox)). sendKeys (" Alamat e-mel ini dilindungi dari robot spam. Anda memerlukan JavaScript yang diaktifkan untuk melihatnya.");driver.findElement (By.id (signUpButton)). klik ();

Kod di bawah menunjukkan penggunaan fail XML dalam selenium WebDriver

pakej 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;kelas awam DemoORXML {main statik kekosongan awam (String [] args) melemparkan DocumentException {// Membuat Instance WebDriverPemacu WebDriver;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");pemacu = ChromeDriver baru ();driver.get ("http://demo.guru99.com/test/guru99home/");driver.manage (). window (). maksimalkan ();// Membaca Fail XMLFail inputFile = Fail 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 / e-mel"). GetText ();String signUpButton = document.selectSingleNode ("// menu / signup"). GetText ();// Menavigasi ke Ujian Mudah Alih dan kembalidriver.findElement (By.xpath (mobileTesting)). klik ();pemandu. navigasi (). belakang ();// Memasukkan Data Borangdriver.findElement (By.id (emailTextBox)). sendKeys (" Alamat e-mel ini dilindungi dari robot spam. Anda memerlukan JavaScript yang diaktifkan untuk melihatnya.");driver.findElement (By.id (signUpButton)). klik ();}}

Muat turun Projek Gerhana WebDriver

Ringkasan:

  • Repositori objek adalah lokasi penyimpanan biasa untuk semua objek
  • Selenium WebDriver tidak menawarkan repositori objek bawaan secara lalai
  • Anda boleh membuat 2 Jenis Repositori Objek di Selenium
    1. Repositori Objek menggunakan fail Properties
    2. Repositori Objek menggunakan fail XML
  • Fail sifat adalah fail teks di mana data disimpan dalam bentuk pasangan nilai-kunci
  • Format XML File akan meniru format HTML di mana halaman web dibina.