예제 #1
0
        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");
            }
        }
예제 #2
0
 public BaseTest(SauceConfigurations sauceConfigurations)
 {
     this.sauceConfigurations = sauceConfigurations;
 }