public AppiumAndroidCapabilities(SaucePlatform platform, string testName) : base(testName) { var nativeApp = Enviro.SauceNativeApp; var useChromeOnAndroid = Enviro.SauceUseChromeOnAndroid; Console.WriteLine(SauceryConstants.SETTING_UP, testName, SauceryConstants.ANDROID_ON_APPIUM); //Caps = DesiredCapabilities.Android(); Caps = new DesiredCapabilities(); //See https://github.com/appium/appium-dotnet-driver/wiki/Android-Sample //AndroidDriver<AppiumWebElement> ad = new AndroidDriver<AppiumWebElement>(Caps); //Caps.SetCapability(SauceryConstants.SAUCE_APPIUM_VERSION_CAPABILITY, Enviro.RecommendedAppiumVersion); Caps.SetCapability(SauceryConstants.SAUCE_DEVICE_NAME_CAPABILITY, platform.LongName); Caps.SetCapability(SauceryConstants.SAUCE_DEVICE_ORIENTATION_CAPABILITY, platform.DeviceOrientation); Caps.SetCapability(SauceryConstants.SAUCE_BROWSER_NAME_CAPABILITY, SauceryConstants.CHROME_BROWSER); Caps.SetCapability(SauceryConstants.SAUCE_PLATFORM_VERSION_CAPABILITY, platform.SanitisedLongVersion()); Caps.SetCapability(SauceryConstants.SAUCE_PLATFORM_NAME_CAPABILITY, SauceryConstants.ANDROID); Console.WriteLine("{0}:{1}\n{2}:{3}\n{4}:{5}\n{6}:{7}\n{8}:{9}", SauceryConstants.SAUCE_DEVICE_NAME_CAPABILITY, platform.LongName, SauceryConstants.SAUCE_DEVICE_ORIENTATION_CAPABILITY, platform.DeviceOrientation, SauceryConstants.SAUCE_BROWSER_NAME_CAPABILITY, SauceryConstants.CHROME_BROWSER, SauceryConstants.SAUCE_PLATFORM_VERSION_CAPABILITY, platform.SanitisedLongVersion(), SauceryConstants.SAUCE_PLATFORM_NAME_CAPABILITY, SauceryConstants.ANDROID); AddSauceLabsCapabilities(nativeApp); }
public void AppiumIOSOptionTest(SaucePlatform saucePlatform) { var factory = new OptionFactory(saucePlatform); var opts = factory.CreateOptions("AppiumIOSOptionTest"); opts.ShouldNotBeNull(); }
public static bool CanUseAppium(this SaucePlatform platform) { return((IsAnAppleDevice(platform) && platform.ParseBrowserVersion() >= SauceryConstants.APPIUM_IOS_MINIMUM_VERSION) || (IsAnAndroidDevice(platform) && platform.ParseBrowserVersion() >= SauceryConstants.APPIUM_ANDROID_MINIMUM_VERSION)); }
public void IsSupportedPlatformTest(SaucePlatform saucePlatform) { var factory = new OptionFactory(saucePlatform); var result = factory.IsSupportedPlatform(); result.ShouldBeTrue(); }
public void PageTitle([ValueSource(typeof(SaucePlatform), "GetPlatforms")] SaucePlatform platform) { Setup(platform); var guineaPigPage = new GuineaPigPage(Driver, "https://saucelabs.com/"); // verify the page title is correct - this is actually checked as part of the constructor above. Driver.Title.ShouldContain("I am a page title - Sauce Labs"); }
public static void PrintDesktopOptionValues(SaucePlatform platform) { if (UserChecker.ItIsMe()) { Console.WriteLine("Desktop platform.Browser: {0}", platform.Browser); Console.WriteLine("Desktop platform.Os: {0}", platform.Os); Console.WriteLine("Desktop platform.BrowserVersion: {0}", platform.BrowserVersion); } }
public static void PrintPlatformDetails(SaucePlatform platform) { Console.WriteLine(@"SELENIUM_OS=" + platform.Os); Console.WriteLine(@"SELENIUM_BROWSER=" + platform.Browser); Console.WriteLine(@"SELENIUM_VERSION=" + platform.BrowserVersion); Console.WriteLine(@"SELENIUM_LONG_VERSION=" + platform.LongVersion); //Console.WriteLine(@"SELENIUM_DEVICE_TYPE=" + platform.DeviceType); Console.WriteLine(@"SELENIUM_DEVICE=" + platform.Device); }
public static void PrintAndroidOptionValues(SaucePlatform platform, string sanitisedLongVersion) { Console.WriteLine("{0}:{1}\n{2}:{3}\n{4}:{5}\n{6}:{7}\n{8}:{9}", SauceOpsConstants.SAUCE_DEVICE_NAME_CAPABILITY, platform.LongName, SauceOpsConstants.SAUCE_DEVICE_ORIENTATION_CAPABILITY, platform.DeviceOrientation, SauceOpsConstants.SAUCE_BROWSER_NAME_CAPABILITY, SauceOpsConstants.CHROME_BROWSER, SauceOpsConstants.SAUCE_PLATFORM_VERSION_CAPABILITY, sanitisedLongVersion, SauceOpsConstants.SAUCE_PLATFORM_NAME_CAPABILITY, SauceOpsConstants.ANDROID); }
public DesktopCapabilities(SaucePlatform platform, string testName) : base(testName) { Console.WriteLine(SauceryConstants.SETTING_UP, testName, SauceryConstants.DESKTOP_ON_WEBDRIVER); Caps = new DesiredCapabilities(); Caps.SetCapability(CapabilityType.Platform, platform.Os); Caps.SetCapability(CapabilityType.Version, platform.BrowserVersion); Caps.SetCapability(CapabilityType.BrowserName, platform.Browser); AddSauceLabsCapabilities(); }
public void UserAgentPresent([ValueSource(typeof(SaucePlatform), "GetPlatforms")] SaucePlatform platform) { Setup(platform); var guineaPigPage = new GuineaPigPage(Driver, "https://saucelabs.com/"); // read the useragent string off the page var useragent = guineaPigPage.GetUserAgent(); Assert.IsNotNull(useragent); }
public WebDriverAndroidCapabilities(SaucePlatform platform, string testName) : base(testName) { Console.WriteLine(SauceryConstants.SETTING_UP, testName, SauceryConstants.ANDROID_ON_WEBDRIVER); Caps = DesiredCapabilities.Android(); Caps.SetCapability(SauceryConstants.SAUCE_PLATFORM_CAPABILITY, SauceryConstants.LINUX); Caps.SetCapability(SauceryConstants.SAUCE_VERSION_CAPABILITY, platform.BrowserVersion); Caps.SetCapability(SauceryConstants.SAUCE_DEVICE_NAME_CAPABILITY, platform.LongName); Caps.SetCapability(SauceryConstants.SAUCE_DEVICE_ORIENTATION_CAPABILITY, platform.DeviceOrientation); AddSauceLabsCapabilities(); }
public WebDriverIOSCapabilities(SaucePlatform platform, string testName) : base(testName) { Console.WriteLine(SauceryConstants.SETTING_UP, testName, SauceryConstants.IOS_ON_WEBDRIVER); Caps = platform.IsAnIPhone() ? DesiredCapabilities.IPhone() : DesiredCapabilities.IPad(); Caps.SetCapability(CapabilityType.Platform, "OS X 10.10"); Caps.SetCapability(CapabilityType.Version, platform.BrowserVersion); Caps.SetCapability(SauceryConstants.SAUCE_DEVICE_CAPABILITY, platform.Device); Caps.SetCapability(SauceryConstants.SAUCE_DEVICE_ORIENTATION_CAPABILITY, platform.DeviceOrientation); AddSauceLabsCapabilities(); }
public static bool CanUseAppium(this SaucePlatform platform) { if (platform.IsAnAndroidDevice()) { Console.WriteLine("CanUseAppium: Platform {0}; BrowserVersion: {1}", platform.Platform, platform.ParseBrowserVersion()); } return((IsAnAppleDevice(platform) && platform.ParseBrowserVersion() >= SauceOpsConstants.APPIUM_IOS_MINIMUM_VERSION) || (IsAnAndroidDevice(platform) && platform.ParseBrowserVersion() >= SauceOpsConstants.APPIUM_ANDROID_MINIMUM_VERSION)); }
public static string GetTestName(this SaucePlatform platform, string testName) { var shortTestName = new StringBuilder(); shortTestName.Append(testName.Contains(SauceryConstants.LEFT_SQUARE_BRACKET) ? testName.Substring(0, testName.IndexOf(SauceryConstants.LEFT_SQUARE_BRACKET, StringComparison.Ordinal)) : testName); return(platform.IsADesktopPlatform() ? DesktopTestName(shortTestName, platform) : MobileTestName(shortTestName, platform)); }
public void Setup(SaucePlatform platform) { //Console.WriteLine("In Setup"); TestName = platform.GetTestName(TestContext.CurrentContext.Test.Name); //DebugMessages.PrintPlatformDetails(platform); // set up the desired capabilities var caps = CapabilityFactory.CreateCapabilities(platform, TestName); InitialiseDriver(caps, 30); }
public void LinkWorks([ValueSource(typeof(SaucePlatform), "GetPlatforms")] SaucePlatform platform) { Setup(platform); var guineaPigPage = new GuineaPigPage(Driver, "https://saucelabs.com/"); // find and click the link on the page guineaPigPage.ClickLink(); // verify the browser was navigated to the correct page Assert.IsTrue(Driver.Url.Contains("saucelabs.com/test-guinea-pig2.html")); }
public static string SanitisedLongVersion(this SaucePlatform platform) { var result = platform.LongVersion.EndsWith(SauceOpsConstants.DOT) ? platform.LongVersion.Trim().Remove(platform.LongVersion.Length - 1) : platform.LongVersion.Trim(); Console.WriteLine("SanitisedLongVersion returning string '{0}'", result); return(result); //return platform.LongVersion.EndsWith(SauceryConstants.DOT) // ? platform.LongVersion.Trim().Remove(platform.LongVersion.Length - 1) // : platform.LongVersion.Trim(); }
private static string MobileTestName(StringBuilder shortTestName, SaucePlatform platform) { var inter = AppendPlatformField(AppendPlatformField(AppendPlatformField(shortTestName, platform.LongName), platform.BrowserVersion), platform.DeviceOrientation).ToString(); //TEST START const string removeString = @"(" + Saucery2Constants.PRODUCTNAME + @".OnDemand.SaucePlatform)"; var index = inter.IndexOf(removeString, StringComparison.Ordinal); //TEST END return(index < 0 ? inter : inter.Remove(index, removeString.Length)); }
public static void PrintiOSOptionValues(SaucePlatform platform) { Console.WriteLine("{0}:{1}\n{2}:{3}\n{4}:{5}\n{6}:{7}\n{8}:{9}\n{10}:{11}", SauceOpsConstants.SAUCE_DEVICE_NAME_CAPABILITY, platform.Device, SauceOpsConstants.SAUCE_DEVICE_ORIENTATION_CAPABILITY, platform.DeviceOrientation, SauceOpsConstants.SAUCE_PLATFORM_VERSION_CAPABILITY, platform.BrowserVersion, SauceOpsConstants.SAUCE_PLATFORM_NAME_CAPABILITY, SauceOpsConstants.IOS_PLATFORM, SauceOpsConstants.SAUCE_BROWSER_NAME_CAPABILITY, SauceOpsConstants.SAFARI_BROWSER, //SauceOpsConstants.SAUCE_DEVICE_CAPABILITY, platform.Device //SauceOpsConstants.SAUCE_DEVICE_CAPABILITY, platform.IsAnIPhone() ? SauceOpsConstants.IPHONE_DEVICE : SauceOpsConstants.IPAD_DEVICE SauceOpsConstants.SAUCE_DEVICE_CAPABILITY, platform.IsAnIPhone() ? SauceOpsConstants.IPHONE_SIMULATOR : SauceOpsConstants.IPAD_SIMULATOR ); }
protected SauceryRoot(SaucePlatform platform) { Platform = platform; //TestName = Platform.GetTestName(TestContext.CurrentContext.Test.Name); TestName = "XUnit doesn't support getting testName yet"; //DebugMessages.PrintPlatformDetails(platform); // set up the desired capabilities var caps = CapabilityFactory.CreateCapabilities(Platform, TestName); InitialiseDriver(caps, 30); }
public AppiumIOSCapabilities(SaucePlatform platform, string testName) : base(testName) { Console.WriteLine(SauceOpsConstants.SETTING_UP, testName, SauceOpsConstants.IOS_ON_APPIUM); Caps = platform.IsAnIPhone() ? DesiredCapabilities.IPhone() : DesiredCapabilities.IPad(); Caps.SetCapability(SauceOpsConstants.SAUCE_BROWSER_NAME_CAPABILITY, GetBrowser(Enviro.SauceNativeApp)); Caps.SetCapability(SauceOpsConstants.SAUCE_PLATFORM_VERSION_CAPABILITY, platform.BrowserVersion); Caps.SetCapability(SauceOpsConstants.SAUCE_PLATFORM_NAME_CAPABILITY, SauceOpsConstants.IOS_PLATFORM); Caps.SetCapability(SauceOpsConstants.SAUCE_DEVICE_NAME_CAPABILITY, platform.IsAnIPhone() ? SauceOpsConstants.IPHONE_SIMULATOR : SauceOpsConstants.IPAD_SIMULATOR); Caps.SetCapability(SauceOpsConstants.SAUCE_DEVICE_CAPABILITY, platform.IsAnIPhone() ? SauceOpsConstants.IPHONE_DEVICE : SauceOpsConstants.IPAD_DEVICE); Caps.SetCapability(SauceOpsConstants.SAUCE_DEVICE_ORIENTATION_CAPABILITY, platform.DeviceOrientation); AddSauceLabsCapabilities(Enviro.SauceNativeApp); }
public WebDriverIOSCapabilities(SaucePlatform platform, string testName) : base(testName) { Console.WriteLine(SauceryConstants.SETTING_UP, testName, SauceryConstants.IOS_ON_WEBDRIVER); Caps = platform.IsAnIPhone() ? DesiredCapabilities.IPhone() : DesiredCapabilities.IPad(); //See https://github.com/appium/appium-dotnet-driver/wiki/Android-Sample //IOSDriver<AppiumWebElement> iosd = new IOSDriver<AppiumWebElement>(Caps); Caps.SetCapability(CapabilityType.Platform, SauceryConstants.IOS_PLATFORM); Caps.SetCapability(CapabilityType.Version, platform.BrowserVersion); Caps.SetCapability(SauceryConstants.SAUCE_DEVICE_CAPABILITY, platform.Device); Caps.SetCapability(SauceryConstants.SAUCE_DEVICE_ORIENTATION_CAPABILITY, platform.DeviceOrientation); AddSauceLabsCapabilities(); }
public WebDriverAndroidCapabilities(SaucePlatform platform, string testName) : base(testName) { Console.WriteLine(SauceryConstants.SETTING_UP, testName, SauceryConstants.ANDROID_ON_WEBDRIVER); Caps = DesiredCapabilities.Android(); //See https://github.com/appium/appium-dotnet-driver/wiki/Android-Sample //AndroidDriver<AppiumWebElement> iosd = new AndroidDriver<AppiumWebElement>(Caps); Caps.SetCapability(SauceryConstants.SAUCE_PLATFORM_CAPABILITY, SauceryConstants.LINUX); Caps.SetCapability(SauceryConstants.SAUCE_VERSION_CAPABILITY, platform.BrowserVersion); Caps.SetCapability(SauceryConstants.SAUCE_DEVICE_NAME_CAPABILITY, platform.LongName); Caps.SetCapability(SauceryConstants.SAUCE_DEVICE_ORIENTATION_CAPABILITY, platform.DeviceOrientation); AddSauceLabsCapabilities(); }
public IEBrowserOptions(SaucePlatform platform, string testName) : base(testName) { Console.WriteLine(SauceOpsConstants.SETTING_UP, testName, SauceOpsConstants.DESKTOP_ON_WEBDRIVER); DebugMessages.PrintDesktopOptionValues(platform); Console.WriteLine("Creating Internet Explorer Options"); var o = new InternetExplorerOptions { PlatformName = platform.Os, BrowserVersion = platform.BrowserVersion }; o.AddAdditionalCapability(SauceOpsConstants.SAUCE_OPTIONS_CAPABILITY, SauceOptions, true); Opts = o; }
public AppiumAndroidCapabilities(SaucePlatform platform, string testName) : base(testName) { var nativeApp = Enviro.SauceNativeApp; var useChromeOnAndroid = Enviro.SauceUseChromeOnAndroid; Console.WriteLine(SauceryConstants.SETTING_UP, testName, SauceryConstants.ANDROID_ON_APPIUM); Caps = DesiredCapabilities.Android(); Caps.SetCapability(SauceryConstants.SAUCE_BROWSER_NAME_CAPABILITY, GetBrowser(nativeApp, useChromeOnAndroid)); Caps.SetCapability(SauceryConstants.SAUCE_PLATFORM_VERSION_CAPABILITY, platform.LongVersion); Caps.SetCapability(SauceryConstants.SAUCE_APPIUM_VERSION_CAPABILITY, SauceryConstants.SAUCE_APPIUM_VERSION); Caps.SetCapability(SauceryConstants.SAUCE_PLATFORM_NAME_CAPABILITY, SauceryConstants.ANDROID); Caps.SetCapability(SauceryConstants.SAUCE_DEVICE_NAME_CAPABILITY, platform.LongName); Caps.SetCapability(SauceryConstants.SAUCE_DEVICE_ORIENTATION_CAPABILITY, platform.DeviceOrientation); AddSauceLabsCapabilities(nativeApp); }
public static DesiredCapabilities CreateCapabilities(SaucePlatform platform, string testName) { if (platform.IsADesktopPlatform()) { return((new DesktopCreator()).Create(platform, testName).GetCaps()); } //Mobile Platform return(platform.CanUseAppium() //Mobile Platform ? platform.IsAnAppleDevice() ? (new AppiumIOSCreator()).Create(platform, testName).GetCaps() : (new AppiumAndroidCreator()).Create(platform, testName).GetCaps() //Devolve to WebDriver : platform.IsAnAppleDevice() ? (new WebDriverIOSCreator()).Create(platform, testName).GetCaps() : (new WebDriverAndroidCreator()).Create(platform, testName).GetCaps()); }
public AppiumIOSOptions(SaucePlatform platform, string testName) : base(testName) { Console.WriteLine(SauceOpsConstants.SETTING_UP, testName, SauceOpsConstants.IOS_ON_APPIUM); AddSauceLabsOptions(Enviro.SauceNativeApp); DebugMessages.PrintiOSOptionValues(platform); Console.WriteLine("Creating iOS Options"); Opts = new SafariOptions() { BrowserVersion = platform.BrowserVersion, PlatformName = "iOS" }; SauceOptions.Add(SauceOpsConstants.SAUCE_DEVICE_NAME_CAPABILITY, platform.Device); SauceOptions.Add(SauceOpsConstants.SAUCE_PLATFORM_VERSION_CAPABILITY, platform.SanitisedLongVersion()); SauceOptions.Add(SauceOpsConstants.SAUCE_DEVICE_ORIENTATION_CAPABILITY, platform.DeviceOrientation); Opts.AddAdditionalCapability(SauceOpsConstants.SAUCE_OPTIONS_CAPABILITY, SauceOptions); }
public AppiumAndroidOptions(SaucePlatform platform, string testName) : base(testName) { Console.WriteLine(SauceOpsConstants.SETTING_UP, testName, SauceOpsConstants.ANDROID_ON_APPIUM); var sanitisedLongVersion = platform.SanitisedLongVersion(); AddSauceLabsOptions(Enviro.SauceNativeApp); DebugMessages.PrintAndroidOptionValues(platform, sanitisedLongVersion); Console.WriteLine("Creating Android Options"); Opts = new ChromeOptions(); Opts.AddAdditionalCapability(SauceOpsConstants.SAUCE_DEVICE_NAME_CAPABILITY, platform.Device); Opts.AddAdditionalCapability(SauceOpsConstants.SAUCE_PLATFORM_VERSION_CAPABILITY, sanitisedLongVersion); Opts.AddAdditionalCapability(SauceOpsConstants.SAUCE_DEVICE_ORIENTATION_CAPABILITY, platform.DeviceOrientation); //Opts.AddAdditionalCapability(SauceOpsConstants.SAUCE_BROWSER_NAME_CAPABILITY, SauceOpsConstants.CHROME_BROWSER); //Required //Opts.AddAdditionalCapability(SauceOpsConstants.SAUCE_PLATFORM_NAME_CAPABILITY, SauceOpsConstants.ANDROID); Opts.AddAdditionalCapability(SauceOpsConstants.SAUCE_OPTIONS_CAPABILITY, SauceOptions); }
public AppiumIOSCapabilities(SaucePlatform platform, string testName) : base(testName) { var nativeApp = Enviro.SauceNativeApp; //Console.WriteLine(SauceryConstants.SETTING_UP_APPIUM, testName, SauceryConstants.IOS_ON_APPIUM, Enviro.RecommendedAppiumVersion); Console.WriteLine(SauceryConstants.SETTING_UP, testName, SauceryConstants.IOS_ON_APPIUM); Caps = platform.IsAnIPhone() ? DesiredCapabilities.IPhone() : DesiredCapabilities.IPad(); //See https://github.com/appium/appium-dotnet-driver/wiki/Android-Sample //IOSDriver<AppiumWebElement> iosd = new IOSDriver<AppiumWebElement>(Caps); //Caps.SetCapability(SauceryConstants.SAUCE_APPIUM_VERSION_CAPABILITY, Enviro.RecommendedAppiumVersion); Caps.SetCapability(SauceryConstants.SAUCE_BROWSER_NAME_CAPABILITY, GetBrowser(nativeApp)); Caps.SetCapability(SauceryConstants.SAUCE_PLATFORM_VERSION_CAPABILITY, platform.BrowserVersion); Caps.SetCapability(SauceryConstants.SAUCE_PLATFORM_NAME_CAPABILITY, SauceryConstants.IOS_PLATFORM); Caps.SetCapability(SauceryConstants.SAUCE_DEVICE_NAME_CAPABILITY, platform.IsAnIPhone() ? SauceryConstants.IPHONE_SIMULATOR : SauceryConstants.IPAD_SIMULATOR); Caps.SetCapability(SauceryConstants.SAUCE_DEVICE_CAPABILITY, platform.IsAnIPhone() ? SauceryConstants.IPHONE_DEVICE : SauceryConstants.IPAD_DEVICE); Caps.SetCapability(SauceryConstants.SAUCE_DEVICE_ORIENTATION_CAPABILITY, platform.DeviceOrientation); AddSauceLabsCapabilities(nativeApp); }
public AppiumAndroidCapabilities(SaucePlatform platform, string testName) : base(testName) { Console.WriteLine(SauceOpsConstants.SETTING_UP, testName, SauceOpsConstants.ANDROID_ON_APPIUM); Caps = new DesiredCapabilities(); Caps.SetCapability(SauceOpsConstants.SAUCE_BROWSER_NAME_CAPABILITY, SauceOpsConstants.CHROME_BROWSER); Caps.SetCapability(SauceOpsConstants.SAUCE_PLATFORM_VERSION_CAPABILITY, platform.SanitisedLongVersion()); Caps.SetCapability(SauceOpsConstants.SAUCE_PLATFORM_NAME_CAPABILITY, SauceOpsConstants.ANDROID); Caps.SetCapability(SauceOpsConstants.SAUCE_DEVICE_NAME_CAPABILITY, platform.LongName); Caps.SetCapability(SauceOpsConstants.SAUCE_DEVICE_ORIENTATION_CAPABILITY, platform.DeviceOrientation); Console.WriteLine("{0}:{1}\n{2}:{3}\n{4}:{5}\n{6}:{7}\n{8}:{9}", SauceOpsConstants.SAUCE_BROWSER_NAME_CAPABILITY, SauceOpsConstants.CHROME_BROWSER, SauceOpsConstants.SAUCE_PLATFORM_VERSION_CAPABILITY, platform.SanitisedLongVersion(), SauceOpsConstants.SAUCE_PLATFORM_NAME_CAPABILITY, SauceOpsConstants.ANDROID, SauceOpsConstants.SAUCE_DEVICE_NAME_CAPABILITY, platform.LongName, SauceOpsConstants.SAUCE_DEVICE_ORIENTATION_CAPABILITY, platform.DeviceOrientation); AddSauceLabsCapabilities(Enviro.SauceNativeApp); }
public GuineaPigFixture(SaucePlatform platform) : base(platform) { //Console.WriteLine("In GuineaPigFixture constructor"); }