Бажані можливості в Selenium веб-драйвер
⚡ Розумний підсумок
Бажані здібності – це Selenium клас, який зберігає налаштування браузера, платформи та пристрою у вигляді пар ключ-значення, дозволяючи одному набору тестів орієнтуватися на багато середовищ у різних Selenium Grid, хмарні gridy та мобільна автоматизація.
Що таке бажані можливості?
Бажані здібності – це клас у Selenium використовується для встановлення властивостей браузерів для виконання міжбраузерного тестування веб-додатків. Він зберігає можливості як пари ключ-значення, і ці можливості використовуються для встановлення властивостей браузера, таких як ім’я браузера, версія браузера, шлях до драйвера браузера в системі тощо, щоб визначити поведінку браузера під час виконання.
- Потрібну можливість також можна використовувати для налаштування екземпляра драйвера Selenium WebDriver.
- Ми можемо налаштувати екземпляр драйвера, наприклад FirefoxДрайвер, ChromeDriver, InternetExplorerDriver за допомогою бажаних можливостей.
Примітка до версії: Selenium 4 замінює DesiredCapabilities класами параметрів браузера — ChromeOptions, FirefoxПараметри, EdgeOptions, InternetExplorerOptions. У наведених нижче прикладах збережено оригінальний синтаксис.
Навіщо нам потрібні бажані можливості?
Бажані здібності необхідні, тому що кожен Тестування Сценарій повинен виконуватися в певному середовищі тестування. Середовищем тестування може бути веб-браузер, Mobile пристрій, мобільний емулятор, мобільний симулятор тощо. Клас бажаних можливостей допомагає нам повідомити WebDriver, яке середовище ми будемо використовувати в нашому тестовому скрипті.
Метод setCapability класу DesiredCapabilities, який пояснюється в наступній частині цієї сторінки, можна використовувати в Selenium Сітка. Вона використовується для виконання паралельне виконання на різних конфігураціях машин.
Наприклад: Сітка (показано нижче).
Він використовується для встановлення властивостей браузера (наприклад, Chrome, IE), назви платформи (наприклад, Linux, Windows), що використовуються під час виконання Тестовий випадок.
У випадку мобільної автоматизації, оскільки ми проводимо тести на різних мобільних пристроях, Мобільна платформа (наприклад, iOS, Android) Версія платформи (Напр. 3.x, 4.x в Android) можна встановити.
У наведеному нижче прикладі емулятора показано платформу Android та версію платформи IceCream Sandwich (4.x).
Бажані можливості більш корисні в таких випадках:
- В автоматизації мобільних додатків, де можна налаштувати властивості браузера та властивості пристрою.
- In Selenium Grid, коли ми хочемо запустити тестові випадки в іншому браузері з різними операційними системами та версіями.
Типи методів бажаних можливостей
Тут ми побачимо різні методи бажаних можливостей та як використовувати один з них, метод 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 (у 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)
Встановіть можливості Selenium Приклад
Розглянемо приклад, де ми хочемо запустити наш тестовий кейс у браузері 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 у вищезгаданому випадку) не вказано. Браузер не вдалося знайти програмі. Selenium Код.
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")
Примітка до версії: Selenium 4.6 та пізніших версій автоматично вирішують проблему з драйвером через Selenium Manager, тому System.setProperty є необов'язковим. Історичний код нижче не змінився.
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(); } }
Code Пояснення:
У коді вище,
- Оператори import імпортують необхідні пакети для Selenium WebDriver, необхідні пакети для драйвера Internet Explorer та пакети для бажаних можливостей.
- setCapability приймає різні можливості як вхідні змінні, які потім використовуються веб-драйвером для запуску програми в потрібному середовищі.
- setProperty використовується для встановлення шляху, де знаходиться драйвер. Потім WebDriver знаходить потрібний драйвер.
- Gmail Вебсайт відкривається в браузері Internet Explorer за допомогою методу «get».
вихід:
Тестовий випадок у браузері Internet Explorer буде успішно виконано з використанням Selenium WebDriver.


