Selenium WebDriver'da Nesne Deposu Oluşturma: XML & Özellikler dosyası

İçindekiler:

Anonim

Nesne Deposu nedir?

Bir nesne deposu, tüm nesneler için ortak bir depolama yeridir. Selenium WebDriver bağlamında, nesneler tipik olarak web öğelerini benzersiz şekilde tanımlamak için kullanılan konumlandırıcılar olacaktır.

Nesne havuzunu kullanmanın en büyük avantajı, nesnelerin test durumlarından ayrılmasıdır. Bir web elemanının konum belirleyici değeri değişirse, yer bulucunun kullanıldığı tüm test durumlarında değişiklik yapmak yerine yalnızca nesne havuzunun değiştirilmesi gerekir. Bir nesne havuzunun bakımı, çerçeve uygulamasının modülerliğini artırır.

Bu eğitimde öğreneceksiniz-

  • Nesne Deposu nedir?
  • Selenium Web Sürücüsündeki Nesne Depo Türleri
  • Özellikler dosyasını kullanan Selenium Web Sürücüsü Nesne deposu
  • XML Dosyası Kullanan Selenium WebDriver Nesne Deposu

Selenium Web Sürücüsündeki Nesne Depo Türleri

Selenium WebDriver, varsayılan olarak yerleşik bir nesne deposu sunmaz. Bununla birlikte, nesne havuzları, anahtar-değer çifti yaklaşımı kullanılarak oluşturulabilir; burada anahtar, nesneye verilen ada ve değer, web sayfası içindeki bir nesneyi benzersiz şekilde tanımlamak için kullanılan özelliklere atıfta bulunur.

Selenium WebDriver'da oluşturulabilen nesne havuzu türleri aşağıda verilmiştir.

  1. Özellikler dosyasını kullanan Nesne Deposu
  2. XML dosyası kullanan Nesne Deposu

Özellikler dosyasını kullanan Selenium Web Sürücüsü Nesne deposu

Bu yaklaşımda, özellikler dosyası, verilerin anahtar-değer çiftleri biçiminde depolandığı bir metin dosyasıdır. Aşağıdaki eğitim, aşağıdaki konuları ele alacaktır.

  • Tutulmada bir özellikler dosyası oluşturma
  • Verileri özellikler dosyasına kaydetme
  • Özellikler dosyasından verileri okuma
  • Özellikler dosyasını test komut dosyalarında kullanma

Adım 1) Tutulmada bir özellikler dosyası oluşturma

  1. Başlangıç ​​olarak, aşağıdaki java proje yapısının tutulmada oluşturulması gerekiyor. Proje adı ve paket adı herhangi bir geçerli ad olabilir.

  1. Ana proje klasörüne sağ tıklayın ve Yeni-> Diğer'i seçin

  1. Bir sonraki pencerede, Genel -> Dosya'yı seçin ve 'İleri' düğmesine tıklayın

  1. Yeni dosya kaynağı penceresinde '.properties' uzantılı geçerli bir dosya adı girin ve 'Bitir' düğmesine tıklayın

  1. Proje Yapısında 'application.properties' adlı bir dosya görüntülenmelidir

Adım 2) Verileri özellikler dosyasına kaydetme

  1. Veriler, anahtar-değer çiftleri biçiminde özellikler dosyasında depolanır ve anahtar dosya genelinde benzersizdir.
  2. Konumlandırıcı değerlerini kullanarak web öğelerini tanımlamak için özellikler dosyasını kullanmaya çalışacağız.
  3. Application.properties dosyasını Eclipse'de açın ve aşağıdaki verileri depolayın
MobileTesting = // a [text () = 'MOBİL TESTİ']EmailTextBox = philadelphia-alan-e-postasıSignUpButton = philadelphia-field-submit

4) Bu eğitim için aşağıdaki demo web sitesi kullanılmaktadır: http://demo.guru99.com/test/guru99home/. İşte Test senaryosu:

  • XPATH kullanarak Mobil Test bağlantısına tıklayın
  • Geri git
  • Kimliği kullanarak e-posta metin kutusuna verileri girin
  • Kimlik kullanarak Kaydol düğmesine tıklayın

Adım 3) Özellikler dosyasından verileri okuma

  1. Özellikler dosyasından veri okuma, java.util paketinde sağlanan yerleşik Özellikler sınıfı kullanılarak yapılabilir.
  2. Başlangıçta, aşağıdaki gibi Özellikler sınıfının bir nesnesinin oluşturulması gerekir.
 Özellikler obj = new Özellikler (); 
  1. Özellikler dosyasına giden yol ile FileInputStream sınıfının bir nesnesini oluşturmamız gerekir.
FileInputStream objfile = new FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");
  1. Özellikler dosyasından verilerin okunması, java'daki Özellikler sınıfı tarafından sunulan yükleme yöntemi kullanılarak yapılabilir. Aşağıdaki kod, yükleme yönteminin kullanımını göstermektedir.
Özellikler obj = new Özellikler ();FileInputStream objfile = new FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);String mobileTesting = obj.getProperty ("MobileTesting");

'MobileTesting' dizesi, web sayfasındaki Mobil Test bağlantısını tanımlamak için XPATH içerecektir.

Adım 4) Özellikler dosyasını test komut dosyalarında kullanma

Özellikler dosyası, bir özellikler dosyasındaki verileri okuyarak ve verileri bir parametre olarak findElement yöntemine ileterek test komut dosyalarında kullanılabilir. Aşağıdaki kod, test komut dosyalarında özellikler dosyasından okunan verilerin kullanımını göstermektedir.

driver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). tıklayın ();driver.findElement (By.id (obj.getProperty ("EmailTextBox"))). sendKeys (" Bu e-posta adresi istenmeyen postalardan korunmaktadır. Görüntülemek için JavaScript'in etkinleştirilmesi gerekir.");driver.findElement (By.id (obj.getProperty ("SignUpButton"))) tıklayın (); 

Aşağıda, yukarıdaki test senaryosu için kullanılan kodun tamamı verilmiştir.

paket com.objectrepository.demo;java.io.FileInputStream'i içe aktarın;import java.io.FileNotFoundException;java.io.IOException'ı içe aktarın;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 [] değiştirgeler) IOException {atar// WebDriver Örneği OluşturunWebDriver sürücüsü;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");sürücü = yeni ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");driver.manage (). window (). maximize ();// Özellikler Dosyasını yükleÖzellikler obj = new Özellikler ();FileInputStream objfile = new FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);// Mobil Test ile Geri arasında bağlantı oluşturmak için Nagigatedriver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). tıklayın ();sürücü.navigate (). geri ();// Verileri Forma Girindriver.findElement (By.id (obj.getProperty ("EmailTextBox"))). sendKeys (" Bu e-posta adresi istenmeyen postalardan korunmaktadır. Görüntülemek için JavaScript'in etkinleştirilmesi gerekir.");driver.findElement (By.id (obj.getProperty ("SignUpButton"))) tıklayın ();}}

XML Dosyası Kullanan Selenium WebDriver Nesne Deposu

XML, Genişletilebilir Biçimlendirme Dili anlamına gelir. Bir XML Dosyası, temel yapı olarak Belge Nesne Modeli'ni (DOM) kullanır. XML Dosya biçimi, web sayfasının oluşturulduğu HTML biçimini çoğaltır. Aşağıda ele alınacak konuların listesi bulunmaktadır.

  • Tutulmada XML dosyası oluşturma
  • Verileri XML dosyasına kaydetme
  • XML dosyasından veri okuma
  • XML dosyasını test komut dosyalarında kullanma

Adım 1) Tutulmada XML dosyası oluşturmak

  1. Eclipse'de aşağıdaki java proje yapısının oluşturulması gerekiyor.

  1. Proje klasörüne sağ tıklayın, Yeni -> Diğer'i seçin

  1. XML klasöründeki XML Dosyasını seçin ve 'İleri' düğmesine tıklayın

  1. Geçerli bir XML Dosya adı girin ve 'Bitir' düğmesine tıklayın

  1. Aşağıda gösterildiği gibi proje klasörüne bir XML dosyası eklenecektir.

Adım 2) Verileri XML dosyasına kaydetme

Veriler, Belge Nesne Modeli (DOM) biçiminde XML dosyasında saklanabilir. Basit olması açısından aşağıdaki test senaryosunu örnek olarak kullanabiliriz.

  • XPATH kullanarak Mobil Test bağlantısına tıklayın
  • Ana Sayfaya Geri Dönün
  • Kimliği kullanarak e-posta metin kutusuna verileri girin
  • Kimlik kullanarak Kaydol düğmesine tıklayın

Aşağıda kullanılacak XML Dosyası formatı verilmiştir.

 // a [text () = 'MOBİL TESTİ']  philadelphia-alan-e-postası  philadelphia-field-submit 

Yukarıdaki XML kodunu properties.xml'de saklayın

Tasarım sekmesinde göreceksiniz

Adım 3) XML dosyasından veri okuma

1. XML dosyasından veri okumak, java'daki yerleşik 'dom4j' sınıfı kullanılarak gerçekleştirilebilir. Lütfen kodla devam etmeden önce aşağıdaki JAR dosyalarını projenizin yapı yoluna eklemeniz gerektiğini unutmayın.

  • jaxen.jar
  • dom4j-1.6.jar

2. XML dosyasından veri okumak için kod aşağıdadır.

Dosya inputFile = yeni Dosya (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = yeni SAXReader ();Belge belgesi = saxReader.read (inputFile);String mobileTesting = document.selectSingleNode ("// menu / mobiletesting"). GetText ();String emailTextBox = document.selectSingleNode ("// menu / email"). GetText ();String signUpButton = document.selectSingleNode ("// menu / kayıt"). GetText ();

3. Başlangıçta, bir File nesnesi oluşturmamız ve bunu SAXReader sınıfının 'okuma' yöntemine bir parametre olarak iletmemiz gerekir. XML dosyası verileri başarıyla okunduktan sonra, 'selectSingleNode' yöntemini kullanarak XML belgesinin tek tek düğümlerine erişebiliriz.

Adım 4) Test komut dosyalarında XML dosyasını kullanma

XML dosyası, XML dosyasından veri okuyarak ve verileri parametre olarak findElement yöntemine ileterek test betiklerinde kullanılabilir. Aşağıdaki kod, test komut dosyalarında XML dosyasından okunan verilerin kullanımını göstermektedir.

driver.findElement (By.xpath (mobileTesting)). tıklayın ();driver.findElement (By.id (emailTextBox)). sendKeys (" Bu e-posta adresi istenmeyen postalardan korunmaktadır. Görüntülemek için JavaScript'in etkinleştirilmesi gerekir.");driver.findElement (By.id (signUpButton)). tıklayın ();

Aşağıdaki kod, selenium WebDriver'da XML dosyasının kullanımını gösterir.

paket 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) DocumentException {atar// WebDriver Örneği OluşturmaWebDriver sürücüsü;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");sürücü = yeni ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");driver.manage (). window (). maximize ();// XML Dosyasını OkumakDosya inputFile = yeni Dosya (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = yeni SAXReader ();Belge belgesi = saxReader.read (inputFile);String mobileTesting = document.selectSingleNode ("// menu / mobiletesting"). GetText ();String emailTextBox = document.selectSingleNode ("// menu / email"). GetText ();String signUpButton = document.selectSingleNode ("// menu / kayıt"). GetText ();// Mobil Teste gitme ve geri dönmedriver.findElement (By.xpath (mobileTesting)). tıklayın ();sürücü.navigate (). geri ();// Form Verilerinin Girilmesidriver.findElement (By.id (emailTextBox)). sendKeys (" Bu e-posta adresi istenmeyen postalardan korunmaktadır. Görüntülemek için JavaScript'in etkinleştirilmesi gerekir.");driver.findElement (By.id (signUpButton)). tıklayın ();}}

WebDriver Eclipse Projesini İndirin

Özet:

  • Bir nesne deposu, tüm nesneler için ortak bir depolama yeridir
  • Selenium WebDriver varsayılan olarak yerleşik bir nesne deposu sunmaz
  • Selenium'da 2 Tür Nesne Deposu oluşturabilirsiniz
    1. Özellikler dosyasını kullanan Nesne Deposu
    2. XML dosyası kullanan Nesne Deposu
  • Özellikler dosyası, verilerin anahtar / değer çiftleri biçiminde depolandığı bir metin dosyasıdır.
  • XML Dosya biçimi, web sayfasının oluşturulduğu HTML biçimini çoğaltır.