2016-02-09 6 views
5

для Chrome,Почему нам нужно установить системное свойство для Chrome и IE Browser и не для браузера Firefox

public class Chrome { 

    public static void main(String[] args) { 

     System.setProperty("webdriver.chrome.driver", "E://chromedriver.exe"); 
     WebDriver driver = new ChromeDriver();    
     driver.get("http://www.google.com"); 

    } 

} 

для Firefox,

public class Firefox { 

     public static void main(String[] args) { 

      WebDriver driver = new FirefoxDriver();    
      driver.get("http://www.google.com"); 

     } 

    } 

Почему мы должны указать систему .setProperty для Chrome и IE?

ответ

4

У меня был также тот же самый вопрос, но после того, как рытье я нашел,

WebDriver использует собственный подход браузера. Selenium предлагает встроенный драйвер для Firefox, но не для других браузеров. Все драйверы (Chrome Драйвер, драйвер IE и т. Д.) Построены на основе специального JS Engine, используемого каждым браузером.

Selenium WebDriver отлично работает с Mozilla Firefox, поскольку имеет встроенный сервер драйверов. Но то же самое не верно для Internet Explorer и Google Chrome. Firefox является самым традиционным браузером, поэтому Selenium WebDriver не требует установки дополнительной утилиты перед запуском браузера. Пакет Selenium автоматически ссылается на местоположение firefox.exe по умолчанию, поэтому пользователю не нужно устанавливать какое-либо другое свойство.

Если вы когда-либо получили «путь к исполняемому файлу драйвера, должен быть установлен webdriver. то есть. драйвер системы "или аналогичный эквивалент Chrome, это означает, что вам необходимо установить серверы драйверов в вашем браузере. Сервер драйвера управляет вызовами между браузерами и протоколом Selenium.

InternetExplorerDriver представляет собой автономный сервер, который реализует протокол проволочной WebDriver в

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

Основан с here.

+1

Спасибо Санджая .. Это действительно помочь понять концепцию позади него. – SacTan

+0

Рад помочь :) –

1

Внедрение FirefoxDriver, ChromeDriver, InternetExplorerDriver отличается, поэтому способ создания экземпляра объекта также отличается.

Драйвер Firefox управляет браузером Firefox с помощью плагина Firefox. Профиль Firefox, который используется урезанная от того, что установлено на машине, чтобы включать только Selenium WebDriver.xpi

InternetExplorerDriver представляет собой автономный сервер, который реализует протокол проволочную WebDriver в.

ChromeDriver поддерживается/поддерживается проектом Chromium iteslf. WebDriver работает с Chrome через двоичный файл chromedriver (находится на странице загрузки проекта хром). Вам нужно иметь как хромированный рекордер, так и версию браузера Chrome. chromedriver необходимо разместить где-то на пути вашей системы, чтобы WebDriver автоматически обнаружил его.Сам браузер Chrome обнаружен chromedriver в пути установки по умолчанию

Для получения более подробной информации, сошлитесь selenium documentation