Что такое желаемая возможность?
Требуемая возможность — это набор пар ключ / значение, в которых хранятся такие свойства браузера, как имя браузера, версия браузера, путь к драйверу браузера в системе и т. Д., Для определения поведения браузера во время выполнения.
- Требуемая возможность также может использоваться для настройки экземпляра драйвера Selenium WebDriver.
- Мы можем настроить экземпляр драйвера, например FirefoxDriver, ChromeDriver, InternetExplorerDriver, используя необходимые возможности.
В этом уроке вы узнаете
- Что такое желаемая возможность?
- Зачем нам нужны желаемые возможности?
- Различные типы методов желаемых возможностей
- Пример метода установки возможностей
Зачем нам нужны желаемые возможности?
Каждый сценарий тестирования должен выполняться в определенной среде тестирования. Средой тестирования может быть веб-браузер, мобильное устройство, мобильный эмулятор, мобильный симулятор и т. Д.
Класс Desired Capabilities помогает нам сообщить веб-драйверу, какую среду мы будем использовать в нашем тестовом скрипте.
Метод setCapability из класса DesiredCapabilities, что объясняется в более поздней части руководства, может быть использован в Selenium Grid. Он используется для параллельного выполнения на разных конфигурациях машины.
Пример: Сетка
Он используется для установки свойств браузера (например, Chrome, IE), имени платформы (например, Linux, Windows), которые используются при выполнении тестовых случаев.
В случае мобильной автоматизации, поскольку мы выполняем тесты на различных разновидностях мобильных устройств, можно установить версию платформы Mobile Platform (например, iOS, Android) (например, 3.x, 4.x в Android).
Приведенный выше пример эмулятора показывает набор платформ Android и набор версий платформ IceCream Sandwich (4.x).
Желаемые возможности более полезны в следующих случаях:
- В автоматизации мобильных приложений, где можно установить свойства браузера и свойства устройства.
- В сетке Selenium, когда мы хотим запустить тестовые случаи в другом браузере с разными операционными системами и версиями.
Различные типы методов желаемых возможностей
Здесь мы увидим другой тип требуемых возможностей методов и посмотрим, как использовать один из этих методов «метод setCapability».
- getBrowserName ()
public java.lang.String getBrowserName()
- setBrowserName ()
public void setBrowserName(java.lang.String browserName)
- GetVersion ()
public java.lang.String getVersion()
- SetVersion ()
public void setVersion(java.lang.String version)
- getPlatform ()
public Platform getPlatform()
- setPlatform ()
public Platform setPlatform()
- Метод getCapability
Метод getCapability класса DesiredCapabilities можно использовать для получения возможности, которая в данный момент используется в системе.
public java.lang.Object getCapability(java.lang.String capabilityName)
- setCapabilityMethod
Метод setCapability () класса Desired Capabilities можно использовать для задания имени устройства, версии платформы, имени платформы, абсолютного пути тестируемого приложения (файл .apk тестируемого приложения (Android)), Activity приложения ( в Android) и appPackage (Java).
«Метод setCapability» в 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)
Пример метода установки возможностей
Давайте рассмотрим пример, в котором мы хотим запустить наш тестовый пример в браузере Internet Explorer, чтобы открыть сайт www.gmail.com с помощью Selenium Webdriver.
Ниже приведен код.
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 в приведенном выше случае) не установлен. Браузер не может быть найден по коду селена.
Путь к исполняемому файлу драйвера должен быть установлен системным свойством webdriver.ie.driver; Более подробную информацию см. на странице http://code.google.com/p/selenium/wiki/InternetExplorerDriver. Последнюю версию можно загрузить с http://code.google.com/p/selenium/downloads/list
11 декабря 2012 г. 12: 59: 43 вечера org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib
ВНИМАНИЕ: Этот метод запуска драйвера IE устарел и будет удален в Selen 2.26. Загрузите IEDriverServer.exe с http://code.google.com/p/selenium/downloads/list и убедитесь, что он находится в вашей переменной 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 Webdriver.
Вывод
Класс Desired Capabilities поможет установить среду, определяющую поведение браузера / среды, в которой может выполняться тест.
Это помогает запустить наше приложение в желаемой среде, обладающей теми возможностями, которые мы хотим использовать.
Эта статья предоставлена Критикой Рамкумар