Бажані можливості в Selenium веб-драйвер
Що таке бажані можливості?
Бажані можливості це клас в Selenium використовується для встановлення властивостей браузерів для виконання міжбраузерного тестування веб-додатків. Він зберігає можливості як пари ключ-значення, і ці можливості використовуються для встановлення властивостей браузера, таких як ім’я браузера, версія браузера, шлях до драйвера браузера в системі тощо, щоб визначити поведінку браузера під час виконання.
- Потрібну можливість також можна використовувати для налаштування екземпляра драйвера Selenium WebDriver.
- Ми можемо налаштувати екземпляр драйвера, наприклад FirefoxДрайвер, ChromeDriver, InternetExplorerDriver за допомогою бажаних можливостей.
Навіщо нам потрібні бажані можливості?
Бажані можливості потрібні, тому що кожен Тестування Сценарій повинен виконуватися в певному середовищі тестування. Середовищем тестування може бути веб-браузер, Mobile пристрій, мобільний емулятор, мобільний симулятор тощо. Клас бажаних можливостей допомагає нам повідомити веб-драйверу, яке середовище ми будемо використовувати в тестовому сценарії.
Команда метод 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(). класу бажаних можливостей використовується для встановлення властивостей тестового середовища, таких як ім’я пристрою, ім’я та версія ОС, ім’я та версія браузера, абсолютний шлях до програми, що тестується (файл .apk Android тестується програма), активність програми (в Android) і appPackage(in 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 у наведеному вище випадку) не встановлено. Браузер не вдалося знайти за кодом 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")
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 Веб-драйвер.
Висновок
Клас бажаних можливостей допоможе налаштувати середовище для визначення поведінки браузера/середовища, у якому можна виконати тест.
Це допомагає запустити нашу програму в бажаному середовищі, маючи можливості, які ми хочемо використовувати.