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

Что такое желаемые возможности?

Желаемые возможности класс в Selenium используется для установки свойств браузеров для выполнения кросс-браузерного тестирования веб-приложений. Он хранит возможности в виде пар ключ-значение, и эти возможности используются для установки свойств браузера, таких как имя браузера, версия браузера, путь к драйверу браузера в системе и т. д., чтобы определить поведение браузера во время выполнения.

  • Желаемую возможность можно также использовать для настройки экземпляра драйвера Selenium ВебДрайвер.
  • Мы можем настроить экземпляр драйвера, например FirefoxDriver, ChromeDriver, InternetExplorerDriver, используя нужные возможности.

Зачем нам нужны желаемые возможности?

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

Команда метод setCapability класса DesiredCapabilities, который объясняется в последней части руководства, может использоваться в Selenium Сетка. Он используется для параллельного выполнения на разных конфигурациях машин.

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

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

Он используется для установки свойств браузера (например, Chrome, IE), имени платформы (например, Linux, Windows), которые используются при выполнении тестовых случаев.

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

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

В приведенном выше примере эмулятора показан набор платформ — Android и набор версий платформы — IceCream Sandwich (4.x).

Желаемые возможности более полезны в таких случаях, как:

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

Типы желаемых возможностей. Методы.

Здесь мы увидим другой тип методов желаемых возможностей и посмотрим, как использовать один из этих методов».Метод setCapability».

#1) ПолучитьИмяБраузера()

public java.lang.String getBrowserName()

#2) УстановитьИмяБраузера()

public void setBrowserName(java.lang.String browserName)

#3) getVersion()

public java.lang.String getVersion()

#4) setVersion()

public void setVersion(java.lang.String version)

#5) Получить Платформу()

public Platform getPlatform()

#6) УстановитьПлатформу()

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(в 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();
 }
  
}

Пояснение к коду:

В приведенном выше коде

  • Операторы импорта предназначены для импорта необходимых пакетов для веб-драйвера Selenium, необходимых пакетов для драйвера Internet Explorer, пакетов для желаемых возможностей.
  • setCapability принимает различные возможности в качестве входных переменных, которые затем используются веб-драйвером для запуска приложения в нужной среде.
  • setProperty используется для установки пути, по которому находится драйвер. Затем веб-драйвер найдет необходимый драйвер.
  • Веб-сайт Gmail открывается в браузере Internet Explorer с помощью метода «get».

Вывод:

Тестовый пример в браузере Internet Explorer будет успешно выполнен с использованием Selenium Вебдрайвер.

Заключение

Класс Desired Capabilities поможет установить среду для определения поведения браузера/среды, в которой может выполняться тест.

Это помогает запустить наше приложение в желаемой среде с теми возможностями, которые мы хотим использовать.