public void PerfectoOpenConnection() { var browserName = "mobileOS"; var host = "YOUR CQ LAB"; DesiredCapabilities capabilities = new DesiredCapabilities(browserName, string.Empty, new Platform(PlatformType.Any)); capabilities.SetCapability("user", "[ENTER YOUR USER NAME HERE]"); //TODO: Provide your password or security token capabilities.SetCapability("password", "[ENTER YOUR PASSWORD HERE]"); //capabilities.SetCapability("securityToken", "[ENTER YOUR SECURITY TOKEN HERE]"); //TODO: Provide your device selection criteria capabilities.SetCapability("platformName", "Android"); capabilities.SetPerfectoLabExecutionId(host); // Name your script capabilities.SetCapability("scriptName", "Test user agent"); var url = new Uri(string.Format("https://{0}/nexperience/perfectomobile/wd/hub", host)); driver = new RemoteWebDriverExtended(new HttpAuthenticatedCommandExecutor(url), capabilities); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(15)); // Create the Reporting Client agent : for more information see https://developers.perfectomobile.com/pages/viewpage.action?pageId=12419423 // Create the PerfectoExecutionContext instance to provide the Execution Test Report metadata PerfectoExecutionContext peContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder() .withContextTags(new[] { "sample tag1", "userAgent sample", "c#" }) .withWebDriver(driver) .build(); reportClient = PerfectoClientFactory.createPerfectoReportiumClient(peContext); }
public void BeforeTest() { AppiumOptions capabilities = new AppiumOptions(); // 1. Replace <<cloud name>> with your perfecto cloud name (e.g. demo is the cloudName of demo.perfectomobile.com). String cloudName = "<<cloud name>>"; // 2. Replace <<security token>> with your perfecto security token. String securityToken = "<<security token>>"; capabilities.AddAdditionalCapability("securityToken", securityToken); // 3. Set device capabilities. capabilities.PlatformName = "Android"; capabilities.AddAdditionalCapability("model", "Galaxy S.*|LG.*"); // 4. Set Perfecto Media repository path of App under test. capabilities.AddAdditionalCapability("app", "PUBLIC:ExpenseTracker/Native/android/ExpenseAppVer1.0.apk"); // 5. Set the unique identifier of your app capabilities.AddAdditionalCapability("appPackage", "io.perfecto.expense.tracker"); // Set other capabilities. capabilities.AddAdditionalCapability("enableAppiumBehavior", true); capabilities.AddAdditionalCapability("autoLaunch", true); // Whether to install and launch the app automatically. // capabilities.AddAdditionalCapability("fullReset", false); // Reset app state by uninstalling app. capabilities.AddAdditionalCapability("takesScreenshot", false); capabilities.AddAdditionalCapability("screenshotOnError", true); capabilities.AddAdditionalCapability("openDeviceTimeout", 5); capabilities.AddAdditionalCapability("model", "Galaxy S.*"); // Initialize the Appium driver driver = new AndroidDriver <AndroidElement>( new Uri(string.Format("https://{0}.perfectomobile.com/nexperience/perfectomobile/wd/hub/fast", cloudName)), capabilities); driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5); PerfectoExecutionContext perfectoExecutionContext; if (System.Environment.GetEnvironmentVariable("jobName") != null) { perfectoExecutionContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder() .WithProject(new Project("My Project", "1.0")) .WithJob(new Job(System.Environment.GetEnvironmentVariable("jobName"), int.Parse(System.Environment.GetEnvironmentVariable("jobNumber")))) .WithWebDriver(driver).Build(); } else { perfectoExecutionContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder() .WithProject(new Project("My Project", "1.0")) .WithWebDriver(driver).Build(); } reportiumClient = PerfectoClientFactory.CreatePerfectoReportiumClient(perfectoExecutionContext); reportiumClient.TestStart(TestContext.TestName, new Reportium.Test.TestContext("native", "android")); }
public void PerfectoOpenConnection() { DesiredCapabilities capabilities = new DesiredCapabilities(string.Empty, string.Empty, new Platform(PlatformType.Any)); var host = "myHost.perfectomobile.com"; var token = "myToken"; //var user = "******"; //var password = "******" capabilities.SetCapability("securityToken", token); //capabilities.SetCapability("user", user); //capabilities.SetCapability("password", password); //OPTIONAL: Provide your device ID //capabilities.SetCapability("deviceName", "[ENTER YOUR DEVICE ID HERE]"); // Use this method if you want the script to share the devices with the Perfecto Lab plugin. capabilities.SetPerfectoLabExecutionId(host); // Use the automationName capability to defined the required framework - Appium (this is the default) or PerfectoMobile. //capabilities.SetCapability("automationName", "PerfectoMobile"); // Application settings examples. // capabilities.SetCapability("app", "PRIVATE:applications/Errands.ipa"); // For Android: //capabilities.SetCapability("appPackage", "com.google.android.keep"); //capabilities.SetCapability("appActivity", ".activities.BrowseActivity"); // For iOS: // capabilities.SetCapability("bundleId", "com.yoctoville.errands"); // Add a persona to your script (see https://community.perfectomobile.com/posts/1048047-available-personas) //capabilities.SetCapability(WindTunnelUtils.WIND_TUNNEL_PERSONA_CAPABILITY, WindTunnelUtils.GEORGIA); // Name your script // capabilities.SetCapability("scriptName", "AppiumTest"); var url = new Uri(string.Format("http://{0}/nexperience/perfectomobile/wd/hub", host)); driver = new AndroidDriver <IWebElement>(url, capabilities); //driver = new IOSDriver<IWebElement>(url, capabilities); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(15)); // Reporting client. For more details, see http://developers.perfectomobile.com/display/PD/Reporting PerfectoExecutionContext perfectoExecutionContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder() .withProject(new Project("My Project", "1.0")) .withJob(new Job("My Job", 45)) .withContextTags(new[] { "tag1" }) .withWebDriver(driver) .build(); reportiumClient = PerfectoClientFactory.createPerfectoReportiumClient(perfectoExecutionContext); }
private static ReportiumClient CreateReportingClient() { PerfectoExecutionContext perfectoExecutionContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder() .withProject(new Project("My first project", "v1.0")) //optional .withContextTags(new[] { "tag1", "tag2", "tag3" }) //optional .withJob(new Job("Job name", 12345)) //optional .withWebDriver(driver) .build(); return(PerfectoClientFactory.createPerfectoReportiumClient(perfectoExecutionContext)); }
/// <summary> /// Initialize ReportiumClient with perfecto execution context. /// </summary> /// <returns> PerfectoReportiumClient object </returns> private static ReportiumClient clientCreator() { PerfectoExecutionContext perfectoExecutionContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder() .withProject(new Project("My project", "2.1")) //optional .withContextTags(new[] { "Tag", "Tag2", "c#" }) //optional .withJob(new Job("Job name", 12345)) //optional .withWebDriver(driver) .build(); return(PerfectoClientFactory.createPerfectoReportiumClient(perfectoExecutionContext)); }
/// <summary> /// Initialize ReportiumClient with perfecto execution context. /// </summary> /// <returns> PerfectoReportiumClient object </returns> private static ReportiumClient clientCreator() { PerfectoExecutionContext perfectoExecutionContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder() .WithProject(new Project("My project", "2.1")) //optional .WithContextTags(new[] { "sample tag1", "sample tag2", "c#" }) //optional .WithCustomFields(new[] { new CustomField("tester", "john") }) //optional .WithJob(new Job("Job name", 12345, "master")) //optional .WithWebDriver(driver) .Build(); return(PerfectoClientFactory.CreatePerfectoReportiumClient(perfectoExecutionContext)); }
public void PerfectoOpenConnection() { DesiredCapabilities capabilities = new DesiredCapabilities(string.Empty, string.Empty, new Platform(PlatformType.Any)); var host = "[ENTER YOUR CQ LAB NAME HERE]"; capabilities.SetCapability("user", "[ENTER YOUR USER NAME HERE]"); //TODO: Provide your password or security token capabilities.SetCapability("user", "[ENTER YOUR PASSWORD HERE]"); //capabilities.SetCapability("securityToken", "[ENTER YOUR SECURITY TOKEN HERE]"); //TODO: Provide your device ID capabilities.SetCapability("platformName", "iOS"); // Use this method if you want the script to share the devices with the Perfecto Lab plugin. capabilities.SetPerfectoLabExecutionId(host); // Use the automationName capability to defined the required framework - Appium (this is the default) or PerfectoMobile. capabilities.SetCapability("automationName", "Appium"); // Application settings examples. // capabilities.SetCapability("app", "PRIVATE:applications/Errands.ipa"); // For Android: //capabilities.SetCapability("appPackage", "com.google.android.keep"); //capabilities.SetCapability("appActivity", ".activities.BrowseActivity"); // For iOS: // capabilities.SetCapability("bundleId", "com.yoctoville.errands"); // Name your script capabilities.SetCapability("scriptName", "ImageInjection"); var url = new Uri(string.Format("http://{0}/nexperience/perfectomobile/wd/hub", host)); //driver = new AndroidDriver<IWebElement>(url, capabilities); driver = new IOSDriver <IWebElement>(url, capabilities); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(15)); // Reporting client. For more details, see http://developers.perfectomobile.com/display/PD/Reporting PerfectoExecutionContext perfectoExecutionContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder() .withProject(new Project("C# Training", "1.0")) .withJob(new Job("My Job", 45)) .withContextTags(new[] { "imageInject", "assignment", "c#" }) .withWebDriver(driver) .build(); reportiumClient = PerfectoClientFactory.createPerfectoReportiumClient(perfectoExecutionContext); }
public void PerfectoOpenConnection() { DesiredCapabilities capabilities = new DesiredCapabilities(string.Empty, string.Empty, new Platform(PlatformType.Any)); var host = "[ENTER YOUR CQ LAB NAME HERE]"; capabilities.SetCapability("user", "[ENTER YOUR USER NAME HERE]"); //TODO: Provide your password capabilities.SetCapability("password", "[ENTER YOUR PASSWORD HERE]"); //TODO: Provide your device selection criteria capabilities.SetCapability("platformName", "Android"); // Use this method if you want the script to share the devices with the Perfecto Lab plugin. capabilities.SetPerfectoLabExecutionId(host); // Use the automationName capability to defined the required framework - Appium (this is the default) or PerfectoMobile. //capabilities.SetCapability("automationName", "PerfectoMobile"); // Application settings examples. // capabilities.SetCapability("app", "PRIVATE:applications/Errands.ipa"); // For Android: //capabilities.SetCapability("appPackage", "com.google.android.keep"); //capabilities.SetCapability("appActivity", ".activities.BrowseActivity"); // For iOS: // capabilities.SetCapability("bundleId", "com.yoctoville.errands"); // Name your script capabilities.SetCapability("scriptName", "Audio Search"); var url = new Uri(string.Format("https://{0}/nexperience/perfectomobile/wd/hub", host)); driver = new AndroidDriver <IWebElement>(url, capabilities); //driver = new IOSDriver<IWebElement>(url, capabilities); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(15)); // prepare the DigitalZoom Reporting client. for more information see https://developers.perfectomobile.com/pages/viewpage.action?pageId=12419423 // Create the PerfectoExecutionContext instance to provide the Execution Test Report metadata PerfectoExecutionContext peContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder() .withContextTags(new[] { "sample tag1", "you tube exercise", "c#" }) .withWebDriver(driver) .build(); reportClient = PerfectoClientFactory.createPerfectoReportiumClient(peContext); }
public void PerfectoOpenConnection() { var host = "myHost.perfectomobile.com"; var token = "myToken"; DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.SetCapability("securityToken", token); //TODO: Set the Web Machine configuration, - these capabilities may be copied from the Launch dialogue capabilities.SetCapability("platformName", "Windows"); capabilities.SetCapability("platformVersion", "10"); capabilities.SetCapability("browserName", "Chrome"); // browserVersion may be a specific version number or "beta" or "latest" (always the latest version) capabilities.SetCapability("browserVersion", "latest"); capabilities.SetCapability("resolution", "1366x768"); // location - default may be configured by the site administrator capabilities.SetCapability("location", "US East"); capabilities.SetPerfectoLabExecutionId(host); // Name your script // capabilities.SetCapability("scriptName", "RemoteWebDriverTest"); var url = new Uri(string.Format("http://{0}/nexperience/perfectomobile/wd/hub/fast", host)); driver = new RemoteWebDriver(url, capabilities); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(15)); // Reporting client. For more details, see http://developers.perfectomobile.com/display/PD/Reporting PerfectoExecutionContext perfectoExecutionContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder() .withProject(new Project("My Project", "1.0")) .withJob(new Job("My Job", 45)) .withContextTags(new[] { "tag1" }) .withWebDriver(driver) .build(); reportiumClient = PerfectoClientFactory.createPerfectoReportiumClient(perfectoExecutionContext); }
public void PerfectoOpenConnection() { var browserName = "mobileOS"; var host = "[ENTER YOUR CQ LAB NAME HERE]"; DesiredCapabilities capabilities = new DesiredCapabilities(browserName, string.Empty, new Platform(PlatformType.Any)); capabilities.SetCapability("user", "[ENTER YOUR USER NAME HERE]"); //TODO: Provide your password or security token capabilities.SetCapability("password", "[ENTER YOUR PASSWORD HERE]"); //capabilities.SetCapability("securityToken", "[ENTER YOUR SECURITY TOKEN HERE]"); //TODO: Provide your device selection criteria capabilities.SetCapability("platformName", "Android"); //capabilities.SetCapability("deviceName", "84B7N16102002974"); capabilities.SetCapability("automationName", "Appium"); os = "Android"; capabilities.SetPerfectoLabExecutionId(host); // Name your script capabilities.SetCapability("scriptName", "Location assignment"); var url = new Uri(string.Format("http://{0}/nexperience/perfectomobile/wd/hub", host)); driver = new RemoteWebDriverExtended(new HttpAuthenticatedCommandExecutor(url), capabilities); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(15)); // Reporting client. For more details, see http://developers.perfectomobile.com/display/PD/Reporting PerfectoExecutionContext perfectoExecutionContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder() .withProject(new Project("My Project", "1.0")) .withJob(new Job("My Job", 45)) .withContextTags(new[] { "sample tag1", "location assignment", "c#" }) .withWebDriver(driver) .build(); reportiumClient = PerfectoClientFactory.createPerfectoReportiumClient(perfectoExecutionContext); }
public void PerfectoOpenConnection() { var browserName = "mobileOS"; var host = "myHost.perfectomobile.com"; var token = "myToken"; //var user = "******"; //var password = "******"; DesiredCapabilities capabilities = new DesiredCapabilities(browserName, string.Empty, new Platform(PlatformType.Any)); capabilities.SetCapability("securityToken", token); //capabilities.SetCapability("user", user); //capabilities.SetCapability("password", password); capabilities.SetPerfectoLabExecutionId(host); // Name your script // capabilities.SetCapability("scriptName", "RemoteWebDriverTest"); var url = new Uri(string.Format("http://{0}/nexperience/perfectomobile/wd/hub", host)); driver = new RemoteWebDriver(url, capabilities); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(15)); // Reporting client. For more details, see http://developers.perfectomobile.com/display/PD/Reporting PerfectoExecutionContext perfectoExecutionContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder() .withProject(new Project("My Project", "1.0")) .withJob(new Job("My Job", 45)) .withContextTags(new[] { "tag1" }) .withWebDriver(driver) .build(); reportiumClient = PerfectoClientFactory.createPerfectoReportiumClient(perfectoExecutionContext); }
public void AndroidTest() { DesiredCapabilities capabilities = new DesiredCapabilities(); // 1. Replace <<cloud name>> with your perfecto cloud name (e.g. demo is the cloudName of demo.perfectomobile.com). String cloudName = "<<cloud name>>"; // 2. Replace <<security token>> with your perfecto security token. String securityToken = "<<security token>>"; capabilities.SetCapability("securityToken", securityToken); // 3. Set web capabilities. capabilities.SetCapability("platformName", "Android"); capabilities.SetCapability("model", "Galaxy S.*"); capabilities.SetCapability("browserName", "Chrome"); capabilities.SetCapability("useAppiumForWeb", true); capabilities.SetCapability("openDeviceTimeout", 5); // Initialize the driver RemoteWebDriver driver = new RemoteWebDriver( new Uri("https://" + cloudName.Replace(".perfectomobile.com", "") + ".perfectomobile.com/nexperience/perfectomobile/wd/hub"), capabilities); // Setting implicit wait driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5); PerfectoExecutionContext perfectoExecutionContext; if (System.Environment.GetEnvironmentVariable("jobName") != null) { perfectoExecutionContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder() .WithProject(new Project("My Project", "1.0")) .WithJob(new Job(System.Environment.GetEnvironmentVariable("jobName"), int.Parse(System.Environment.GetEnvironmentVariable("jobNumber")))) .WithWebDriver(driver).Build(); } else { perfectoExecutionContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder() .WithProject(new Project("My Project", "1.0")) .WithWebDriver(driver).Build(); } ReportiumClient reportiumClient = PerfectoClientFactory.CreatePerfectoReportiumClient(perfectoExecutionContext); reportiumClient.TestStart("Selenium C# Android Sample", new Reportium.Test.TestContext("selenium", "android")); try { WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30)); String search = "perfectomobile"; reportiumClient.StepStart("Navigate to Google"); Dictionary <String, Object> pars = new Dictionary <String, Object>(); driver.Url = "https://www.google.com"; reportiumClient.StepEnd(); reportiumClient.StepStart("Search for Perfecto"); IWebElement searchbox = wait.Until(ExpectedConditions.ElementToBeClickable(driver.FindElement(By.XPath("//*[@name='q']")))); searchbox.SendKeys(search); searchbox.SendKeys(Keys.Enter); reportiumClient.StepEnd(); reportiumClient.StepStart("Verify Title"); String expectedText = "perfectomobile - Google Search"; Console.WriteLine(driver.Title); // Adding assertions to the Execution Report. This method will not fail the test reportiumClient.ReportiumAssert(expectedText, driver.Title.Contains(expectedText)); reportiumClient.StepEnd(); reportiumClient.TestStop(TestResultFactory.CreateSuccess()); } catch (Exception e) { reportiumClient.TestStop(TestResultFactory.CreateFailure(e)); } // Prints the Smart Reporting URL String reportURL = reportiumClient.GetReportUrl(); Console.WriteLine("Report url - " + reportURL); // Quits the driver driver.Quit(); }