Как правильно организовать переключение между различными браузерами внутри проекта Visual Studio

Собственно вопрос в заголовке. Не делать же несколько копий проекта только что бы поменять FF на IE или Chrome

для этого придумали конфиги (app settings)
в конфиге задаете некоторое значение - например “IE” / “FF” / “Chrome”

перед запуском вебдрайвера, получаете значение из конфига
и через swith ините нужный драйвер

Можете посмотреть в

пока, он маленький :smiley:

В папке:
https://github.com/dzhariy/SWD.Starter/tree/master/src/SWD.StarterKit
есть два файла:

app.config
и Config.config

Файл Config.config содержит настройки переключения браузера. Достаточно раскоментировать нужную строку:

  <!--==== Browser Name-->
  <add key="swdBrowserType" value="Firefox"/>
  <!--<add key="swdBrowserType" value="InternetExplorer"/>
  <add key="swdBrowserType" value="Chrome"/>
  <add key="swdBrowserType" value="PhantomJS"/>
  <add key="swdBrowserType" value="HtmlUnit"/>
  <add key="swdBrowserType" value="HtmlUnitWithJavaScript"/>
  <add key="swdBrowserType" value="Opera"/>
  <add key="swdBrowserType" value="Safari"/>
  <add key="swdBrowserType" value="IPhone"/>
  <add key="swdBrowserType" value="IPad"/>
  <add key="swdBrowserType" value="Android"/>-->

В папке: https://github.com/dzhariy/SWD.Starter/tree/master/src/SWD.StarterKit/SWD.Core/Configuration
есть файл Config.cs – именно он и читает конфигурацию:

        public static string swdBrowserType
        {
            get
            {
                return ConfigurationManager.AppSettings["swdBrowserType"];
            }
        }

В последствии, эта настройка доступна из любого участка проекта, просто через вызов:
Config.swdBrowserType

Сам файл “Config.config” можно просто подменить в bin директории скомпилированного проекта.

1 лайк