public static IWebDriver CreateSauceDriver(SauceConfigurations sauceConfigurations) { var sauceOptions = new Dictionary <string, object> { { "screenResolution", sauceConfigurations.ScreenResolution }, { "username", SauceUserName }, { "accessKey", SauceAccessKey }, { "deviceName", sauceConfigurations.DeviceName }, { "deviceOrientation", sauceConfigurations.DeviceOrientation }, { "name", TestContext.CurrentContext.Test.Name } }; switch (sauceConfigurations.Browser) { case Browser.Chrome: var chromeOptions = new ChromeOptions { UseSpecCompliantProtocol = true, PlatformName = sauceConfigurations.Os, BrowserVersion = sauceConfigurations.Version }; chromeOptions.AddAdditionalCapability("sauce:options", sauceOptions, true); return(new RemoteWebDriver(new Uri(SauceRemoteAddress), chromeOptions)); case Browser.Firefox: var firefoxOptions = new FirefoxOptions { PlatformName = sauceConfigurations.Os, BrowserVersion = sauceConfigurations.Version }; firefoxOptions.AddAdditionalCapability("sauce:options", sauceOptions, true); return(new RemoteWebDriver(new Uri(SauceRemoteAddress), firefoxOptions)); case Browser.Safari: var safariOptions = new SafariOptions { PlatformName = sauceConfigurations.Os, BrowserVersion = sauceConfigurations.Version }; safariOptions.AddAdditionalCapability("sauce:options", sauceOptions); return(new RemoteWebDriver(new Uri(SauceRemoteAddress), safariOptions)); case Browser.Edge: var edgeOptions = new EdgeOptions { PlatformName = sauceConfigurations.Os, BrowserVersion = sauceConfigurations.Version }; edgeOptions.AddAdditionalCapability("sauce:options", sauceOptions); return(new RemoteWebDriver(new Uri(SauceRemoteAddress), edgeOptions)); default: throw new ArgumentException("Invalid browser"); } }
public BaseTest(SauceConfigurations sauceConfigurations) { this.sauceConfigurations = sauceConfigurations; }