コード例 #1
0
        /// <summary>
        /// Returns DesiredCapabilities for Edge with these options included as
        /// capabilities. This copies the options. Further changes will not be
        /// reflected in the returned capabilities.
        /// </summary>
        /// <returns>The DesiredCapabilities for Edge with these options.</returns>
        public override ICapabilities ToCapabilities()
        {
            if (!this.isLegacy)
            {
                return(base.ToCapabilities());
            }

            IWritableCapabilities capabilities = this.GenerateDesiredCapabilities(true);

            if (this.useInPrivateBrowsing)
            {
                capabilities.SetCapability(UseInPrivateBrowsingCapability, true);
            }

            if (!string.IsNullOrEmpty(this.startPage))
            {
                capabilities.SetCapability(StartPageCapability, this.startPage);
            }

            if (this.extensionPaths.Count > 0)
            {
                capabilities.SetCapability(ExtensionPathsCapability, this.extensionPaths);
            }

            return(capabilities.AsReadOnly());
        }
コード例 #2
0
        /// <summary>
        /// Returns DesiredCapabilities for Firefox with these options included as
        /// capabilities. This does not copy the options. Further changes will be
        /// reflected in the returned capabilities.
        /// </summary>
        /// <returns>The DesiredCapabilities for Firefox with these options.</returns>
        public override ICapabilities ToCapabilities()
        {
            IWritableCapabilities       capabilities   = GenerateDesiredCapabilities(true);
            Dictionary <string, object> firefoxOptions = this.GenerateFirefoxOptionsDictionary();

            capabilities.SetCapability(FirefoxOptionsCapability, firefoxOptions);

            return(capabilities.AsReadOnly());
        }
コード例 #3
0
        /// <summary>
        /// Returns DesiredCapabilities for IE with these options included as
        /// capabilities. This copies the options. Further changes will not be
        /// reflected in the returned capabilities.
        /// </summary>
        /// <returns>The DesiredCapabilities for IE with these options.</returns>
        public override ICapabilities ToCapabilities()
        {
            IWritableCapabilities capabilities = this.GenerateDesiredCapabilities(true);

            Dictionary <string, object> internetExplorerOptions = this.BuildInternetExplorerOptionsDictionary();

            capabilities.SetCapability(InternetExplorerOptions.Capability, internetExplorerOptions);

            return(capabilities.AsReadOnly());
        }
コード例 #4
0
        /// <summary>
        /// Returns DesiredCapabilities for Opera with these options included as
        /// capabilities. This does not copy the options. Further changes will be
        /// reflected in the returned capabilities.
        /// </summary>
        /// <returns>The DesiredCapabilities for Opera with these options.</returns>
        public override ICapabilities ToCapabilities()
        {
            Dictionary <string, object> operaOptions = this.BuildOperaOptionsDictionary();

            IWritableCapabilities capabilities = this.GenerateDesiredCapabilities(false);

            capabilities.SetCapability(OperaOptions.Capability, operaOptions);

            // Should return capabilities.AsReadOnly(), and will in a future release.
            return(capabilities.AsReadOnly());
        }
コード例 #5
0
        /// <summary>
        /// Returns ICapabilities for Safari with these options included as
        /// capabilities. This copies the options. Further changes will not be
        /// reflected in the returned capabilities.
        /// </summary>
        /// <returns>The ICapabilities for Safari with these options.</returns>
        public override ICapabilities ToCapabilities()
        {
            IWritableCapabilities capabilities = this.GenerateDesiredCapabilities(true);

            if (this.enableAutomaticInspection)
            {
                capabilities.SetCapability(EnableAutomaticInspectionSafariOption, true);
            }

            if (this.enableAutomaticProfiling)
            {
                capabilities.SetCapability(EnableAutomticProfilingSafariOption, true);
            }

            return(capabilities.AsReadOnly());
        }
コード例 #6
0
        /// <summary>
        /// Returns DesiredCapabilities for Chrome with these options included as
        /// capabilities. This does not copy the options. Further changes will be
        /// reflected in the returned capabilities.
        /// </summary>
        /// <returns>The DesiredCapabilities for Chrome with these options.</returns>
        public override ICapabilities ToCapabilities()
        {
            Dictionary <string, object> chromeOptions = this.BuildChromeOptionsDictionary();

            IWritableCapabilities capabilities = this.GenerateDesiredCapabilities(false);

            capabilities.SetCapability(ChromeOptions.Capability, chromeOptions);

            Dictionary <string, object> loggingPreferences = this.GenerateLoggingPreferencesDictionary();

            if (loggingPreferences != null)
            {
                capabilities.SetCapability(CapabilityType.LoggingPreferences, loggingPreferences);
            }

            return(capabilities.AsReadOnly());
        }
コード例 #7
0
        /// <summary>
        /// Returns DesiredCapabilities for Chromium with these options included as
        /// capabilities. This does not copy the options. Further changes will be
        /// reflected in the returned capabilities.
        /// </summary>
        /// <returns>The DesiredCapabilities for Chrome with these options.</returns>
        public override ICapabilities ToCapabilities()
        {
            Dictionary <string, object> chromeOptions = this.BuildChromeOptionsDictionary();

            IWritableCapabilities capabilities = this.GenerateDesiredCapabilities(false);

            capabilities.SetCapability(this.CapabilityName, chromeOptions);

            AddVendorSpecificChromiumCapabilities(capabilities);

            Dictionary <string, object> loggingPreferences = this.GenerateLoggingPreferencesDictionary();

            if (loggingPreferences != null)
            {
                capabilities.SetCapability(LoggingPreferencesChromeOption, loggingPreferences);
            }

            return(capabilities.AsReadOnly());
        }
コード例 #8
0
        /// <summary>
        /// Returns ICapabilities for Safari with these options included as
        /// capabilities. This copies the options. Further changes will not be
        /// reflected in the returned capabilities.
        /// </summary>
        /// <returns>The ICapabilities for Safari with these options.</returns>
        public override ICapabilities ToCapabilities()
        {
            if (this.isTechnologyPreview)
            {
                this.BrowserName = TechPreviewBrowserNameValue;
            }

            IWritableCapabilities capabilities = this.GenerateDesiredCapabilities(true);

            if (this.enableAutomaticInspection)
            {
                capabilities.SetCapability(EnableAutomaticInspectionSafariOption, true);
            }

            if (this.enableAutomaticProfiling)
            {
                capabilities.SetCapability(EnableAutomticProfilingSafariOption, true);
            }

            return(capabilities.AsReadOnly());
        }
コード例 #9
0
        private ICapabilities ToLegacyCapabilities()
        {
            IWritableCapabilities capabilities = this.GenerateDesiredCapabilities(true);

            capabilities.SetCapability(EdgeOptions.UseChromiumCapability, this.useChromium);

            if (this.useInPrivateBrowsing)
            {
                capabilities.SetCapability(UseInPrivateBrowsingCapability, true);
            }

            if (!string.IsNullOrEmpty(this.startPage))
            {
                capabilities.SetCapability(StartPageCapability, this.startPage);
            }

            if (this.extensionPaths.Count > 0)
            {
                capabilities.SetCapability(ExtensionPathsCapability, this.extensionPaths);
            }

            return(capabilities.AsReadOnly());
        }
コード例 #10
0
 /// <summary>
 /// Adds vendor-specific capabilities for Chromium-based browsers.
 /// </summary>
 /// <param name="capabilities">The capabilities to add.</param>
 protected override void AddVendorSpecificChromiumCapabilities(IWritableCapabilities capabilities)
 {
     capabilities.SetCapability(EdgeOptions.UseChromiumCapability, this.useChromium);
 }
コード例 #11
0
 protected virtual void AddVendorSpecificChromiumCapabilities(IWritableCapabilities capabilities)
 {
 }