Selenium WebDriver'da İstenen Yetenekler

İçindekiler:

Anonim

İstenilen Yetenekler

Desired Capabilities , web uygulamalarının çapraz tarayıcı testini gerçekleştirmek için tarayıcıların özelliklerini ayarlamak için kullanılan bir Selenium sınıfıdır. Yetenekleri anahtar-değer çiftleri olarak depolar ve bu yetenekler, tarayıcının çalışma zamanında davranışını belirlemek için tarayıcı adı, tarayıcı sürümü, sistemdeki tarayıcı sürücüsünün yolu vb. Gibi tarayıcı özelliklerini ayarlamak için kullanılır.

  • Selenium WebDriver'ın sürücü örneğini yapılandırmak için istenen yetenek de kullanılabilir.
  • İstenilen yetenekleri kullanarak FirefoxDriver, ChromeDriver, InternetExplorerDriver gibi sürücü örneklerini yapılandırabiliriz.

Bu eğitimde öğreneceksiniz-

  • İstenilen Yetenek nedir?
  • Neden İstenilen Yeteneklere ihtiyacımız var?
  • Farklı İstenen Yetenekler Yöntemleri
  • Kabiliyet yöntemi için örnek

Neden İstenilen Yeteneklere ihtiyacımız var?

Her Test senaryosunun bazı özel test ortamında yürütülmesi gerektiğinden, İstenen Yeteneklere ihtiyaç vardır. Test ortamı bir web tarayıcısı, Mobil cihaz, mobil emülatör, mobil simülatör vb. Olabilir. İstenilen Yetenekler Sınıfı, web sürücüsüne, test komut dosyamızda hangi ortamı kullanacağımızı söylememize yardımcı olur.

SetCapability yöntemi öğretici sonraki bölümünde açıklanmıştır DesiredCapabilities Class, bir selenyum kılavuz olarak kullanılabilir. Farklı makine konfigürasyonlarında paralel yürütme gerçekleştirmek için kullanılır.

Ör: Izgara

Test durumlarını yürütürken kullanılan tarayıcı özelliklerini (Örn. Chrome, IE), Platform Adını (Örn. Linux, Windows) ayarlamak için kullanılır.

Mobil otomasyon durumunda, testleri farklı mobil cihaz çeşitleri üzerinde gerçekleştirdiğimiz için Mobil Platform (ör. İOS, Android) Platform Sürümü (Örn. Android'de Örn. 3.x, 4.x) ayarlanabilir.

Yukarıdaki emülatör örneği, android olan platform setini ve IceCream Sandwich (4.x) olan platform sürüm setini gösterir.

İstenen Yetenekler aşağıdaki gibi durumlarda daha kullanışlıdır:

  • Tarayıcı özelliklerinin ve cihaz özelliklerinin ayarlanabildiği mobil uygulama otomasyonunda.
  • Selenium grid'de test senaryolarını farklı işletim sistemleri ve sürümleri olan farklı bir tarayıcıda çalıştırmak istediğimizde.

Farklı İstenen Yetenekler Yöntemleri

Burada farklı türde istenen yetenek yöntemlerini göreceğiz ve bu yöntemden birinin nasıl kullanılacağını göreceğiz " setCapability Yöntemi".

  1. getBrowserName ()
genel java.lang.String getBrowserName ()
  1. setBrowserName ()
public void setBrowserName (java.lang.String browserName)
  1. getVersion ()
public java.lang.String getVersion ()
  1. setVersion ()
public void setVersion (java.lang.String sürümü)
  1. getPlatform ()
genel Platform getPlatform ()
  1. setPlatform ()
genel Platform setPlatform ()
  1. getCapability Yöntemi

DesiredCapabilities sınıfının getCapability yöntemi, şu anda sistemde kullanımda olan yeteneği elde etmek için kullanılabilir.

genel java.lang.Object getCapability (java.lang.String yeteneğiAdı)
  1. setCapability () Yöntemi

SetCapability () yöntemi İstenilen Yetenekleri sınıfın cihaz adı, işletim sistemi adı ve sürümü, tarayıcı adı ve sürümü, test altındaki uygulamanın mutlak yolu (Android uygulamasının .apk dosyası gibi bir test ortamında özelliğini ayarlamak için kullanılır test altında), uygulama Activity (Android'de) ve appPackage (Java'da).

Java'daki "setCapability yöntemi" aşağıdaki bildirimlere sahiptir:

setCapability: public void setCapability (java.lang.String capabilityName, boolean değeri)
setCapability: public void setCapability (java.lang.String capabilityName, java.lang.String değeri)
setCapability: public void setCapability (java.lang.String capabilityName, Platform değeri)
setCapability: public void setCapability (java.lang.String anahtarı, java.lang.Object değeri)

Kabiliyet yöntemi için örnek

Selenium Webdriver kullanarak www.gmail.com web sitesini açmak için İnternet Gezgini tarayıcısında Test Durumumuzu çalıştırmak istediğimiz bir örneği ele alalım.

Kod aşağıdadır.

import org.openqa.selenium.WebDriver;import org.openqa.selenium.ie.InternetExplorerDriver;public class IEtestforDesiredCapabilities {public static void main (String [] args) {WebDriver sürücüsü = yeni InternetExplorerDriver ();driver.manage (). window (). maximize ();driver.get ("http://gmail.com");driver.quit ();}}

Şimdi bu kodu Eclipse'den çalıştırın ve konsolu kontrol edin.

Çıktı:

Yukarıdaki kod çalıştırıldığında aşağıdaki hatayı verecektir. Hata, tarayıcı sürücüsüne giden yolun (yukarıdaki durumda IE) ayarlanmaması nedeniyle oluşur. Tarayıcı selenyum koduna göre bulunamadı.

Çalıştırılabilir sürücünün yolu webdriver.ie.driver sistem özelliği tarafından ayarlanmalıdır; daha fazla bilgi için bkz. http://code.google.com/p/selenium/wiki/InternetExplorerDriver. En son sürüm http://code.google.com/p/selenium/downloads/list adresinden indirilebilir

11 Aralık 201212: 59: 43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib

UYARI: Bu IE sürücüsünü başlatma yöntemi kullanımdan kaldırılmıştır ve selenyum 2.26'da kaldırılacaktır. Lütfen http://code.google.com/p/selenium/downloads/list adresinden IEDriverServer.exe dosyasını indirin ve YOLUNUZDA olduğundan emin olun.

Çözüm :

Yukarıdaki sorunun çözümü, hatanın kendi uyarı bölümünde verilmiştir.

  • 32bit veya 64bit için Internet ExplorerDriver bağımsız sunucusunu indirin.
  • Sürücüyü sistemde uygun bir yere kaydedin.
  • System.setProperty yöntemini kullanarak sürücünün yolunu ayarlayın .
  • IE sürücüsünü webdriver özelliğiyle ayarlamak için kullanılır. Sistem konumunda depolanan çalıştırılabilir sürücü dosyasını bulmaya yardımcı olur. (Ör: "C: \ IEDriverLocation \ IEDriver.exe")
import org.openqa.selenium.WebDriver;import org.openqa.selenium.ie.InternetExplorerDriver;import org.openqa.selenium.remote.DesiredCapabilities;public class IEtestforDesiredCapabilities {public static void main (String [] args) {// IE yeteneğini tanımlamak için kullanılırDesiredCapabilities yetenekleri = DesiredCapabilities.internetExplorer ();yetenekler.setCapability (CapabilityType.BROWSER_NAME, "IE");yetenekler.setCapability (InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, doğru);System.setProperty ("webdriver.ie.driver", "C: \\ IEDriverServer.exe");// IE sürücüsünü başlatmak için kullanılırWebDriver sürücüsü = yeni InternetExplorerDriver (yetenekler);driver.manage (). window (). maximize ();driver.get ("http://gmail.com");driver.quit ();}}

Kod Açıklaması:

Yukarıdaki kodda,

  • İçe aktarma ifadeleri, selenyum web sürücüsü için gerekli paketleri, Internet Explorer sürücüsü için gerekli paketleri, istenen yetenekler için paketleri içe aktarmak içindir.
  • setCapability, çeşitli yetenekleri giriş değişkenleri olarak alır ve daha sonra web sürücüsü tarafından uygulamayı istenen ortamda başlatmak için kullanılır.
  • setProperty, sürücünün bulunduğu yolu ayarlamak için kullanılır. Web Sürücüsü daha sonra gerekli sürücüyü bulur.
  • Gmail web sitesi, Internet Explorer tarayıcısında "get" yöntemi kullanılarak açılır.

Çıktı:

İnternet gezgini tarayıcısındaki test durumu, Selenium Webdriver kullanılarak başarıyla çalışacaktır.

Sonuç

İstenen Yetenekler sınıfı, testin yürütülebileceği tarayıcının / ortamın davranışını tanımlamak için bir ortamın ayarlanmasına yardımcı olacaktır.

Uygulamamızı, kullanmak istediğimiz yeteneklere sahip, istenilen ortamda başlatmamıza yardımcı olur.

Bu makale Krithika Ramkumar tarafından hazırlanmıştır.