public DesignManager(DesignConfiguration config, ParamBuilderProvider paramBuilderProvider)
 {
     this.designApiClient      = newDesignAPIClientFromConfig(config);
     this.projectPath          = config.ProjectPath;
     this.userPathName         = validateUserPathName(config.UserPathName);
     this.paramBuilderProvider = paramBuilderProvider;
 }
        /// <summary>
        ///  If the design mode is chosen then the driver will use NeoLoad as Proxy.
        /// </summary>
        /// <param name="capabilities">capabilities to modify</param>
        /// <returns>modified capabilities</returns>
        public static DesiredCapabilities AddProxyCapabilitiesIfNecessary(DesiredCapabilities capabilities)
        {
            if (!Mode.DESIGN.Equals(ModeHelper.getMode()))
            {
                return(capabilities);
            }

            DesignConfiguration conf = ConfigurationHelper.newDesignConfiguration(null, null);
            string host = getDomainName(conf.DesignAPIUrl);
            int    port;

            try
            {
                port = DesignManager.newDesignAPIClientFromConfig(conf).GetRecorderSettings().ProxySettings.Port;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                throw e;
            }
            string proxyString = host + ":" + port;

            Proxy proxy = new Proxy();

            proxy.HttpProxy = proxyString;
            proxy.SslProxy  = proxyString;

            capabilities.SetCapability(CapabilityType.Proxy, proxy);
            capabilities.SetCapability(CapabilityType.AcceptSslCertificates, true);
            return(capabilities);
        }
 public static IDesignAPIClient newDesignAPIClientFromConfig(DesignConfiguration config)
 {
     if (config.ApiKey != null && config.ApiKey != "")
     {
         return(DesignAPIClientFactory.NewClient(config.DesignAPIUrl, config.ApiKey));
     }
     return(DesignAPIClientFactory.NewClient(config.DesignAPIUrl));
 }
 public WebDriverDesignInterceptor(DesignConfiguration config, ParamBuilderProvider paramBuilderProvider)
 {
     this.designManager = new DesignManager(config, paramBuilderProvider);
 }