public void LicenseTest() { // Test if the license doesn't exist. session.FindElementByName("Extract").Click(); Assert.IsTrue(session.FindElementByClassName("LicenseCheck").Enabled); session.FindElementByName("BACK").Click(); session.FindElementByName("MENU").Click(); session.FindElementByName("MANAGE LICENSES").Click(); secondarySession = Utility.CreateNewSession(CommonTestSettings.Licesnse); var existingApplicationTopLevelWindow = secondarySession.CurrentWindowHandle; // Create a new session by attaching to an existing application top level window AppiumOptions opt = new AppiumOptions(); opt.AddAdditionalCapability("appTopLevelWindow", existingApplicationTopLevelWindow); secondarySession = new WindowsDriver <WindowsElement>(new Uri(CommonTestSettings.WindowsApplicationDriverUrl), opt); secondarySession.FindElementByName("Add license").Click(); var currentWindowHandle = secondarySession.CurrentWindowHandle; var allWindowHandles2 = secondarySession.WindowHandles; secondarySession.SwitchTo().Window(allWindowHandles2[0]); secondarySession.Keyboard.SendKeys(License.p1); secondarySession.Keyboard.SendKeys(Keys.Tab); secondarySession.Keyboard.SendKeys(License.p2); secondarySession.Keyboard.SendKeys(Keys.Tab); secondarySession.Keyboard.SendKeys(License.p3); secondarySession.Keyboard.SendKeys(Keys.Tab); secondarySession.Keyboard.SendKeys(License.p4); secondarySession.FindElementByName("Activate online").Click(); secondarySession.FindElementByName("Activate").Click(); secondarySession.FindElementByName("OK").Click(); secondarySession.SwitchTo().Window(allWindowHandles2[1]); secondarySession.FindElementByName("Close").Click(); session.FindElementByName("HOME").Click(); }
private DriverOptions GetNativeCapabilities() { DriverOptions driverOptions = null; switch (mContextType) { case eContextType.NativeIOS: case eContextType.NativeAndroid: driverOptions = new AppiumOptions(); break; case eContextType.WebAndroid: driverOptions = new ChromeOptions(); break; case eContextType.WebIOS: driverOptions = new SafariOptions(); break; default: driverOptions = new AppiumOptions(); break; } if (!string.IsNullOrEmpty(Perfecto_Token)) { driverOptions.AddAdditionalCapability("securityToken", Perfecto_Token); } else { driverOptions.AddAdditionalCapability("user", Perfecto_User_Name); driverOptions.AddAdditionalCapability("password", Perfecto_Password); } driverOptions.AddAdditionalCapability("deviceName", Perfecto_Device_ID); return(driverOptions); }
public void SetDriver(Share.Browser browser, string environment, string platform) { AppiumOptions capabilities = null; var localHub = "http://localhost:4723/wd/hub"; string getPlatform = null; switch (browser) { case Share.Browser.Chrome: break; case Share.Browser.Edge: break; case Share.Browser.Firefox: break; case Share.Browser.IE: break; case Share.Browser.Safari: break; case Share.Browser.Android: capabilities = Base.CreateMobileCapabilities(); _androidDriver.Value = new AndroidDriver <AndroidElement>(GlobalVar.Uri, capabilities); break; case Share.Browser.Ipad: case Share.Browser.Iphone: capabilities = Base.CreateMobileCapabilities(); _iosDriver.Value = new IOSDriver <IOSElement>(GlobalVar.Uri, capabilities); break; default: throw new ArgumentOutOfRangeException(nameof(browser), browser, null); } }
public void CheckThatServiseIsNotRunWhenTheCreatingOfANewSessionIsFailed() { AppiumOptions capabilities = Env.isSauce() ? //it will be a cause of error Caps.getAndroid501Caps(Apps.get("androidApiDemos")) : Caps.getAndroid19Caps(Apps.get("androidApiDemos")); capabilities.AddAdditionalCapability(MobileCapabilityType.DeviceName, "iPhone Simulator"); capabilities.AddAdditionalCapability(MobileCapabilityType.PlatformName, MobilePlatform.IOS); AppiumServiceBuilder builder = new AppiumServiceBuilder(); AppiumLocalService service = builder.Build(); service.Start(); IOSDriver <AppiumWebElement> driver = null; try { try { driver = new IOSDriver <AppiumWebElement>(service, capabilities); } catch (Exception e) { Assert.IsTrue(!service.IsRunning); return; } throw new Exception("Any exception was expected"); } finally { if (driver != null) { driver.Quit(); } } }
public static WindowsDriver <WindowsElement> GetDesktopDriver() { var ops = new AppiumOptions(); ops.AddAdditionalCapability("app", "Root"); var driver = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4724"), ops); driver.Keyboard.PressKey(Keys.Command + "s" + Keys.Command); Thread.Sleep(2000); driver.Keyboard.PressKey("Twitter"); Thread.Sleep(2000); driver.Keyboard.PressKey(Keys.Enter); Thread.Sleep(2000); driver.Keyboard.PressKey(Keys.Escape); var twitterWindow = driver.FindElementByName("Twitter"); var twitterHandle = int.Parse(twitterWindow.GetAttribute("NativeWindowHandle")).ToString("x"); ops = new AppiumOptions(); ops.AddAdditionalCapability("appTopLevelWindow", twitterHandle); return(new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4724"), ops)); }
private AndroidDriver <AppiumWebElement> InitMobileDriverOnLocalDevice() { AppiumOptions options = new AppiumOptions(); options.AddAdditionalCapability(MobileCapabilityType.PlatformName, "Android"); options.AddAdditionalCapability(MobileCapabilityType.PlatformVersion, "9.0"); //options.AddAdditionalCapability(MobileCapabilityType.DeviceName, "Samsung Galaxy S8"); options.AddAdditionalCapability(MobileCapabilityType.DeviceName, "emulator-5554"); options.AddAdditionalCapability("phoneOnly", false); options.AddAdditionalCapability("tabletOnly", false); options.AddAdditionalCapability("privateDevicesOnly", false); options.AddAdditionalCapability(MobileCapabilityType.App, @"c:\Users\USER\Downloads\eyes-android-hello-world.apk"); options.AddAdditionalCapability("idleTimeout", 300); AndroidDriver <AppiumWebElement> driver = new AndroidDriver <AppiumWebElement>( new Uri("http://127.0.0.1:4723/wd/hub"), options, TimeSpan.FromMinutes(5)); return(driver); }
private static WindowsApplication StartApplication(IServiceProvider services) { var isRemoteFromEnv = EnvironmentConfiguration.GetVariable("isRemote"); bool.TryParse(isRemoteFromEnv, out var isRemote); Uri driverServer; AppiumOptions options = new AppiumOptions(); if (!isRemote) { var driverService = AppiumLocalService.BuildDefaultService(); driverService.Start(); driverServer = driverService.ServiceUrl; options.PlatformVersion = "10"; options.PlatformName = "Windows"; options.DeviceName = "WindowsPC"; } else { driverServer = new Uri(EnvironmentConfiguration.GetVariable("driverServer") ?? DefaultDriverServer); } return(new WindowsApplication(Path.GetFullPath(SupportedApplication), driverServer, services.GetRequiredService <ITimeoutConfiguration>(), options)); }
public static void StartApp() { if (app != null && TouchScreen != null) { return; } StopApp(); var opts = new AppiumOptions(); opts.AddAdditionalCapability("app", AppId); app = new WindowsDriver <WindowsElement>(new Uri(WindowsApplicationDriverUrl), opts); Assert.IsNotNull(app); Assert.IsNotNull(app.SessionId); // Set implicit timeout to 1.5 seconds to make element search to retry every 500 ms for at most three times app.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(1.5); TouchScreen = new RemoteTouchScreen(app); Assert.IsNotNull(TouchScreen); }
public void BeforeTest() { var ops = new AppiumOptions(); ops.AddAdditionalCapability("app", "Root"); driver = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4724"), ops); driver.Keyboard.PressKey(Keys.Command + "s" + Keys.Command); Thread.Sleep(1000); driver.Keyboard.PressKey("Twitter"); Thread.Sleep(1000); driver.Keyboard.PressKey(Keys.Enter); Thread.Sleep(1000); driver.Keyboard.PressKey(Keys.Escape); var twitterWindow = driver.FindElementByName("Twitter"); var twitterHandle = int.Parse(twitterWindow.GetAttribute("NativeWindowHandle")).ToString("x"); ops = new AppiumOptions(); ops.AddAdditionalCapability("appTopLevelWindow", twitterHandle); driver = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4724"), ops); //System.Xml.Linq.XDocument.Parse(driver.PageSource).Save("test3.xml", System.Xml.Linq.SaveOptions.None); }
public static void SetupOptions(bool installApp = false) { var driverOption = new AppiumOptions(); driverOption.AddAdditionalCapability(MobileCapabilityType.PlatformName, GlobalVar.PlatformName); driverOption.AddAdditionalCapability(MobileCapabilityType.DeviceName, GlobalVar.DeviceName); driverOption.AddAdditionalCapability(MobileCapabilityType.NewCommandTimeout, GlobalVar.Timeout); driverOption.AddAdditionalCapability(MobileCapabilityType.App, GlobalVar.ApkPathDemos); driverOption.AddAdditionalCapability(MobileCapabilityType.Udid, GlobalVar.Udid); driverOption.AddAdditionalCapability(MobileCapabilityType.AutomationName, GlobalVar.AutomationName); driverOption.AddAdditionalCapability("autoGrantPermissions", GlobalVar.Permissions); driverOption.AddAdditionalCapability("allowSessionOverride", GlobalVar.SessionOverride); driverOption.AddAdditionalCapability("appPackage", AppPackage); //driverOption.AddAdditionalCapability("appActivity", GlobalVar.AppActivity + "EntryActivity"); GlobalVar.Driver = new AndroidDriver <AndroidElement>(GlobalVar.Uri, driverOption); MiscFunctions.SetDriver(GlobalVar.Driver); //Install API DEMOS apk if (installApp) { GlobalVar.Driver.InstallApp(GlobalVar.ApkPathDemos); } }
public void TestMethod10() { var notepad = @"C:\Windows\System32\notepad.exe"; var options = new AppiumOptions(); options.AddAdditionalCapability("app", notepad); var driver = new WindowsDriver <WindowsElement>(new Uri(" http://127.0.0.1:4723/"), options); var textEditor = driver.FindElementByAccessibilityId("15"); var wait = new OpenQA.Selenium.Support.UI.WebDriverWait(textEditor.WrappedDriver, TimeSpan.FromSeconds(30)); textEditor.SendKeys("ABCDEF"); wait.Until(ExpectedConditions.ElementToBeClickable(textEditor)); textEditor.Click(); textEditor.Click(); textEditor.Click(); textEditor.Click(); textEditor.Click(); textEditor.Click(); }
public static void Setup(TestContext context) { // Launch Paint 3D application if it is not yet launched if (ourSession == null) { var options = new AppiumOptions(); options.AddAdditionalCapability("app", PaintAppId); options.AddAdditionalCapability("deviceName", "WindowsPC"); ourSession = new WindowsDriver <WindowsElement>(new Uri(WinAppDriverUrl), options); Assert.IsNotNull(ourSession); Assert.IsNotNull(ourSession.SessionId); // Verify that Notepad is started with untitled new file //Assert.AreEqual("Untitled - Notepad", ourSession.Title); // Set implicit timeout to 1.5 seconds to make element search to retry every 500 ms for at most three times. ourSession.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(1.5); //ourEditbox = ourSession.FindElementByClassName("Edit"); //Assert.IsNotNull(ourEditbox); } }
public static void Main() { appiumLocalService = new AppiumServiceBuilder().UsingAnyFreePort().Build(); appiumLocalService.Start(); var appiumOptions = new AppiumOptions(); appiumOptions.AddAdditionalCapability(MobileCapabilityType.DeviceName, "device"); appiumOptions.AddAdditionalCapability(MobileCapabilityType.PlatformName, "Android"); appiumOptions.AddAdditionalCapability(MobileCapabilityType.PlatformVersion, "9.0"); appiumOptions.AddAdditionalCapability(AndroidMobileCapabilityType.AppPackage, "com.draeger.connect.cse"); appiumOptions.AddAdditionalCapability(AndroidMobileCapabilityType.AppActivity, "com.draeger.connect.cse.MainActivity"); appiumOptions.AddAdditionalCapability(MobileCapabilityType.NoReset, true); //new Uri("http://127.0.0.1:4723/wd/hub") driver = new AndroidDriver <AppiumWebElement>(appiumLocalService, appiumOptions); driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(30); AppiumWebElement approveBox = driver.FindElementByAndroidUIAutomator("new UiSelector().textContains(\"Approve\");"); approveBox.Click(); AppiumWebElement background = driver.FindElementByAndroidUIAutomator("new UiSelector().textContains(\"Dräger CSE Mobile\");"); background.Click(); }
public static void Setup(TestContext context) { if (session == null) { var curDirPath = System.IO.Directory.GetCurrentDirectory(); Console.WriteLine(curDirPath); while (System.IO.Directory.GetParent(curDirPath).Name != "SightSign") { //Console.WriteLine("Full Path: " + curDirPath); //Console.WriteLine("Cur Dir: " + System.IO.Path.GetDirectoryName(curDirPath)); Console.WriteLine("Parent Dir: " + System.IO.Directory.GetParent(curDirPath).Name); curDirPath = System.IO.Directory.GetParent(curDirPath).FullName; } curDirPath = System.IO.Directory.GetParent(curDirPath).FullName; var SightSignAppId = curDirPath + SightSignAppExe; Console.WriteLine(SightSignAppId); var appiumOptions = new AppiumOptions(); appiumOptions.AddAdditionalCapability("app", SightSignAppId); appiumOptions.AddAdditionalCapability("deviceName", "WindowsPC"); session = new WindowsDriver <WindowsElement>(new Uri(WindowsApplicationDriverUrl), appiumOptions); } }
public AppiumOptions CreateAppiumOptions(MemberInfo memberInfo, Type testClassType) { var appiumOptions = new AppiumOptions(); AddAdditionalCapabilities(testClassType, appiumOptions); appiumOptions.AddAdditionalCapability("browserName", string.Empty); appiumOptions.AddAdditionalCapability("deviceName", AppConfiguration.DeviceName); appiumOptions.AddAdditionalCapability("app", AppConfiguration.AppPath); appiumOptions.AddAdditionalCapability("platformVersion", AppConfiguration.PlatformVersion); appiumOptions.AddAdditionalCapability("recordVideo", RecordVideo); appiumOptions.AddAdditionalCapability("recordScreenshots", RecordScreenshots); appiumOptions.AddAdditionalCapability("appiumVersion", "1.8.1"); var sauceLabsCredentialsResolver = new SauceLabsCredentialsResolver(); var credentials = sauceLabsCredentialsResolver.GetCredentials(); appiumOptions.AddAdditionalCapability("username", credentials.Item1); appiumOptions.AddAdditionalCapability("accessKey", credentials.Item2); appiumOptions.AddAdditionalCapability("name", testClassType.FullName); return(appiumOptions); }
private static void tryInitializeSession() { AppiumOptions appiumOptions = new AppiumOptions(); appiumOptions.AddAdditionalCapability("app", FilesAppIDs[appIdIndex]); appiumOptions.AddAdditionalCapability("deviceName", "WindowsPC"); try { _session = new WindowsDriver <WindowsElement>(new Uri(WindowsApplicationDriverUrl), appiumOptions); } catch (OpenQA.Selenium.WebDriverException exc) { // Use next app ID since the current one was failing if (exc.Message.Contains("Package was not found")) { appIdIndex++; } else { Console.WriteLine("Failed to update start driver, got exception:" + exc.Message); } } }
/// <summary> /// Create appium options. /// </summary> /// <param name="configurationParameters">The configuration parameters.</param> /// <returns>The appium options.</returns> public static AppiumOptions CreateAppiumOptions(ConfigurationParameters configurationParameters) { var appiumOptions = new AppiumOptions(); if (configurationParameters.BrowsersConfiguration.Browser == Browser.ChromeAndroid7) { appiumOptions.AddAdditionalCapability("deviceName", "generic_x86"); appiumOptions.AddAdditionalCapability("platformVersion", "7.0"); } else if (configurationParameters.BrowsersConfiguration.Browser == Browser.ChromeAndroid9) { appiumOptions.AddAdditionalCapability("deviceName", "Nexus_5X_API_28"); appiumOptions.AddAdditionalCapability("platformVersion", "9"); } appiumOptions.AddAdditionalCapability("platformName", "Android"); appiumOptions.AddAdditionalCapability("fastReset", "True"); appiumOptions.AddAdditionalCapability("browserName", "Chrome"); appiumOptions.AddAdditionalCapability("unicodeKeyboard", true); appiumOptions.AddAdditionalCapability("resetKeyboard", true); return(appiumOptions); }
public static void ClassInitialize(TestContext context) { var appiumOptions = new AppiumOptions(); appiumOptions.AddAdditionalCapability(MobileCapabilityType.BrowserName, "chrome"); appiumOptions.AddAdditionalCapability("version", "mobile-79.0"); appiumOptions.AddAdditionalCapability("enableVNC", true); appiumOptions.AddAdditionalCapability("enableVideo", true); appiumOptions.AddAdditionalCapability("desired-skin", "WSVGA"); appiumOptions.AddAdditionalCapability("desired-screen-resolution", "1024x600"); try { var timeout = TimeSpan.FromSeconds(120); _driver = new AndroidDriver <AndroidElement>(new Uri("http://127.0.0.1:4444/wd/hub"), appiumOptions, timeout); _driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(120); _driver.Manage().Timeouts().AsynchronousJavaScript = TimeSpan.FromSeconds(120); } catch (Exception ex) { Debug.WriteLine(ex); } }
public void iOS13() { var capabilities = new AppiumOptions(); //We can run on any iPhone Device capabilities.AddAdditionalCapability(MobileCapabilityType.PlatformVersion, "13"); capabilities.AddAdditionalCapability(MobileCapabilityType.PlatformName, "iOS"); //TODO it's a best practice to set the appium version so that you're always getting the latest capabilities.AddAdditionalCapability("appiumVersion", APPIUM_VERSION); /* * !!!!!! * TODO first you must upload an app to RDC so that you get your app key * Then, make sure you can hardcode it here just to get started */ capabilities.AddAdditionalCapability("testobject_api_key", new ApiKeys().Rdc.Apps.SampleAppIOS); capabilities.AddAdditionalCapability("name", TestContext.CurrentContext.Test.Name); capabilities.AddAdditionalCapability("newCommandTimeout", 90); //60 seconds for the connection timeout _driver = new IOSDriver <IOSElement>(new Uri(RdcUsHubUrl), capabilities); Assert.True(IsLoginButtonDisplayed()); }
public static void ClassInitialize(TestContext context) { var appiumOptions = new AppiumOptions(); appiumOptions.AddAdditionalCapability("pCloudy_Username", "yourUserName"); appiumOptions.AddAdditionalCapability("pCloudy_ApiKey", "yourKey"); appiumOptions.AddAdditionalCapability("pCloudy_DurationInMinutes", 10); appiumOptions.AddAdditionalCapability("newCommandTimeout", 600); appiumOptions.AddAdditionalCapability("launchTimeout", 90000); appiumOptions.AddAdditionalCapability("pCloudy_DeviceFullName", "SAMSUNG_GalaxyJ52016_Android_7.1.1_09c99"); appiumOptions.AddAdditionalCapability("platformVersion", "09c99"); appiumOptions.AddAdditionalCapability("platformName", "Android"); appiumOptions.AddAdditionalCapability("pCloudy_ApplicationName", "ApiDemos-debug.apk"); appiumOptions.AddAdditionalCapability("appPackage", "io.appium.android.apis"); appiumOptions.AddAdditionalCapability("appActivity", ".ApiDemos"); appiumOptions.AddAdditionalCapability("pCloudy_WildNet", "true"); var timeout = TimeSpan.FromSeconds(120); _driver = new AndroidDriver <AndroidElement>(new Uri("https://device.pcloudy.com/appiumcloud/wd/hub"), appiumOptions, timeout); _driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(120); _driver.Manage().Timeouts().AsynchronousJavaScript = TimeSpan.FromSeconds(120); }
public void AlreadyRunningApp() { AppiumOptions appOptions = new AppiumOptions(); appOptions.AddAdditionalCapability("platformName", "Windows"); appOptions.AddAdditionalCapability("app", "Root"); appOptions.AddAdditionalCapability("deviceName", "WindowsPC"); WindowsDriver <WindowsElement> Session = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4723"), appOptions); WindowsElement applicationWindow = null; var openWindows = Session.FindElementsByClassName("Window"); foreach (var window in openWindows) { Console.WriteLine(window.GetAttribute("Name")); if (window.GetAttribute("Name").StartsWith("SoapUI 5.5.0")) { applicationWindow = window; break; } } // Attaching to existing Application Window var topLevelWindowHandle = applicationWindow.GetAttribute("NativeWindowHandle"); Console.WriteLine("Top level window handle " + topLevelWindowHandle); topLevelWindowHandle = int.Parse(topLevelWindowHandle).ToString("X"); Console.WriteLine("Top level window handle after parse" + topLevelWindowHandle); AppiumOptions appOptions1 = new AppiumOptions(); appOptions1.AddAdditionalCapability("deviceName", "WindowsPC"); appOptions1.AddAdditionalCapability("appTopLevelWindow", topLevelWindowHandle); Session = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4723"), appOptions1); Console.WriteLine(Session.Title); Session.Close(); }
public AppiumDriver <AndroidElement> SetUpAppiumDriver() { AndroidDriver <AndroidElement> androidDriver = null; try { var appFullPath = Directory.GetParent(Directory.GetCurrentDirectory()) + AndroidApplicationPath; // See Appium Capabilities wiki. var appOptions = new AppiumOptions(); appOptions.AddAdditionalCapability("platformName", "Android"); appOptions.AddAdditionalCapability("platformVersion", "7.1.1"); appOptions.AddAdditionalCapability("fastReset", "True"); appOptions.AddAdditionalCapability("app", appFullPath); // To see the device name with the cmd console check adb devices -l appOptions.AddAdditionalCapability("deviceName", "emulator-5554"); androidDriver = new AndroidDriver <AndroidElement>(new Uri("http://127.0.0.1:4723/wd/hub"), appOptions, TimeSpan.FromSeconds(600)); this.objectContainer.RegisterInstanceAs(new AppDriver { AppiumAndroidDriver = androidDriver }); return(androidDriver); } catch (Exception ex) { System.Diagnostics.Trace.WriteLine(ex); if (androidDriver != null) { this.CloseAppiumDriver(androidDriver); } throw; } }
public void TestVmaxROVPlayer() { AppiumOptions appOptions = new AppiumOptions(); appOptions.AddAdditionalCapability("app", @"C:\Program Files\VMAX Technologies, Inc\VMAX ROV Player x64\bin\VmPlayer2.exe"); appOptions.AddAdditionalCapability("ms:waitForAppLaunch", "15"); WindowsDriver <WindowsElement> ROVPLayerSession = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4723"), appOptions); Console.WriteLine("WindowsDriver is initialized"); Console.WriteLine("Application Title: " + ROVPLayerSession.Title); //ROVPLayerSession.FindElementByXPath("//MenuItem[@Name='File']").Click(); ROVPLayerSession.FindElementByXPath($"//MenuItem[starts-with(@Name, \"File\"]").Click(); ROVPLayerSession.FindElementByAccessibilityId("18124").Click(); ROVPLayerSession.FindElementByName("File").Click(); Assert.IsFalse(ROVPLayerSession.FindElementByAccessibilityId("1025").Enabled); Console.WriteLine("Water Visibility (meters) spinner control is disabled"); ROVPLayerSession.FindElementByName("Detritus").Click(); Thread.Sleep(900); Console.WriteLine("Detritus button is clicked"); Assert.IsTrue(ROVPLayerSession.FindElementByAccessibilityId("1025").Enabled); Console.WriteLine("Water Visibility (meters) spinner control is enabled"); ROVPLayerSession.Close(); ROVPLayerSession.Quit(); }
public void CreateNewGraph_Matrix_Test() { AppiumOptions opt = new AppiumOptions(); opt.AddAdditionalCapability("app", fullPath); session = new RemoteWebDriver(new Uri(WindowsApplicationDriverUrl), opt); Actions builder = new Actions(session); session.FindElementByName("Create new graph").Click(); session.SwitchTo().Window(session.WindowHandles[0]); session.FindElementsByClassName("WindowsForms10.EDIT.app.0.378734a_r3_ad1")[0].SendKeys("5"); session.FindElementByName("OK").Click(); session.FindElementsByClassName("WindowsForms10.EDIT.app.0.378734a_r3_ad1")[2].SendKeys("1"); session.FindElementsByClassName("WindowsForms10.EDIT.app.0.378734a_r3_ad1")[8].SendKeys("4"); session.FindElementsByClassName("WindowsForms10.EDIT.app.0.378734a_r3_ad1")[12].SendKeys("8"); session.FindElementsByClassName("WindowsForms10.EDIT.app.0.378734a_r3_ad1")[23].SendKeys("8"); session.FindElementByName("Create vertexes").Click(); session.FindElementByName("Закрыть").Click(); session.Quit(); }
public static IWebDriver GetNewDriver(DriverType type) { DesiredCapabilities dc; switch (type) { case DriverType.Chrome: return(new ChromeDriver(Config.ChromeDriverPath)); case DriverType.Android: var appiumOptions = new AppiumOptions(); appiumOptions.AddAdditionalCapability("deviceName", Config.DeviceName); appiumOptions.PlatformName = Config.PlatformName; appiumOptions.AddAdditionalCapability("platformVersion", Config.PlatformVersion); appiumOptions.AddAdditionalCapability("browserName", Config.BrowserName); appiumOptions.AddAdditionalCapability(MobileCapabilityType.App, Config.AppName); appiumOptions.AddAdditionalCapability("newCommandTimeout", "200"); return(new AndroidDriver <AndroidElement>(appiumOptions)); case DriverType.SauceLabsRemote: dc = new DesiredCapabilities(); dc.SetCapability(CapabilityType.BrowserName, Environment.GetEnvironmentVariable("SELENIUM_BROWSER")); dc.SetCapability(CapabilityType.Version, Environment.GetEnvironmentVariable("SELENIUM_VERSION")); dc.SetCapability(CapabilityType.Platform, Environment.GetEnvironmentVariable("SELENIUM_PLATFORM")); dc.SetCapability("username", Environment.GetEnvironmentVariable("SAUCE_USERNAME")); dc.SetCapability("accessKey", Environment.GetEnvironmentVariable("SAUCE_ACCESS_KEY")); dc.SetCapability("name", ScenarioContext.Current.ScenarioInfo.Title); return(new RemoteWebDriver( new Uri("http://" + Environment.GetEnvironmentVariable("SAUCE_USERNAME") + ":" + Environment.GetEnvironmentVariable("SAUCE_ACCESS_KEY") + "@ondemand.saucelabs.com:80/wd/hub"), dc, TimeSpan.FromSeconds(600))); default: return(new FirefoxDriver()); } }
public void SetupCalculatorSession(TestContext context) { this.windowsDriverService = new WindowsDriverServiceBuilder().Build(); this.windowsDriverService.OutputDataReceived += (sender, e) => { var outputData = e.Data?.Replace("\0", string.Empty); if (!String.IsNullOrEmpty(outputData)) { Console.WriteLine(outputData); } }; this.windowsDriverService.Start(); // Launch Calculator application if it is not yet launched if (this.CalculatorSession == null) { // Create a new WinAppDriver session to bring up an instance of the Calculator application // Note: Multiple calculator windows (instances) share the same process Id var options = new AppiumOptions(); if (context.Properties.TryGetValue("AppId", out object appId)) { options.AddAdditionalCapability("app", (string)appId); } else { options.AddAdditionalCapability("app", defaultAppId); } options.AddAdditionalCapability("deviceName", "WindowsPC"); this.CalculatorSession = new WindowsDriver <WindowsElement>(this.windowsDriverService.ServiceUrl, options); this.CalculatorSession.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10); Assert.IsNotNull(this.CalculatorSession); } }
public void Setup() { var capabilities = new AppiumOptions(); //We can run on any version of the platform as long as it's the correct device //Make sure to pick an Android or iOS device based on your app capabilities.AddAdditionalCapability(MobileCapabilityType.DeviceName, "Google Pixel 4"); capabilities.AddAdditionalCapability(MobileCapabilityType.PlatformName, "Android"); //make sure you set locale as sometimes it opens in a different location and throws off locations capabilities.AddAdditionalCapability("locale", "en"); capabilities.AddAdditionalCapability("language", "en"); //The next major version of Appium (2.x) will **require** this capability capabilities.AddAdditionalCapability("automationName", "UiAutomator2"); //It's a good practice to set an appWaitActivity so that the automation knows when the app is loaded capabilities.AddAdditionalCapability("appWaitActivity", "com.swaglabsmobileapp.MainActivity"); //It's a good practice to use the latest appium version capabilities.AddAdditionalCapability("appiumVersion", "1.17.1"); /* * !!!!!! * TODO first you must upload an app to RDC so that you get your app key * Then, make sure you can hardcode it here just to get started */ capabilities.AddAdditionalCapability("testobject_api_key", new ApiKeys().Rdc.Apps.SampleAppAndroid); capabilities.AddAdditionalCapability("name", TestContext.CurrentContext.Test.Name); //It's important to keep the newCommandTimeout on the higher end as Real Devices are slow capabilities.AddAdditionalCapability("newCommandTimeout", 180); /* * Getting Error: OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL * https://us1.appium.testobject.com/wd/hub/session timed out after 60 seconds. * ----> System.Net.WebException : The operation has timed out * * Solution: Try changing to a more popular device */ _driver = new AndroidDriver <AndroidElement>(new Uri(RdcUsHubUrl), capabilities); }
public void TestInit() { var options = new AppiumOptions(); options.AddAdditionalCapability("app", "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"); options.AddAdditionalCapability("deviceName", "WindowsPC"); _driver = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4723"), options); _driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5); _programmerCalculatorPage = new ProgrammerCalculatorPage(_driver); _calculatorResults = new CalculatorResults(_driver); // Identify calculator mode by locating the header try { header = _driver.FindElementByAccessibilityId("Header"); } catch { header = _driver.FindElementByAccessibilityId("ContentPresenter"); } // Ensure that calculator is in standard mode if (!header.Text.Equals("Programmer", StringComparison.OrdinalIgnoreCase)) { _driver.FindElementByName("Open Navigation").Click(); Thread.Sleep(TimeSpan.FromSeconds(1)); var menu = _driver.FindElementByClassName("SplitViewPane"); menu.FindElementByName("Programmer Calculator").Click(); _driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(1); Assert.IsTrue(header.Text.Equals("Programmer", StringComparison.OrdinalIgnoreCase)); } // Locate the calculatorResult element calculatorResult = _driver.FindElementByAccessibilityId("CalculatorResults"); Assert.IsNotNull(calculatorResult); }
public void Auto() { WindowsDriver <WindowsElement> driver; AppiumOptions options = new AppiumOptions(); //options.PlatformName = "Android"; options.AddAdditionalCapability("deviceName", "MyDevice"); options.AddAdditionalCapability("platformVersion", "PlatformV"); options.AddAdditionalCapability("automationName", "UiAutomator2"); options.AddAdditionalCapability("appPackage", "MyPackage"); options.AddAdditionalCapability("appActivity", "MyActivity"); Uri url = new Uri("http://127.0.0.1:4723/wd/hub"); driver = new WindowsDriver <WindowsElement>(url, options); driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10); var username = "******"; // Some example selectors var element = driver.FindElementByXPath("//*[@text='登录']"); element.Click(); //driver.FindElementByClassName("android.widget.EditText").SendKeys("test"); //driver.FindElement(MobileBy.AndroidUIAutomator("new UiSelector().className(\"android.widget.EditText\").instance(1)")).SendKeys(username); }
public static WindowsDriver <WindowsElement> GetDriver() { int retries = 5; AppiumOptions opt = new AppiumOptions(); opt.AddAdditionalCapability("WindowsDeviceName", "WindowsPC"); opt.AddAdditionalCapability("app", "31e6402e-0407-4419-a6c3-7c6d18576017_8sedpwrx9t26a!App"); WindowsDriver <WindowsElement> driver = null; while (true) { try { driver = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4723"), opt); break; } catch (WebDriverException e) { Console.WriteLine("Failed to start the windows driver. Attempt: " + retries); Console.WriteLine(e); if (--retries == 0) { throw; } else { // do nothing } } } driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(30); return(driver); }