Beispiel #1
0
 internal DriverVersionResolver(
     string browserName,
     DriverSetupOptions options,
     IDriverSetupStrategy setupStrategy)
 {
     _browserName   = browserName;
     _options       = options;
     _setupStrategy = setupStrategy;
 }
 internal DriverSetupExecutor(
     string browserName,
     DriverSetupConfiguration configuration,
     IDriverSetupStrategy setupStrategy,
     IHttpRequestExecutor httpRequestExecutor)
 {
     _browserName         = browserName;
     _configuration       = configuration;
     _setupStrategy       = setupStrategy;
     _httpRequestExecutor = httpRequestExecutor;
 }
        private DriverSetupResult ExecuteSetUp()
        {
            IHttpRequestExecutor httpRequestExecutor = CreateHttpRequestExecutor();

            IDriverSetupStrategy setupStrategy = _driverSetupStrategyFactory.Invoke(httpRequestExecutor);

            string driverVersion = ResolveDriverVersion(setupStrategy, BuildingContext.Version);

            DriverSetupExecutor setupExecutor = new DriverSetupExecutor(
                BrowserName,
                BuildingContext,
                setupStrategy,
                httpRequestExecutor);

            DriverSetupResult result = setupExecutor.SetUp(driverVersion);

            DriverSetup.RemovePendingConfiguration(this);

            return(result);
        }
        private string ResolveDriverVersion(IDriverSetupStrategy setupStrategy, string version)
        {
            DriverVersionResolver driverVersionResolver = new DriverVersionResolver(
                BrowserName, BuildingContext, setupStrategy);

            if (version == DriverVersions.Auto)
            {
                return(driverVersionResolver.ResolveCorrespondingOrLatestVersion());
            }
            else if (version == DriverVersions.Latest)
            {
                return(driverVersionResolver.ResolveLatestVersion());
            }
            else if (DriverVersions.TryExtractBrowserVersion(version, out string browserVersion))
            {
                return(driverVersionResolver.ResolveByBrowserVersion(browserVersion));
            }
            else
            {
                return(version);
            }
        }