public static void beforeFeature() { var desiredCaps = new AppiumOptions { PlatformName = "Android" // PlatformName = "iOS" }; //Credentials from setting file named properties desiredCaps.AddAdditionalCapability("user", PerfectoUser); desiredCaps.AddAdditionalCapability("securityToken", PerfectoToken); desiredCaps.AddAdditionalCapability("platformName", "Android"); desiredCaps.AddAdditionalCapability("model", "Galaxy S6"); Uri url = new Uri(string.Format("http://{0}/nexperience/perfectomobile/wd/hub/fast", PerfectoHost)); if (desiredCaps.ToCapabilities().GetCapability("platformName").Equals("Android")) { driver = new AndroidDriver <IWebElement>(url, desiredCaps); } else { driver = new IOSDriver <IWebElement>(url, desiredCaps); } driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(15); reportingClient = CreateReportingClient(); }
public static void beforeClass(Microsoft.VisualStudio.TestTools.UnitTesting.TestContext testContextInstance) { DesiredCapabilities capabilities = new DesiredCapabilities(); //Provide your Perfecto lab user and pass //capabilities.SetCapability("user", PERFECTO_USER); capabilities.SetCapability("securityToken", PERFECTO_TOKEN); //Provide your desired device capabilities capabilities.SetCapability("platformName", "Android"); //capabilities.SetCapability("platformVersion", "platformVersion"); //capabilities.SetCapability("manufacturer", "manufacturer"); //capabilities.SetCapability("model", "model"); //capabilities.SetCapability("location", "location"); //capabilities.SetCapability("resolution", "resolution"); //capabilities.SetCapability("description", "description"); //Create RemoteWebDriver var url = new Uri(string.Format("http://{0}/nexperience/perfectomobile/wd/hub/fast", PERFECTO_HOST)); driver = new RemoteWebDriver(url, capabilities); driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(15); //Initialize Reportium Client reportiumClient = CreateReportingClient(); }
public static void beforeClass(TestContext testContextInstance) { DesiredCapabilities capabilities = new DesiredCapabilities(); //Provide your Perfecto lab user and pass capabilities.SetCapability("user", PERFECTO_USER); capabilities.SetCapability("password", PERFECTO_PASS); //Provide your desired device capabilities capabilities.SetCapability("platformName", "Android"); //capabilities.SetCapability("platformVersion", "platformVersion"); //capabilities.SetCapability("manufacturer", "manufacturer"); //capabilities.SetCapability("model", "model"); //capabilities.SetCapability("location", "location"); //capabilities.SetCapability("resolution", "resolution"); //capabilities.SetCapability("description", "description"); //Create RemoteWebDriver var url = new Uri(string.Format("http://{0}/nexperience/perfectomobile/wd/hub", PERFECTO_HOST)); driver = new RemoteWebDriverExtended(new HttpAuthenticatedCommandExecutor(url), capabilities); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(15)); //Initialize Reportium Client reportiumClient = CreateReportingClient(); }
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 static void beforeFeature() { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.SetCapability("user", PerfectoUser); capabilities.SetCapability("password", PerfectoPass); capabilities.SetCapability("platformName", "Android"); capabilities.SetCapability("model", "Galaxy S6"); //capabilities.SetCapability("platformVersion", ""); //capabilities.SetCapability("browserName", ""); //capabilities.SetCapability("deviceName", ""); var url = new Uri(string.Format("http://{0}/nexperience/perfectomobile/wd/hub", PerfectoHost)); if (capabilities.GetCapability("platformName").Equals("Android")) { driver = new AndroidDriver <IWebElement>(url, capabilities); } else { driver = new IOSDriver <IWebElement>(url, capabilities); } reportingClient = CreateReportingClient(); }
private void setup(string prop) { mainProperties = new Properties("main.prop"); testProperties = new Properties(prop); loadLocators(getTestProp(testProp.configurationDirectory)); loadProperties(getTestProp(testProp.configurationDirectory)); host = getMainProp(mainProp.host); user = (getMainProp(mainProp.user)); password = getMainProp(mainProp.pass); os = (getTestProp(testProp.os) == "") ? null : getTestProp(testProp.os); version = (getTestProp(testProp.version) == "") ? null : getTestProp(testProp.version); manufacturer = (getTestProp(testProp.manufacturer) == "") ? null : getTestProp(testProp.manufacturer); automationName = (getTestProp(testProp.automationName) == "") ? null : getTestProp(testProp.automationName); model = (getTestProp(testProp.model) == "") ? null : getTestProp(testProp.model); browser = (getTestProp(testProp.browser) == "") ? null : getTestProp(testProp.browser); deviceID = (getTestProp(testProp.deviceid) == "") ? "" : getTestProp(testProp.deviceid); snapshotDirectory = (getMainProp(mainProp.snapshotDirectory) == "") ? null : getMainProp(mainProp.snapshotDirectory); reportDirectory = (getMainProp(mainProp.reportDirectory) == "") ? null : getMainProp(mainProp.reportDirectory); waitTime = (getMainProp(mainProp.waitTime) == "") ? 0 : int.Parse(getMainProp(mainProp.waitTime)); description = (getTestProp(testProp.description) == "") ? "" : getTestProp(testProp.description); connectLab(); CreateReportingClient(driver); reportiumClient = CreateReportingClient(driver); reportiumClient.testStart("iPhoneSearch", new Reportium.test.TestContextTags()); }
public void setup(string prop) { mainProperties = new Properties("main.prop"); testProperties = new Properties(prop); loadLocators(); loadProperties(); host = getMainProp(mainProp.host); user = (getMainProp(mainProp.user)); password = getMainProp(mainProp.pass); type = getTestProp(testProp.type); os = (getTestProp(testProp.os) == "") ? null : getTestProp(testProp.os); version = (getTestProp(testProp.version) == "") ? null : getTestProp(testProp.version); manufacturer = (getTestProp(testProp.manufacturer) == "") ? null : getTestProp(testProp.manufacturer); model = (getTestProp(testProp.model) == "") ? null : getTestProp(testProp.model); browser = (getTestProp(testProp.browser) == "") ? null : getTestProp(testProp.browser); deviceID = (getTestProp(testProp.deviceid) == "") ? "" : getTestProp(testProp.deviceid); testType = (getTestProp(testProp.testType) == "") ? null : getTestProp(testProp.testType); applicationName = (getTestProp(testProp.applicationName) == "") ? null : getTestProp(testProp.applicationName); repositoryKey = (getTestProp(testProp.repositoryKey) == "") ? null : getTestProp(testProp.repositoryKey); uploadLocation = (getTestProp(testProp.uploadLocation) == "") ? null : getTestProp(testProp.uploadLocation); snapshotDirectory = (getMainProp(mainProp.snapshotDirectory) == "") ? null : getMainProp(mainProp.snapshotDirectory); attachmentDirectory = (getMainProp(mainProp.attachmentDirectory) == "") ? null : getMainProp(mainProp.attachmentDirectory); reportDirectory = (getMainProp(mainProp.reportDirectory) == "") ? null : getMainProp(mainProp.reportDirectory); overwriteUpload = (getTestProp(testProp.overwriteUpload) == "") ? false : bool.Parse(getTestProp(testProp.overwriteUpload)); waitTime = (getMainProp(mainProp.waitTime) == "") ? 0 : int.Parse(getMainProp(mainProp.waitTime)); description = (getTestProp(testProp.description) == "") ? "" : getTestProp(testProp.description); if (getTestProp(testProp.webInstrument) == "true") { webInstrument = RemoteWebDriverExtended.webInstrument.instrument; } else if (getTestProp(testProp.webInstrument) == "false") { webInstrument = RemoteWebDriverExtended.webInstrument.noinstrument; } if (getTestProp(testProp.sensorInstrument) == "true") { sensorInstrument = RemoteWebDriverExtended.sensorInstrument.sensor; } else if (getTestProp(testProp.sensorInstrument) == "false") { sensorInstrument = RemoteWebDriverExtended.sensorInstrument.nosensor; } connectLab(); CreateReportingClient(driver); reportiumClient = CreateReportingClient(driver); reportiumClient.testStart("iPhoneSearch", new Reportium.test.TestContextTags()); if (os == "Android" && testType == "Web") { driver.cleanApplication("chrome"); } }
public static void beforeFeature() { TestRunLocation = TestContext.CurrentContext.TestDirectory; BaseProjectPath = Path.GetFullPath(Path.Combine(TestRunLocation, @"..\..\..\")); SensitiveInformation.GetHostAndCredentials(BaseProjectPath, out PerfectoHost, out PerfectoUser, out PerfectoPass); ParameterRetriever testParams = new ParameterRetriever(); PerfectoTestingParameters = testParams.GetVSOExecParam(BaseProjectPath, false); CurrentDevice = PerfectoTestingParameters.Devices.FirstOrDefault(); if (string.IsNullOrEmpty(CurrentDevice.DeviceDetails.RunIdentifier)) { CurrentDevice.DeviceDetails.RunIdentifier = string.Format("{0:yyyy-MM-dd_hh-mm-ss-tt}", DateTime.Now); } CheckForValidDeviceConfiguration(); var browserName = "mobileOS"; if (CurrentDevice.DeviceDetails.IsDesktopBrowser) { browserName = CurrentDevice.DeviceDetails.BrowserName; } DesiredCapabilities capabilities = new DesiredCapabilities(browserName, string.Empty, new Platform(PlatformType.Any)); capabilities.SetCapability("user", PerfectoUser); capabilities.SetCapability("password", PerfectoPass); capabilities.SetCapability("newCommandTimeout", "120"); capabilities.SetCapability("scriptName", "Parallel-SpecFlow-Web"); CheckForValidConfiguration(); var url = new Uri(string.Format("http://{0}/nexperience/perfectomobile/wd/hub", PerfectoHost)); if (CurrentDevice.DeviceDetails.IsDesktopBrowser) { capabilities.SetCapability("platformName", CurrentDevice.DeviceDetails.OS); capabilities.SetCapability("platformVersion", CurrentDevice.DeviceDetails.OSVersion); capabilities.SetCapability("browserName", CurrentDevice.DeviceDetails.BrowserName); capabilities.SetCapability("resolution", "1366x768"); capabilities.SetCapability("version", CurrentDevice.DeviceDetails.BrowserVersion); } else { capabilities.SetCapability("deviceName", CurrentDevice.DeviceDetails.DeviceID); //capabilities.SetCapability("windTunnelPersona", "Georgia"); } driver = new RemoteWebDriverExtended(url, capabilities, new TimeSpan(0, 2, 0)); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(15)); reportingClient = CreateReportingClient(); }
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); }
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 static void beforeFeature() { TestRunLocation = TestContext.CurrentContext.TestDirectory; BaseProjectPath = Path.GetFullPath(Path.Combine(TestRunLocation, @"..\..\..\")); SensitiveInformation.GetHostAndCredentials(BaseProjectPath, out PerfectoHost, out PerfectoUser, out PerfectoPass); ParameterRetriever testParams = new ParameterRetriever(); PerfectoTestingParameters = testParams.GetVSOExecParam(BaseProjectPath, false); CurrentDevice = PerfectoTestingParameters.Devices.FirstOrDefault(); if (string.IsNullOrEmpty(CurrentDevice.DeviceDetails.RunIdentifier)) { CurrentDevice.DeviceDetails.RunIdentifier = string.Format("{0:yyyy-MM-dd_hh-mm-ss-tt}", DateTime.Now); } CheckForValidDeviceConfiguration(); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.SetCapability("user", PerfectoUser); capabilities.SetCapability("password", PerfectoPass); capabilities.SetCapability("platformName", CurrentDevice.DeviceDetails.OS); capabilities.SetCapability("deviceName", CurrentDevice.DeviceDetails.DeviceID); capabilities.SetCapability("windTunnelPersona", "Georgia"); capabilities.SetCapability("scriptName", "Parallel-SpecFlow-Native"); var url = new Uri(string.Format("http://{0}/nexperience/perfectomobile/wd/hub", PerfectoHost)); if (capabilities.GetCapability("platformName").Equals("Android")) { driver = new AndroidDriver <IWebElement>(url, capabilities); } else { driver = new IOSDriver <IWebElement>(url, capabilities); } driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(15)); reportingClient = CreateReportingClient(); }
public void OneTimeSetUp() { //DesiredCapabilities capabilities = new DesiredCapabilities(browserName, string.Empty, new Platform(PlatformType.Any)); DesiredCapabilities capabilities = new DesiredCapabilities(); //Provide your Perfecto lab user and pass capabilities.SetCapability("user", PERFECTO_USER); capabilities.SetCapability("password", PERFECTO_PASS); //Device capabilities capabilities.SetCapability("platformName", "Android"); //Create RemoteWebDriver var url = new Uri(string.Format("http://{0}/nexperience/perfectomobile/wd/hub", PERFECTO_HOST)); driver = new RemoteWebDriverExtended(new HttpAuthenticatedCommandExecutor(url), capabilities); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(15)); //Initialize driver reportiumClient = clientCreator(); }
public void OneTimeSetUp() { //DesiredCapabilities capabilities = new DesiredCapabilities(browserName, string.Empty, new Platform(PlatformType.Any)); DesiredCapabilities capabilities = new DesiredCapabilities(); //Provide your Perfecto lab user and pass //capabilities.SetCapability("user", PERFECTO_USER); capabilities.SetCapability("securityToken", PERFECTO_TOKEN); //Device capabilities capabilities.SetCapability("platformName", "Android"); //Create RemoteWebDriver var url = new Uri(string.Format("http://{0}/nexperience/perfectomobile/wd/hub/fast", PERFECTO_HOST)); driver = new RemoteWebDriver(url, capabilities); driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(15); //Initialize driver reportiumClient = clientCreator(); }
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 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 = "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(); }