Можно ли зарегистрировать пользовательский веб-драйвер в сетке Selenium? - PullRequest
0 голосов
/ 13 ноября 2018

Я создал пользовательский веб-драйвер (для пользовательского браузера), расширив RemoteWebDriver.Я могу легко использовать его как отдельный, просто создавая экземпляр драйвера.

Но на самом деле я хочу использовать его в Selenium Grid.Есть ли способ зарегистрировать этот пользовательский веб-драйвер на узле, чтобы я мог использовать его с помощью RemoteWebDriver и желаемых возможностей?Я так, что мне нужно сделать.

Любая подсказка приветствуется.Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 18 ноября 2018

Пожалуйста, следуйте нижеприведенному набору инструкций, чтобы настроить поддержку пользовательского типа браузера при запуске тестов селена с использованием Selenium Grid.

  1. Реализация интерфейса org.openqa.selenium.remote.server.DriverProvider (или) extension org.openqa.selenium.remote.server.DefaultDriverProvider, в которомвы позаботитесь о создании поддержки для своего пользовательского браузера.
  2. Создайте каталог с именем META-INF\services в папке основных ресурсов и убедитесь, что этот каталог связан с jar, когда вы создаете jar из своего проекта.
  3. Создайте файл загрузчика службы с именем org.openqa.selenium.remote.server.DriverProvider, в котором вы добавите полное имя класса нового класса, созданного на шаге (1), и поместите его в каталог, созданный на шаге (2)
  4. Объедините ваш проект в банку.
  5. Теперь запустите узел селена, добавив банку, созданную в (4).

Теперь ваш новый браузер готов к поддержкеSelenium Grid.

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

Вам все равно нужно позаботиться о создании нового объекта пользовательских возможностей на стороне клиента при создании экземпляра объекта RemoteWebDriver для вашего пользовательского браузера.

0 голосов
/ 14 ноября 2018

Варианты WebDriver (сервер) специально разрабатываются / создаются / модифицируются непрерывно, чтобы иметь возможность управлять постоянно развивающимися веб-браузерами .

Так что если вы хотитедля управления пользовательским браузером через пользовательский веб-драйвер , кажется, это идеальный подход.

На данный момент из вопроса * не ясно, является ли ваш usecase напоминает случай , когда вам на самом деле не нужен браузер .

Однако, согласно конфигурации в Browser.java , следующее Браузеры тщательно тестируются перед выпуском:

package org.openqa.selenium.testing.drivers;

import java.util.logging.Logger;

public enum Browser {

  chrome,
  edge,
  ff,
  htmlunit,
  ie,
  none, // For those cases where you don't actually want a browser
  opera,
  operablink,
  safari;

  private static final Logger log = Logger.getLogger(Browser.class.getName());

  public static Browser detect() {
    String browserName = System.getProperty("selenium.browser");
    if (browserName == null) {
      log.info("No browser detected, returning null");
      return null;
    }

    try {
      return Browser.valueOf(browserName);
    } catch (IllegalArgumentException e) {
      log.severe("Cannot locate matching browser for: " + browserName);
      return null;
    }
  }

}

Решение

Для создания собственного Пользовательского Webdriver и Пользовательский браузер вам может понадобиться добавить соответствующие записи в Browser.java и другие необходимые файлы, и вам будет хорошо идти.

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