Драйвер ChromeDriver = новый ChromeDriver ();
Если вы используете ChromeDriver driver = new ChromeDriver();
экземпляр ChromeDriver , который будет создан с помощью этого, мы сможем только вызывать методы и действовать на нихреализовано ChromeDriver и поддерживается только Chrome Browser .Чтобы работать с другими браузерами, мы должны специально создавать отдельные объекты, как показано ниже:
FirefoxDriver driver = new FirefoxDriver();
InternetExplorerDriver driver = new InternetExplorerDriver();
WebDriver Interface
С точки зрения Selenium интерфейс WebDriver аналогичен соглашению, которое третья сторона Поставщики браузеров подобно Mozilla , Chrome , Internet Explorer , Safari и т. Д. Должны придерживаться и реализовывать одно и то же.Это, в свою очередь, поможет конечным пользователям использовать открытые API-интерфейсы для написания общего кода и реализовать функциональные возможности во всех доступных Browsers
без каких-либо изменений.
Почему WebDriver driver = new ChromeDriver();
Через WebDriver driver = new ChromeDriver();
мы создаем экземпляр интерфейса WebDriver и приведения к ChromeDriver Class .Все Браузерные драйверы , такие как FirefoxDriver , ChromeDriver , InternetExplorerDriver , PhantomJSDriver , SafariDriver и т. д. реализовали интерфейс WebDriver (фактически класс RemoteWebDriver реализует Интерфейс WebDriver и Драйверы браузера расширяет RemoteWebDriver ),Поэтому, если мы используем WebDriver driver
, то мы можем использовать уже инициализированный драйвер (как переменную общего объекта) для всех браузеров, которые мы хотим автоматизировать, например, Mozilla, Chrome, InternetExplorer, PhantomJS, Safari.
WebDriver driver = new FirefoxDriver();
driver = new ChromeDriver();
driver = new FirefoxDriver();
driver = new SafariDriver();
Этот вопрос
Теперь, как вы упомянули will never use any other browser for my testing purpose
, вы можете вернуться к ChromDriver Class.Но на этом этапе стоит упомянуть, что ChromeDriver - это автономный сервер, который реализует проводной протокол WebDriver для Chromium.Команда Chromium находится в процессе внедрения и перехода на стандарт W3C .
Итак, вперед, ChromeDriver , GeckoDriver , IEDriverServer , OperaDriver , SafariDriver каждый вариант будет соответствовать только стандарту W3C .
Вы можетеНайдите соответствующее обсуждение в В чем разница между ChromeDriver и WebDriver в селене?