Желани възможности в Selenium уебдрайвер

Какво представляват желаните способности?

Желани възможности е клас в Selenium използва се за задаване на свойства на браузъри за извършване на кръстосано тестване на уеб приложения на браузъра. Той съхранява възможностите като двойки ключ-стойност и тези възможности се използват за задаване на свойства на браузъра като име на браузъра, версия на браузъра, път на драйвера на браузъра в системата и т.н., за да се определи поведението на браузъра по време на изпълнение.

  • Желаната възможност може да се използва и за конфигуриране на екземпляра на драйвера на Selenium WebDriver.
  • Можем да конфигурираме екземпляр на драйвер като FirefoxДрайвер, ChromeDriver, InternetExplorerDriver чрез използване на желаните възможности.

Защо се нуждаем от желаните способности?

Желани възможности са необходими, защото всеки Тестване сценарият трябва да се изпълни в някаква специфична тестова среда. Средата за тестване може да бъде уеб браузър, подвижен устройство, мобилен емулатор, мобилен симулатор и т.н. Класът на желаните възможности ни помага да кажем на уебдрайвера коя среда ще използваме в нашия тестов скрипт.

- метод setCapability на класа DesiredCapabilities, който е обяснен в по-късната част на урока, може да се използва в Selenium Решетка. Използва се за извършване на паралелно изпълнение на различни машинни конфигурации.

Пример: решетка

Желани възможности в Selenium уебдрайвер

Използва се за задаване на свойствата на браузъра (напр. Chrome, IE), име на платформа (напр. Linux, Windows), които се използват при изпълнение на тестовите случаи.

В случай на мобилна автоматизация, тъй като извършваме тестовете на различни разновидности на мобилни устройства, мобилната платформа (напр. iOS, Android) Версия на платформата (Напр. 3.x,4.x in Android) може да се настрои.

Желани възможности в Selenium уебдрайвер

Примерът за емулатор по-горе показва комплекта платформа, който е android, и комплекта версия на платформата, който е IceCream Sandwich (4.x).

Желаните възможности са по-полезни в случаи като:

  • В автоматизацията на мобилни приложения, където могат да се задават свойствата на браузъра и свойствата на устройството.
  • In Selenium мрежа, когато искаме да стартираме тестовите случаи на различен браузър с различни операционни системи и версии.

Видове методи за желани способности

Тук ще видим различен тип методи за желани възможности и ще видим как да използваме един от тези методи “метод setCapability”.

#1) getBrowserName()

public java.lang.String getBrowserName()

#2) setBrowserName()

public void setBrowserName(java.lang.String browserName)

#3) getVersion()

public java.lang.String getVersion()

#4) setVersion()

public void setVersion(java.lang.String version)

#5) getPlatform()

public Platform getPlatform()

#6) setPlatform()

public Platform setPlatform()

#7) метод getCapability().

Методът getCapability() на класа DesiredCapabilities може да се използва за получаване на възможността, която се използва в момента в системата.

public java.lang.Object getCapability(java.lang.String capabilityName)

#8) метод setCapability().

- метод setCapability(). от класа Desired Capabilities се използва за задаване на свойството на тестова среда, като име на устройство, име и версия на ОС, име и версия на браузъра, абсолютен път на тестваното приложение (.apk файлът на Android приложение под тест), активност на приложението (в Android) и appPackage(in Java).

„метод setCapability“ in Java има следните декларации:

setCapability : public void setCapability(java.lang.String capabilityName,boolean value)
setCapability  :public void setCapability(java.lang.String capabilityName,java.lang.String value)
setCapability  :public void setCapability(java.lang.String capabilityName,Platform value)
setCapability  :public void setCapability(java.lang.String key,java.lang.Object value)

Задайте възможност Selenium Пример

Нека разгледаме пример, в който искаме да изпълним нашия Тестов случай в браузъра Internet Explorer, за да отворите уебсайта www.gmail.com, като използвате Selenium Уебдрайвер.

Следва кодът.

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class IEtestforDesiredCapabilities {
  
 public static void main(String[] args) {
  
WebDriver driver = new InternetExplorerDriver();
 driver.manage().window().maximize();
 driver.get("http://gmail.com");
  
 driver.quit();
 }
  
}

Сега стартирайте този код от Eclipse и проверете конзолата.

Изход:

Той ще изведе следната грешка, когато се изпълни горният код. Грешката възниква, защото пътят до драйвера на браузъра (IE в горния случай) не е зададен. Браузърът не може да бъде локализиран от кода на селен.

The path to the driver executable must be set by the webdriver.ie.driver system property; formore information, see http://code.google.com/p/selenium/wiki/InternetExplorerDriver. The latest version can be downloaded from http://code.google.com/p/selenium/downloads/list

Dec 11, 201212:59:43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib

WARNING: This method of starting the IE driver is deprecated and will be removed in selenium 2.26. Please download the IEDriverServer.exe from http://code.google.com/p/selenium/downloads/list and ensure that it is in your PATH.

Решение:

Решението за горния проблем е дадено в предупредителния раздел на самата грешка.

  • Изтеглете самостоятелния сървър на Internet ExplorerDriver за 32 или 64 бита.
  • Запазете драйвера на подходящо място в системата.
  • Задайте пътя за драйвера с помощта на System.setProperty метод.
  • Използва се за настройка на IE драйвера със свойството webdriver. Помага за намиране на изпълнимия файл на драйвера, който се съхранява в местоположението на системата. (Пример: „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) {

//it is used to define IE capability 
 DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
  
capabilities.setCapability(CapabilityType.BROWSER_NAME, "IE");
capabilities.setCapability(InternetExplorerDriver.
  INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);


System.setProperty("webdriver.ie.driver", "C:\\IEDriverServer.exe");
  
 //it is used to initialize the IE driver
 WebDriver driver = new InternetExplorerDriver(capabilities);
  
 driver.manage().window().maximize();

 driver.get("http://gmail.com");
  
 driver.quit();
 }
  
}

Обяснение на кода:

В кода по-горе,

  • Инструкциите за импортиране са за импортиране на необходимите пакети за уеб драйвера на селен, необходимите пакети за драйвера на Internet Explorer, пакети за желаните възможности.
  • setCapability приема различните възможности като входни променливи, които след това се използват от уеб драйвера за стартиране на приложението в желаната среда.
  • setProperty се използва за задаване на пътя, където се намира драйверът. След това Web Driver намира необходимия драйвер.
  • Уебсайтът на Gmail се отваря в браузъра Internet Explorer с помощта на метода „get“.

Изход:

Тестовият случай в браузъра Internet Explorer ще се изпълнява успешно с помощта на Selenium Уебдрайвер.

Заключение

Класът Desired Capabilities ще помогне да се зададе среда, която да дефинира поведението на браузъра/средата, върху която може да се изпълни тестът.

Помага да стартираме нашето приложение в желаната среда с възможностите, които желаем да използваме.