Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        /// <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));
        }
Esempio n. 6
0
        /// <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));
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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);
        }
Esempio n. 12
0
        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();
        }