public void Setup()
 {
     AdditionalCapabilities = new AdditionalDriverOptions();
     //Setup Logs
     Resources.SetupFiles();//This goes as first line in TestSetup
     TestSetup();
 }
Esempio n. 2
0
        public void PassingNullObjectInIsNullDoesNotThrowAndReturnsFailedCheckTrueWhenFlagIsFalse()
        {
            AdditionalDriverOptions data = null;

            Assert.DoesNotThrow(() => Helper.IsNullOrEmpty(data, false), "Passing empty object should throw.");
            Assert.IsTrue(Helper.IsNullOrEmpty(data, false), "Check should have failed and returned true");
        }
Esempio n. 3
0
        public void OverridingBrowserNameInWebAppReplacesDefaultCapability()
        {
            TestEnvironmentParameters p = new TestEnvironmentParameters {
                RS_AppType     = ApplicationType.WEB,
                RS_BrowserName = MobileBrowserType.Safari,
                RS_DeviceGroup = "iOS;Tablet"
            };
            DriverCapabilities caps = new DriverCapabilities(p);

            Assert.AreEqual(MobileBrowserType.Safari, caps.GetDriverOptions().ToDictionary()[MobileCapabilityType.BrowserName], "Default browser name should be set as capability.");
            AdditionalDriverOptions additionalOptions = new AdditionalDriverOptions();

            additionalOptions.AddCapability(MobileCapabilityType.BrowserName, MobileBrowserType.Chrome);
            caps.SetAdditionalOptions(additionalOptions.GetCapabilities());
            Assert.AreEqual(MobileBrowserType.Chrome, caps.GetDriverOptions().ToDictionary()[MobileCapabilityType.BrowserName], "BrowserName capability should have been overridden.");
        }
        /// <summary>
        /// Merge additional capabilities supplied by the user
        /// along with the default capabilities. .see AdditionalDriverOptions
        /// </summary>
        /// <param name="options">.seealso AdditionalDriverOptions</param>
        public void MergeCapabilities(AdditionalDriverOptions options)
        {
            if (options == null)
            {
                return;
            }
            //Overriding RunSettings
            if (options.GetCapabilities().Any(k => k.Key.Contains("RS_")))
            {
                //Regenerate Driver Capabilities
                OverrideRunSettingsParams(options);
            }
            SetAdditionalOptions(options.GetCapabilities().Where(c => !c.Key.Contains("RS_")).ToDictionary(x => x.Key, x => x.Value));
            if (options.GetArguments().Count > 0)
            {
                SetArguments(options.GetArguments().ToArray());
            }

            PreReqChecks();
        }
Esempio n. 5
0
        public void SpecifyingParametersWithRS_PrefixOverridesRunSettingsParameters()
        {
            TestEnvironmentParameters p = new TestEnvironmentParameters {
                RS_AppType     = ApplicationType.WEB,
                RS_BrowserName = MobileBrowserType.Safari,
                RS_DeviceGroup = "iOS;Tablet"
            };
            DriverCapabilities caps = new DriverCapabilities(p);

            Assert.AreEqual(MobileBrowserType.Safari, caps.GetDriverOptions().ToDictionary()[MobileCapabilityType.BrowserName], "Default browser name should be set as capability.");

            AdditionalDriverOptions additionalOptions = new AdditionalDriverOptions();

            additionalOptions
            .AddCapability("RS_DeviceGroup", "Android;phone")
            .AddCapability("RS_BrowserName", "Chrome");
            caps.MergeCapabilities(additionalOptions);
            Assert.AreEqual(p.RS_DeviceGroup, "Android;phone", "Device Group value should be overridden");
            Assert.AreEqual(p.RS_BrowserName, "Chrome", "Browser Name should be overridden");
            Assert.AreNotEqual(ApplicationType.NATIVE, p.RS_AppType, "Application Type runsettings parameter should not be overridden");
        }
        private void OverrideRunSettingsParams(AdditionalDriverOptions driverOptions)
        {
            TestLogs.WriteLogSection("Overriding RunSettings",
                                     () => {
                foreach (KeyValuePair <string, object> runSetting in driverOptions.GetCapabilities().Where(k => k.Key.Contains("RS_")))
                {
                    System.Reflection.PropertyInfo contextProperty = this.context.GetType().GetProperty(runSetting.Key);
                    if (contextProperty != null && contextProperty.CanWrite)
                    {
                        if (contextProperty.PropertyType == typeof(ApplicationType))
                        {
                            contextProperty.SetValue(this.context, (ApplicationType)Enum.Parse(typeof(ApplicationType), runSetting.Value.ToString()));
                            isCapabilityRefreshNeeded = true;
                            continue;
                        }
                        contextProperty.SetValue(this.context, runSetting.Value);
                        isCapabilityRefreshNeeded = true;
                        TestLogs.Write($"Overriding RunSettings Key: [{runSetting.Key}], New Value = [{runSetting.Value}]");
                    }
                }
            });

            RefreshCapabilities();
        }
Esempio n. 7
0
        public void PassingEmptyObjectInIsNullOrEmptyThrows()
        {
            AdditionalDriverOptions data = new AdditionalDriverOptions();

            Assert.DoesNotThrow(() => Helper.IsNullOrEmpty(data), "Passing empty object should throw.");
        }