Fixes for constructing IWebDriver

This commit is contained in:
Steve Sanderson 2017-11-17 10:55:42 +00:00
parent f028839b5d
commit 849a0843c9
1 changed files with 11 additions and 1 deletions

View File

@ -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;