Учебники

18) Желаемые возможности в селене

Что такое желаемая возможность?

Требуемая возможность — это набор пар ключ / значение, в которых хранятся такие свойства браузера, как имя браузера, версия браузера, путь к драйверу браузера в системе и т. Д., Для определения поведения браузера во время выполнения.

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

В этом уроке вы узнаете

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

Каждый сценарий тестирования должен выполняться в определенной среде тестирования. Средой тестирования может быть веб-браузер, мобильное устройство, мобильный эмулятор, мобильный симулятор и т. Д.

Класс Desired Capabilities помогает нам сообщить веб-драйверу, какую среду мы будем использовать в нашем тестовом скрипте.

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

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

Желаемые возможности в Selenium WebDriver

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

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

Желаемые возможности в Selenium WebDriver

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

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

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

Различные типы методов желаемых возможностей

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

  1. getBrowserName ()
public 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 version)
  1. getPlatform ()
public Platform getPlatform()
  1. setPlatform ()
public Platform setPlatform()
  1. Метод getCapability

Метод getCapability класса DesiredCapabilities можно использовать для получения возможности, которая в данный момент используется в системе.

public java.lang.Object getCapability(java.lang.String capabilityName)
  1. 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 поможет установить среду, определяющую поведение браузера / среды, в которой может выполняться тест.

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

Эта статья предоставлена ​​Критикой Рамкумар