protected void VersionTest(IDriverConfig driverConfig, string pattern)
 {
     var version = driverConfig.GetLatestVersion();
     var regex = new Regex(pattern);
     var match = regex.Match(version);
     Assert.NotEmpty(version);
     Assert.True(match.Success);
 }
 public static string DriverDirectoryFullPath(this IDriverConfig driverConfig)
 {
     if (driverConfig == null)
     {
         throw new ArgumentNullException(nameof(driverConfig));
     }
     return(Path.Combine(Environment.CurrentDirectory,
                         driverConfig.GetName(), driverConfig.GetLatestVersion(),
                         $"{ArchitectureHelper.GetArchitecture():F}"));
 }
        private static string GetVersionToDownload(IDriverConfig config, string version)
        {
            switch (version)
            {
            case VersionResolveStrategy.MatchingBrowser: return(config.GetMatchingBrowserVersion());

            case VersionResolveStrategy.Latest: return(config.GetLatestVersion());

            default: return(version);
            }
        }
示例#4
0
        public void SetUpDriver(IDriverConfig config, string version = "Latest",
                                Architecture architecture            = Architecture.Auto)
        {
            architecture = architecture.Equals(Architecture.Auto) ? ArchitectureHelper.GetArchitecture() : architecture;
            version      = version.Equals("Latest") ? config.GetLatestVersion() : version;
            var url = architecture.Equals(Architecture.X32) ? config.GetUrl32() : config.GetUrl64();

            url = UrlHelper.BuildUrl(url, version);
            var binaryPath = FileHelper.GetBinDestination(config.GetName(), version, architecture,
                                                          config.GetBinaryName());

            SetUpDriver(url, binaryPath, config.GetBinaryName());
        }
示例#5
0
        private static void SetUpDriver(IDriverConfig driverConfig, IDriverSettings driverSettings)
        {
            var architecture = driverSettings.SystemArchitecture.Equals(Architecture.Auto) ? ArchitectureHelper.GetArchitecture() : driverSettings.SystemArchitecture;
            var version      = driverSettings.WebDriverVersion.Equals("Latest") ? driverConfig.GetLatestVersion() : driverSettings.WebDriverVersion;
            var url          = UrlHelper.BuildUrl(architecture.Equals(Architecture.X32) ? driverConfig.GetUrl32() : driverConfig.GetUrl64(), version);
            var binaryPath   = FileHelper.GetBinDestination(driverConfig.GetName(), version, architecture, driverConfig.GetBinaryName());

            if (!File.Exists(binaryPath) || !Environment.GetEnvironmentVariable("PATH").Contains(binaryPath))
            {
                lock (WebDriverDownloadingLock)
                {
                    new DriverManager().SetUpDriver(url, binaryPath, driverConfig.GetBinaryName());
                }
            }
        }