public void Start() { var iisSettings = new Settings(); var settings = new FreePort.Settings(iisSettings.Executable, iisSettings.Port) { Arguments = x => { var args = new[] { String.Format(CultureInfo.InvariantCulture, "/port:{0}", x.Port), String.Format(CultureInfo.InvariantCulture, @"/path:""{0}""", iisSettings.PathToWebApp), "/systray:false" }; return String.Join(" ", args); }, CheckStarted = p => { var standardOutput = new StringBuilder(); for (var line = 0; line < 4; line++) { standardOutput.AppendLine(p.StandardOutput.ReadLine()); } if (p.HasExited || standardOutput.ToString().IndexOf("fail", StringComparison.InvariantCultureIgnoreCase) != -1 || standardOutput.ToString().IndexOf("invalid", StringComparison.InvariantCultureIgnoreCase) != -1) { throw new IOException("Could not start IIS Express:\n" + standardOutput); } }, Started = (p, s) => Process = p }; _iisExpress = Launcher.Launch(settings); BaseUrl = string.Format(CultureInfo.InvariantCulture, "http://localhost:{0}", _iisExpress.Port); }
public void Start() { var chromeDriver = Path.Combine(Path.GetFullPath(ConfigurationManager.AppSettings["PathToChromeDriver"]), "chromedriver.exe"); var settings = new Settings(chromeDriver, DefaultPort) { Arguments = x => String.Format("--port={0}", x.Port), CheckStarted = p => { Thread.Sleep(StartTimeout); if (p.HasExited) { throw new Exception(String.Format("Chrome Driver died with exit code {0}", p.ExitCode)); } } }; _chromeDriver = Launcher.Launch(settings); BaseUrl = new Uri(string.Format(CultureInfo.InvariantCulture, "http://localhost:{0}", _chromeDriver.Port)); }