private static DriverSetupConfiguration CreateConfiguration(
     string browserName,
     DriverSetupOptions driverSetupOptions) =>
 new DriverSetupConfiguration(driverSetupOptions)
 {
     EnvironmentVariableName = $"{browserName.Replace(" ", null)}Driver"
 };
Exemple #2
0
 internal DriverVersionResolver(
     string browserName,
     DriverSetupOptions options,
     IDriverSetupStrategy setupStrategy)
 {
     _browserName   = browserName;
     _options       = options;
     _setupStrategy = setupStrategy;
 }
        /// <summary>
        /// Creates the driver setup configuration builder using <paramref name="driverSetupStrategyFactory"/>
        /// that instantiates specific <see cref="IDriverSetupStrategy"/>.
        /// </summary>
        /// <param name="browserName">The name of the browser.</param>
        /// <param name="driverSetupStrategyFactory">The driver setup strategy factory.</param>
        /// <returns>The <see cref="DriverSetupConfigurationBuilder"/>.</returns>
        public static DriverSetupConfigurationBuilder Configure(
            string browserName,
            Func <IHttpRequestExecutor, IDriverSetupStrategy> driverSetupStrategyFactory)
        {
            DriverSetupOptions driverSetupOptions = s_browserDriverSetupDataMap.TryGetValue(browserName, out DriverSetupData driverSetupData)
                ? driverSetupData.DefaultOptionsBuilder.BuildingContext
                : GlobalOptions;

            return(Configure(browserName, driverSetupStrategyFactory, driverSetupOptions));
        }
        private static DriverSetupConfigurationBuilder Configure(
            string browserName,
            Func <IHttpRequestExecutor, IDriverSetupStrategy> driverSetupStrategyFactory,
            DriverSetupOptions driverSetupOptions)
        {
            var builder = new DriverSetupConfigurationBuilder(
                browserName,
                driverSetupStrategyFactory,
                CreateConfiguration(browserName, driverSetupOptions));

            lock (s_pendingConfigurationsSyncLock)
            {
                PendingConfigurations.Add(builder);
            }

            return(builder);
        }
Exemple #5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DriverSetupOptions"/> class.
        /// </summary>
        /// <param name="baseOptions">The base options.</param>
        public DriverSetupOptions(DriverSetupOptions baseOptions = null)
        {
            _baseOptions = baseOptions;

            if (baseOptions is null)
            {
                StorageDirectoryPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "drivers");
                UseMutex             = false;
                UseVersionCache      = true;

                LatestVersionCheckInterval   = TimeSpan.FromHours(2);
                SpecificVersionCheckInterval = TimeSpan.FromHours(2);

                HttpRequestTryCount      = 3;
                HttpRequestRetryInterval = TimeSpan.FromSeconds(3);

                IsEnabled = true;
                AddToEnvironmentPathVariable = true;
            }
        }