Подскажите, пожалуйста, мои сомнения:
Драйвер WebDriver = новый ChromeDriver ();
- мы знаем, что WebDriver является интерфейсом, а драйвер Chrome является классом, который реализует интерфейс
WebDriver.
Это означает, что при любых методах, определенных в интерфейсе, мы просто переопределяем то же самое с Chrome классом драйвера.
Драйвер ChromeDriver = новый ChromeDriver ();
Теперь, если мы напишем код, как указано выше ... Тем не менее, мы можем запустить код.
Теперь мои сомнения :
- Мы не имеем отношения к интерфейсу Webdriver здесь. Но Still Code будет запускать и успешно выполнять методы ... Как? Потому что в классе ChromeDriver у нас нет таких методов, как:
getTitle (), getCurrentUrl () et c. Эти методы абсолютно относятся к интерфейсу WebDriver.
ChromeDriver является классом и создает для него Object и получает методы с Object.
И с созданием объектаObject мы получаем методы, такие как: getTitle (), getCurrentUrl ()
через ChromeDriver Object?