Каково точное значение webdriver.chrome.driver и где находится это системное свойство? - PullRequest
1 голос
/ 01 апреля 2019

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

Я бы хотел знать, что означает webdriver.ie.driver, webdriver.chrome.driver и где находится это значение ключа

Я установил путь до его инициализации

System.setProperty("webdriver.ie.driver", "C:\\driver\\IEDriverServer.exe");

WebDriver driver = new InternetExplorerDriver();

Я просто хочу узнать значение Webdriver.ie.driver?

Ответы [ 4 ]

3 голосов
/ 01 апреля 2019

Код Selenium взаимодействует с InternetExplorerDriver через Протокол JSON проводной , и затем InterenteExplorerDriver будет далее связываться с браузером Internet Explorer.Таким образом, драйвер IE будет мостом между кодом селена и браузером IE.

System.setProperty находится в вашем system class.setProperty - это метод статических строк, в котором вы можете хранить свои значения на основе пары ключ-значение.

«System.setProperty(“propertyName”, “value”)» - это то, что он говорит.То есть оно устанавливает системное свойство 'propertyName' на значение 'value'.

В Selenium вы используете этот метод, потому что в браузере нет встроенногоисполняемый файл для запуска кода автоматизации, поэтому вам потребуется сервер драйверов Chrome / IE / Gecko (в соответствии с требованиями) для передачи вашего кода Selenium в браузер.

Простыми словами, чтобы указать путьДрайвер для соответствующего браузера вам понадобится system.setProperty.Например,

System.setProperty("webdriver.ie.driver", "Path of your Driver");

WebDriver driver = new InternetExplorerDriver();

driver.get("http://seleniumhq.com");

Это запустит официальный сайт селена в Internet Explorer с использованием драйвера Internet Explorer, где инициализация драйвера обрабатывается методом system.setproperty.

Это должно бытьПервая строка кода должна быть выполнена в вашем сценарии selenium перед любым методом тестирования для инициализации драйвера.

1 голос
/ 01 апреля 2019

Когда мы запускаем браузер ie для автоматизации селена в Java, мы пишем следующие строки кода:

System.setProperty("webdriver.ie.driver", "C:\\driver\\IEDriverServer.exe");

WebDriver driver = new InternetExplorerDriver();

Давайте теперь посмотрим, это более подробно:

  1. System.setProperty(): Как уже обсуждалось в ссылке system.setProperty () .Система в Java имеет статическую переменную-член, известную как props, которая имеет тип Properties.Это хеш-таблица, состоящая из пар ключ-значение.

Когда Java запускает программу.Запущен экземпляр JVM, имеющий собственную хэш-таблицу System.propties ().

Когда мы пишем

System.setProperty("webdriver.ie.driver", "C:\\driver\\IEDriverServer.exe");

, мы создаем пару ключ-значение, ключ которой равен webdriver.ie.driver, а значение равноего путь.

new InternetExplorerDriver();:

в соответствии с Java-кодом селена для хромового драйвера

chrome driver

Конструктор по умолчанию принимает параметр services. Эти службы - это путь к драйверу браузера, который мы инициируем

enter image description here

1 голос
/ 01 апреля 2019

почему мы используем WebDriver driver = new FirefoxDriver() в сценарии, см. Ниже

Flow of webdriver

Ниже приведены несколько пунктов, основанных на изображении выше.

-SearchContext - это супер интерфейс большинства в селене, который расширен другим интерфейсом, называемым WebDriver.

-Все абстрактные методы интерфейсов SearchContext и WebDriver реализованы в классе RemoteWebDriver.

-Всесвязанные с браузером классы, такие как FirefoxDriver, ChromeDriver и т. д., расширяют класс RemoteWebdriver.

Что такое WebDriver?

WebDriver - это интерфейс, предоставляемый Selenium WebDriver.Как мы знаем, интерфейсы в Java - это набор констант и абстрактных методов (методов без какой-либо реализации).Интерфейс WebDriver служит контрактом, которому должна следовать каждая конкретная реализация браузера, такая как ChromeDriver, FireFoxDriver.Интерфейс WebDriver объявляет методы, такие как get (), navigate (), close (), sendKeys () и т. Д., И разработчики специальных драйверов для браузера реализуют эти методы для автоматизации работы.Возьмем, к примеру, ChromeDriver, он разработан ребятами из команды Chromium, разработчикам проекта Selenium не нужно беспокоиться о деталях реализации этих драйверов.

Драйвер WebDriver = новый FirefoxDriver();

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

Для получения дополнительной информации проверьте следующие ссылки: -

Драйвер WebDriver = новый FirefoxDriver () - Почему мы пишем в сценариях Selenium

Какэто работает?

В Selenium WebDriver - это интерфейс.

FirefoxDriver - это класс.Он реализует все методы интерфейса WebDriver.

0 голосов
/ 01 апреля 2019

ChromeDriver - это отдельный исполняемый файл, который WebDriver использует для управления Chrome.Он поддерживается командой Chromium с помощью участников WebDriver.Если вы не знакомы с WebDriver, выполните следующие действия. Чтобы настроить тесты для работы с ChromeDriver, выполните следующие действия:

Убедитесь, что Chromium / Google Chrome установлен в определенном месте. ChromeDriver ожидает, что Chrome установлен в расположении по умолчанию для вашегоПлатформа.Вы также можете заставить ChromeDriver использовать пользовательское местоположение, установив специальную возможность.Загрузите двоичный файл ChromeDriver для вашей платформы в разделе загрузок этого сайта. Справка WebDriver находит загруженный исполняемый файл ChromeDriver. Любой из этих шагов должен помочь: включите расположение ChromeDriver в переменную среды PATH (только Java), чтобы указать его местоположение через веб-драйвер.Системное свойство chrome.driver (см. пример ниже) (только Python) включает путь к ChromeDriver при создании экземпляра webdriver.Chrome (см. пример ниже) http://chromedriver.chromium.org/getting-started

Ниже приведена ссылка в пакете селена, где значениебудет использоваться.

/**
* System property that defines the location of the chromedriver executable that will be used by
* the {@link #createDefaultService() default service}.
*/
public static final String CHROME_DRIVER_EXE_PROPERTY = "webdriver.chrome.driver";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...