/// <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; }
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); }