Desired Capabilities в Selenium

Что это

Desired Capabilities («желаемые возможности») — это класс, используемый для установки свойств браузера перед его вызовом. Это, например, имя браузера, операционная система, версия браузера и т. д. Это набор пар ключ-значение, которые используются для настройки параметров браузера. В основном Desired Capabilities позволяют гибче управлять браузером при автоматизации. 

Примеры

  • Browser Name: Какой браузер запускать (Chrome, Firefox и т.д.) 
  • Version: Версия браузера. 
  • Platform: Операционная система, в которой будет выполняться тест. 
  • Screen: То есть разрешение окна браузера. 
  • JavaScript: Включить или отключить JavaScript в браузере.

Важность

Desired Capabilities позволяют: 

  • Контролировать поведение браузера: Подстраивать среду браузера под конкретные требования в процессе. 
  • Кроссбраузерное тестирование: Проводить тестирование в различных версиях браузеров (проверка совместимости). 
  • Удаленное тестирование: Запуск тестов на удаленных машинах или облачных сервисах (типа Selenium Grid или BrowserStack). Desired Capabilities необходимы для передачи информации об особенностях тестового окружения.

Настройка (Java)

Конфигурация следующая:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.chrome.ChromeOptions;

public class DesiredCapabilitiesExample {
    public static void main(String[] args) {

        // Create an instance of DesiredCapabilities
        DesiredCapabilities capabilities = new DesiredCapabilities();

        // Set desired capabilities
        capabilities.setCapability("browserName", "chrome");
        capabilities.setCapability("version", "92.0");
        capabilities.setCapability("platform", "WINDOWS");
        capabilities.setCapability("screenResolution", "1920x1080");

        // Additional options using ChromeOptions
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--start-maximized"); // Maximize the browser window
        options.addArguments("--disable-infobars"); // Disable the info bars
        capabilities.setCapability(ChromeOptions.CAPABILITY, options);

        // Initialize the WebDriver with the desired capabilities
        WebDriver driver = new ChromeDriver(capabilities);

        // Open a website
        driver.get("https://www.google.com");

        // Testing logic here

        // Close the browser
        driver.quit();
    }
}

Объяснение по пунктам

Комментарии в коде выше:

  • DesiredCapabilities Instance: Создается экземпляр DesiredCapabilities для установки этих параметров. 
  • Setting Capabilities: Устанавливаются нужные в данном случае возможности, включая имя браузера, версия, платформа, и разрешение экрана. 
  • ChromeOptions: Дополнительные опции, специфичные для Chrome. 
  • WebDriver Initialization: Драйвер ChromeDriver инициализируется с указанными здесь возможностями. 
  • Running the Test: Браузер переходит на указанный URL-адрес, и выполняет действия.
  • Closing the Browser: Сессия браузера завершается.

Пример использования

Чаще всего это запуск тестов на удаленном сервере — прописываются настройки браузера и окружения.

  // Example for Remote WebDriver
  URL url = new URL("http://localhost:4444/wd/hub");
  RemoteWebDriver driver = new RemoteWebDriver(url, capabilities);

Hashnode


Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас

casibom 780casibom giriş güncel adrescasibom 760 girişJojobetjojobetCasibom Girişdeneme bonusuJojobet Girişcasibom girişcasibomJojobet GirişCasibomCasibomcasibomcasibom girişcasibomcasibom girişcasibom güncel girişHoliganbet Giriş