Каков пример переопределения метода в селене? - PullRequest
0 голосов
/ 05 февраля 2020

Как я уже говорил, все, что написано о методе get (), является примером переопределения метода.

Но в соответствии с методом переопределения метода, который присутствует в родительском классе, реализация в дочернем классе отличается.

И метод get () объявлен интерфейсом веб-драйвера и реализован в интерфейсе RemoteWebDriver.

Тогда как здесь достигается переопределение?

Не могли бы вы помочь с запросом. Любой другой пример с переопределением метода в Selen Webdriver, пожалуйста, поделитесь?

Ответы [ 3 ]

1 голос
/ 06 февраля 2020

Если вы спрашиваете конкретно о функции get(), вот дерево реализации:

public class ChromeDriver extends RemoteWebDriver
implements LocationContext, WebStorage, HasTouchScreen, NetworkConnection {...}

Здесь примером класса chromeDriver может быть любой другой. Он расширяет RemoteDriver и реализует множество других интерфейсов. А класс RemoteDriver расширяет и реализует еще немного, как показано ниже

public class RemoteWebDriver implements WebDriver, JavascriptExecutor,
FindsById, FindsByClassName, FindsByLinkText, FindsByName,
FindsByCssSelector, FindsByTagName, FindsByXPath,
HasInputDevices, HasCapabilities, Interactive, TakesScreenshot {
...
     public void get(String url) {
            execute(DriverCommand.GET, ImmutableMap.of("url", url));
...
}

Как вы можете видеть, RemoteDriver переопределяет метод get(), который он получает из интерфейса WebDriver

public interface WebDriver extends SearchContext {
....
void get(String url);
....

}
1 голос
/ 05 февраля 2020

Это простой переопределяющий пример метода "findElement".

    public static WebElement findElement(By Locator){

    WebElement anElement = fluentWait.until(new Function<WebDriver, WebElement>() {
        @Override
        public WebElement apply(WebDriver webDriver) {
            webDriver=sampleDriver;
            return sampleDriver.findElement(Locator);
        }
    });

    return anElement;
}
0 голосов
/ 06 февраля 2020

Переопределяя что-то, мы даем другую реализацию в дочернем классе. И переопределить метод, который был в родительском.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...