示例#1
0
        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();
        }
示例#2
0
        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();
        }
示例#3
0
        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();
        }
示例#4
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);
        }
示例#5
0
        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();
        }
示例#6
0
        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());
        }
示例#7
0
        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();
        }
示例#9
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);
        }
示例#11
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);
        }
示例#12
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);
        }
示例#13
0
        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();
        }
示例#14
0
        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();
        }
示例#15
0
        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);
        }
示例#17
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        = "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);
        }
示例#19
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();
        }