Какая польза от DesiredCapabilities в Selenium WebDriver?
Какая польза от DesiredCapabilities в Selenium WebDriver?
Когда мы хотим использовать это и как?
Ответ с примером будет оценен.
6 ответов
Вы должны прочитать документацию о DesiredCapabilities. Существует также другая страница для ChromeDriver. Javadoc от Capabilities
:
Возможности: описывает серию пар ключ / значение, которые инкапсулируют аспекты браузера.
В основном, DesiredCapabilities
помогите установить свойства для WebDriver. Типичным вариантом использования будет установка пути для FirefoxDriver
если ваша локальная установка не соответствует настройкам по умолчанию.
- Это класс в
org.openqa.selenium.remote.DesiredCapabilities
пакет. - Это дает возможность установить свойства браузера. Например установить BrowserName, Platform, Version of Browser.
- В основном класс DesiredCapabilities используется, когда мы используем Selenium Grid.
- Мы должны выполнить несколько тестовых примеров на нескольких системах с различным браузером с другой версией и другой операционной системой.
Пример:
WebDriver driver;
String baseUrl , nodeUrl;
baseUrl = "https://www.facebook.com";
nodeUrl = "http://192.168.10.21:5568/wd/hub";
DesiredCapabilities capability = DesiredCapabilities.firefox();
capability.setBrowserName("firefox");
capability.setPlatform(Platform.WIN8_1);
driver = new RemoteWebDriver(new URL(nodeUrl),capability);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(2, TimeUnit.MINUTES);
Я знаю, что очень поздно, чтобы ответить на этот вопрос.
Но хотелось бы добавить для дальнейших ссылок дать ответы.DesiredCapabilities
используются как установка вашей конфигурации с парой ключ-значение.
Ниже приведен пример, связанный с Appium
используется для автоматизации мобильных платформ, таких как Android
а также IOS
,
Таким образом, мы обычно устанавливаем DesiredCapabilities
для передачи нашего WebDriver
для конкретных вещей нам потребуется запустить наш тест, чтобы сузить производительность и повысить точность.
Поэтому мы устанавливаем наши DesiredCapabilities как:
// Created object of DesiredCapabilities class.
DesiredCapabilities capabilities = new DesiredCapabilities();
// Set android deviceName desired capability. Set your device name.
capabilities.setCapability("deviceName", "your Device Name");
// Set BROWSER_NAME desired capability.
capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome");
// Set android VERSION desired capability. Set your mobile device's OS version.
capabilities.setCapability(CapabilityType.VERSION, "5.1");
// Set android platformName desired capability. It's Android in our case here.
capabilities.setCapability("platformName", "Android");
// Set android appPackage desired capability.
// Вам нужно проверить имя appPackage для вашего приложения, вы можете использовать это приложение для этого APK INFO
// Set your application's appPackage if you are using any other app.
capabilities.setCapability("appPackage", "com.android.appPackageName");
// Set android appActivity desired capability. You can use the same app for finding appActivity of your app
capabilities.setCapability("appActivity", "com.android.calculator2.Calculator");
это DesiredCapabilities
очень специфичны для Appium
на Android
Платформа. Для получения дополнительной информации вы можете обратиться к официальному сайту класса Selenium wantedCapabilities
Желаемая возможность - это набор пар ключ / значение, в которых хранятся такие свойства браузера, как имя браузера, версия браузера, путь к драйверу браузера в системе и т. Д., Для определения поведения браузера во время выполнения.
Требуемая возможность также может быть использована для настройки экземпляра драйвера Selenium WebDriver. Мы можем настроить экземпляр драйвера, такой как FirefoxDriver, ChromeDriver, InternetExplorerDriver, используя необходимые возможности. Желаемые возможности более полезны в следующих случаях:
В автоматизации мобильных приложений, где можно установить свойства браузера и свойства устройства. В сетке Selenium, когда мы хотим запустить тестовые случаи в другом браузере с разными операционными системами и версиями.
DesiredCapabilities
это параметры, которые вы можете использовать для настройки и настройки сеанса браузера.
Вы можете прочитать больше о них здесь!
**** обработать ошибку сертификата SSL с помощью Selenium Webdriver****
Предположим, что мы написали несколько тестовых сценариев и, выполняя сценарий, мы обнаружили в ситуации "Ненадежное соединение" выше, как мы обрабатываем исключение исключительно с помощью автоматизации.
В таком случае мы должны настроить наш скрипт таким образом, чтобы он сам позаботился об исключении SSL.
Сценарии должны быть изменены в соответствии с типом экземпляра браузера, который мы используем. Это когда желаемые возможности появляются на картинке.
Требуемые возможности используются для настройки экземпляра драйвера Selenium Webdriver. С помощью требуемых возможностей можно настроить все экземпляры драйверов, такие как ChromeDriver, FirefoxDriver и Internet Explorer.
На данный момент у нас нет конкретного URL для создания вышеуказанного сценария, но я предоставляю шаги, которые мы можем добавить в сценарий Selenium для обработки описанной выше ситуации "Ненадежное соединение".
Когда вы запускаете selenium WebDriver, WebDriver открывает удаленный сервер на локальном хосте вашего компьютера. Теперь этот сервер, называемый сервером селена, используется для интерпретации вашего кода в действиях по запуску или "управлению" экземпляром реального браузера, известного как chromebrowser, то есть broser, ff browser и т. Д. Итак, сервер селена может взаимодействовать с различными свойствами браузера и, следовательно, он имеет много "возможностей". Итак, какие возможности вы желаете? Рассмотрим сценарий, в котором вы проверяете, правильно ли загружены файлы в вашем приложении, но у вас нет средства автоматизации рабочего стола. Таким образом, в случае, если вы щелкнете по ссылке для скачивания и появится всплывающее окно рабочего стола, чтобы спросить, где сохранить и / или хотите ли вы скачать. Ваш следующий маршрут для обхода, который будет подавлять это всплывающее окно. Как? Желание Возможности. И другие подобные примеры. Таким образом, Selenium Server может многое сделать, использовать нужные возможности, чтобы адаптировать его к вашим потребностям.
Требуемые возможности пригодятся при выполнении удаленного или параллельного выполнения с использованием сетки селена. Мы будем параметризовать детали браузера и передавать их на сервер selenium, используя желаемый класс возможностей.
Другое использование - автоматизация тестирования с использованием Appium, как показано ниже
// Created object of DesiredCapabilities class. DesiredCapabilities capabilities = new DesiredCapabilities(); // Set android deviceName desired capability. Set your device name. capabilities.setCapability("deviceName", "your Device Name"); // Set BROWSER_NAME desired capability. capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome"); // Set android VERSION desired capability. Set your mobile device's OS version. capabilities.setCapability(CapabilityType.VERSION, "5.1"); // Set android platformName desired capability. It's Android in our case here. capabilities.setCapability("platformName", "Android");