Интерфейс WebDriver
С точки зрения Selenium интерфейс WebDriver похож на соглашение, которое сторонняя компания Поставщики браузеров любит Mozilla , Chrome , Internet Explorer , Safari и т. Д. Должны придерживаться и реализовывать одно и то же.Это, в свою очередь, поможет конечным пользователям использовать открытые API-интерфейсы для написания общего кода и реализовать функциональные возможности всех доступных Browsers
без каких-либо изменений.
Драйвер WebDriver = новый FirefoxDriver ();
Через WebDriver driver = new FirefoxDriver();
мы создаем экземпляр интерфейса WebDriver и приводим к классу FirefoxDriver .Все Браузерные драйверы , такие как 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();
Подробное обсуждение можно найти в:
Интерфейс WebElement
С Селен перспектива, WebElement представляет элемент HTML.Как правило, все операции, связанные с взаимодействием со страницей, будут выполняться через этот интерфейс.
A WebElement - это абстракция, используемая для идентификации узлов Element, и ее просто называютэлементы при транспортировке по протоколу между удаленным и локальным концами.Идентификатор веб-элемента - это строковая константа, выраженная в виде:
"element-6066-11e4-a52e-4f735466cecf"
Подробное обсуждение можно найти в Значения, возвращаемые веб-драйверами
Каждый элемент имеет связанный веб-элементссылка, которая однозначно идентифицирует элемент во всех контекстах просмотра.Ссылка на веб-элемент для каждого элемента, представляющего один и тот же элемент, должна быть одинаковой.Это должна быть строка и результат генерации UUID.
ECMAScript Object представляет веб-элемент, если он имеет собственное свойство идентификатора веб-элемента.
Каждый контекст просмотра имеет связанный список известных элементов.Когда контекст просмотра отбрасывается, вместе с ним отбрасывается список известных элементов.
Подробное обсуждение можно найти в Почему возвращаемый тип findElement (By by) равен WebElement?
Некоторые из обычно используемых связанных методов следующие:
clear()
click()
findElement(By by)
findElements(By by)
getAttribute(java.lang.String name)
getCssValue(java.lang.String propertyName)
getLocation()
getRect()
getSize()
getTagName()
getText()
isDisplayed()
isEnabled()
isSelected()
sendKeys(java.lang.CharSequence... keysToSend)
submit()