/// <summary>
        /// Create a NeoLoad instance to the webDriver.
        /// In Design mode, project in parameter will be opened and the userPath in parameter will be created or updated if it is already present in opened project.
        /// In EndUserExperience mode, the userPath in parameter will be added to the path of entries sent to NeoLoad.
        /// </summary>
        /// <param name="webDriver">an instance of a WebDriver as ChromeDriver or FirefoxDriver.</param>
        /// <param name="userPath">the name of the UserPath.</param>
        /// <param name="projectPath">the path of the project to open in NeoLoad.</param>
        /// <param name="paramBuilderProvider">ParamBuilderProvider class can be overridden in order to update parameters.</param>
        public static NLWebDriver NewNLWebDriver(IWebDriver webDriver, string userPath, string projectPath,
                                                 ParamBuilderProvider paramBuilderProvider)
        {
            Mode mode = ModeHelper.getMode();
            INeoLoadInterceptor interceptor;

            switch (mode)
            {
            case Mode.END_USER_EXPERIENCE:
                ICapabilities capabilitites = null;
                if (webDriver is IHasCapabilities)
                {
                    capabilitites = (webDriver as IHasCapabilities).Capabilities;
                }
                var eueConf = ConfigurationHelper.newEUEConfiguration(webDriver.GetType().Name, userPath, capabilitites);
                interceptor = new WebDriverEUEInterceptor(webDriver, eueConf);
                break;

            case Mode.DESIGN:
                var designConf = ConfigurationHelper.newDesignConfiguration(userPath, projectPath);
                interceptor = new WebDriverDesignInterceptor(designConf, paramBuilderProvider);
                break;

            case Mode.NO_API:
            default:
                interceptor = new NoOpInterceptor();
                break;
            }
            interceptor.DoOnStart();
            return(new NLWebDriver(webDriver, interceptor));
        }
 public DesignManager(DesignConfiguration config, ParamBuilderProvider paramBuilderProvider)
 {
     this.designApiClient      = newDesignAPIClientFromConfig(config);
     this.projectPath          = config.ProjectPath;
     this.userPathName         = validateUserPathName(config.UserPathName);
     this.paramBuilderProvider = paramBuilderProvider;
 }
Esempio n. 3
0
        private NeoloadApi()
        {
            this.paramBuilderProvider = new ParamBuilderProvider();
            string globalMode = null;

            try
            {
                globalMode = TestSuite.Current.Parameters[OPT_RANOREX_NEOLOAD_MODE];
            }
            catch (Exception e)
            {
                // Do nothing
            }

            if (!String.IsNullOrEmpty(globalMode))
            {
                _mode = (Mode)Enum.Parse(typeof(Mode), globalMode.ToUpper());
            }
            else
            {
                _mode = ModeHelper.getPropertyValue(OPT_RANOREX_NEOLOAD_MODE, Mode.NO_API);
            }
        }
 public WebDriverDesignInterceptor(DesignConfiguration config, ParamBuilderProvider paramBuilderProvider)
 {
     this.designManager = new DesignManager(config, paramBuilderProvider);
 }