diff --git a/test/Templates.Test/Helpers/WebDriverFactory.cs b/test/Templates.Test/Helpers/WebDriverFactory.cs index 5ae0ec2145..63b0e38c85 100644 --- a/test/Templates.Test/Helpers/WebDriverFactory.cs +++ b/test/Templates.Test/Helpers/WebDriverFactory.cs @@ -2,6 +2,7 @@ using OpenQA.Selenium.Edge; using OpenQA.Selenium.Firefox; using System; +using System.IO; using System.Runtime.InteropServices; using System.Text.RegularExpressions; @@ -20,11 +21,20 @@ namespace Templates.Test.Helpers // Where possible, it's preferable to use Edge because it's // far faster to automate than Chrome/Firefox. But on AppVeyor // only Firefox is available. - var result = IsAppVeyor ? new FirefoxDriver() : (IWebDriver)new EdgeDriver(); + var result = IsAppVeyor ? CreateFirefoxDriver() : CreateEdgeDriver(); result.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(1); return result; } + private static IWebDriver CreateEdgeDriver() + => new EdgeDriver(EdgeDriverService.CreateDefaultService(BinDir)); + + private static IWebDriver CreateFirefoxDriver() + => new FirefoxDriver(FirefoxDriverService.CreateDefaultService(BinDir)); + + private static string BinDir + => Path.GetDirectoryName(typeof(WebDriverFactory).Assembly.Location); + private static int GetWindowsVersion() { var osDescription = RuntimeInformation.OSDescription;