Когда я должен использовать DriverOptions на Селен C # - PullRequest
0 голосов
/ 12 сентября 2018

Когда я должен использовать DriverOptions на селене C #?

Пример:

public void test(){
      DriverOptions capacidades;

}

Это заменило DesiredCapabilities?

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Продолжая ответ Дэвида Джеттера, я могу привести конкретный пример реализации драйвера.Я сохраняю параметры Chrome в App.config, например:

<!-- Chrome browser settings for web driver  OPTIONAL -->
<!-- https://chromium.googlesource.com/chromium/src/+/master/chrome/common/chrome_switches.cc -->
<add key="chrome:setting1" value="--window-size=1600,1100" />
<add key="chrome:setting2" value="--window-position=2150,5" />
<add key="chrome:setting3" value="--headless" />

, а затем делаю что-то подобное в базовом классе Test:

    var options = new ChromeOptions();
    // Set all options from the app.config
    foreach (string key in ConfigurationManager.AppSettings.AllKeys.Where(k => k.StartsWith("chrome:setting")))
        options.AddArgument(ConfigurationManager.AppSettings[key]);

    driver = new OpenQA.Selenium.Chrome.ChromeDriver(options);

Таким образом, вы можете видеть, что можете установитьразмер и положение окна по умолчанию, установите, если вы хотите режим без головы;Есть несколько вариантов, которые вы можете реализовать.

0 голосов
/ 12 сентября 2018

DriverOptions сам по себе является абстрактным классом, и поэтому вы редко будете использовать его напрямую, и, вероятно, будете ссылаться только на него, если создаете абстрагированный метод, который будет принимать наследуемый бетон в качестве параметра (например, какой-тометод запуска, не зависящий от браузера).См. Документацию класса здесь: https://seleniumhq.github.io/selenium/docs/api/dotnet/html/T_OpenQA_Selenium_DriverOptions.htm

Selenium также предоставляет ряд реализаций - он выглядит как один для каждого поддерживаемого драйвера браузера.Иерархия наследования указана по ссылке выше.Вы можете указать такие вещи, как аргументы командной строки, путь к файлу для исполняемого файла браузера, расширения для установки и т. Д., Чтобы настроить конкретный экземпляр процесса браузера, который вы ищете.

РЕДАКТИРОВАТЬ: Для конкретного адреса DesiredCapabilities против DriverOptions - да, вы правы, DriverOptions фактически является заменой DesiredCapabilities.Пара ссылок ниже указывает, что предпочтительно использовать реализацию DriverOptions, если она доступна в используемом SDK, тогда как DesiredCapabilities не является опцией резервного копирования для клиентов, которые не предоставили такие реализации, такие как ruby ​​(на момент ответа).

https://sites.google.com/a/chromium.org/chromedriver/capabilities

https://sqa.stackexchange.com/questions/23559/what-is-the-difference-between-desiredcapabilities-chromeoptions-and-when-to-u

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