Nano Hash - криптовалюты, майнинг, программирование

Разница между запуском теста Selenium с использованием веб-драйвера и без использования веб-драйвера

Без использования webdriver я заметил, что метод driver.FindElement имеет возвращаемый тип WebElement-Remotewebdriver.

С помощью Webdriver я заметил, что метод FindElement имеет возвращаемый тип как WebElement-Webdriver.

ChromeDriver driver = new ChromeDriver();

driver.get("https://ui.freecrm.com/");

driver.findElement(By.xpath("//div[@class='ui fluid large blue submit button']"));

Если Chromedriver реализует интерфейс Webdriver, почему я вижу возвращаемый тип findElement как Webelement-RemoteWebdriver, а не Webelement-Webdriver?

И я знаю, что класс RemoteWebdriver реализует интерфейс Webdriver. Когда будет использоваться remotewebdriver и почему?



Ответы:


1

SearchContext — это корневой интерфейс, который расширяется интерфейсами webdriver и webelement.

Итак, когда мы говорим об интерфейсе веб-драйвера, есть два класса, которые реализуют этот интерфейс.

  • EventFiringWebDriver.
  • удаленный веб-драйвер.

Существует 6 классов, которые расширяют класс RemoteWebDriver, например ChromeDriver, FF, IE и т. д.

Посмотрите, что говорится в официальных документах :

Вы можете использовать WebDriver удаленно так же, как и локально. Основное отличие состоит в том, что удаленный WebDriver должен быть настроен, чтобы он мог запускать ваши тесты на отдельной машине. Удаленный WebDriver состоит из двух частей: клиента и сервера. Клиент — это ваш тест WebDriver, а сервер — это просто сервлет Java, который можно разместить на любом современном сервере приложений JEE.

Для получения дополнительной информации вы можете обратиться: официальная ссылка

В. Если Chromedriver реализует интерфейс Webdriver, почему я вижу возвращаемый тип findElement как Webelement-RemoteWebdriver, а не Webelement-Webdriver?

Ответ: Chromedriver — это общедоступный класс, который не реализует интерфейс Webdriver. и расширяет защищенный класс RemoteWebDriver.

15.05.2019
  • В приведенной ниже ссылке я вижу, что Chromedriver реализует веб-драйвер. Я немного смущен здесь. Не могли бы вы объяснить немного больше seleniumhq .github.io/selenium/docs/api/java/org/openqa/selenium/ 16.05.2019
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..