Желаемые возможности в Selenium Вебдрайвер
Что такое желаемые возможности?
Желаемые возможности класс в Selenium используется для установки свойств браузеров для выполнения кросс-браузерного тестирования веб-приложений. Он хранит возможности в виде пар ключ-значение, и эти возможности используются для установки свойств браузера, таких как имя браузера, версия браузера, путь к драйверу браузера в системе и т. д., чтобы определить поведение браузера во время выполнения.
- Желаемую возможность можно также использовать для настройки экземпляра драйвера Selenium ВебДрайвер.
- Мы можем настроить экземпляр драйвера, например FirefoxDriver, ChromeDriver, InternetExplorerDriver, используя нужные возможности.
Зачем нам нужны желаемые возможности?
Желаемые возможности необходимы, потому что каждый Тестирование сценарий должен выполняться в какой-то конкретной среде тестирования. Средой тестирования может быть веб-браузер, Мобильный телефон устройство, мобильный эмулятор, мобильный симулятор и т. д. Класс желаемых возможностей помогает нам сообщить веб-драйверу, какую среду мы собираемся использовать в нашем тестовом сценарии.
Команда метод setCapability класса DesiredCapabilities, который объясняется в последней части руководства, может использоваться в Selenium Сетка. Он используется для параллельного выполнения на разных конфигурациях машин.
Пример: сетка
Он используется для установки свойств браузера (например, Chrome, IE), имени платформы (например, Linux, Windows), которые используются при выполнении тестовых случаев.
В случае мобильной автоматизации, поскольку мы проводим тесты на различных типах мобильных устройств, мобильная платформа (например, iOS, Android) Версия платформы (пример 3.x, 4.x в Android) можно установить.
В приведенном выше примере эмулятора показан набор платформ — 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 поможет установить среду для определения поведения браузера/среды, в которой может выполняться тест.
Это помогает запустить наше приложение в желаемой среде с теми возможностями, которые мы хотим использовать.