public void ConfigureDriver(TestContext context, ScenarioContext scenario) { context.VideoWebConfig.TestConfig.TargetBrowser = DriverManager.GetTargetBrowser(NUnit.Framework.TestContext.Parameters["TargetBrowser"]); context.VideoWebConfig.TestConfig.TargetBrowserVersion = NUnit.Framework.TestContext.Parameters["TargetBrowserVersion"]; context.VideoWebConfig.TestConfig.TargetDevice = DriverManager.GetTargetDevice(NUnit.Framework.TestContext.Parameters["TargetDevice"]); context.VideoWebConfig.TestConfig.TargetDeviceName = NUnit.Framework.TestContext.Parameters["TargetDeviceName"]; context.VideoWebConfig.TestConfig.TargetOS = DriverManager.GetTargetOS(NUnit.Framework.TestContext.Parameters["TargetOS"]); var driverOptions = new DriverOptions() { TargetBrowser = context.VideoWebConfig.TestConfig.TargetBrowser, TargetBrowserVersion = context.VideoWebConfig.TestConfig.TargetBrowserVersion, TargetDevice = context.VideoWebConfig.TestConfig.TargetDevice, TargetOS = context.VideoWebConfig.TestConfig.TargetOS, HeadlessMode = context.ZapConfiguration.HeadlessMode }; var sauceLabsOptions = new SauceLabsOptions() { EnableLogging = false, Name = scenario.ScenarioInfo.Title }; OpenQA.Selenium.Proxy proxy = null; if (Zap.SetupProxy) { proxy = new OpenQA.Selenium.Proxy(); var proxySetting = $"{context.ZapConfiguration.ApiAddress}:{context.ZapConfiguration.ApiPort}"; proxy.HttpProxy = proxySetting; proxy.SslProxy = proxySetting; } context.Driver = new DriverSetup(context.VideoWebConfig.SauceLabsConfiguration, driverOptions, sauceLabsOptions, proxy); }
protected ChromeOptions GetOptions(ISetting setting) { var options = new ChromeOptions(); var browserSetting = setting as BrowserSetting; if (browserSetting?.Remote == true) { options.AddAdditionalCapability("version", browserSetting.RemoteVersion, true); options.AddAdditionalCapability("enableVNC", true, true); options.AddAdditionalCapability("platform", "ANY", true); } options.AddArguments("--no-sandbox"); options.AddArgument("--disable-dev-shm-usage"); if (browserSetting.Headless == true) { options.AddArguments("--headless"); } options.AddArguments("--disable-gpu"); if (browserSetting.Authentication != null) { var proxy = new OpenQA.Selenium.Proxy(); int localPort = _proxyServer.Value.AddEndpoint(browserSetting.Authentication); proxy.HttpProxy = $"127.0.0.1:{localPort}"; options.Proxy = proxy; options.AddArgument($"--proxy-server=127.0.0.1:{localPort}"); } return(options); }
/// <summary> /// Creates the proxy object of the selenium webDriver. /// </summary> /// <param name="proxyPort">proxy port that will be used by the proxy.</param> /// <returns>returns the proxy object.</returns> public static OpenQA.Selenium.Proxy CreateProxy(string proxyPort) { var proxy = new OpenQA.Selenium.Proxy { SslProxy = $"localhost:{proxyPort}", HttpProxy = $"localhost:{proxyPort}", }; return(proxy); }
public void test() { var seleniumProxy = new Proxy { HttpProxy = "localhost:8877", SslProxy = "localhost:8877" }; var option = new FirefoxOptions { Proxy = seleniumProxy }; var slenium = new FirefoxDriver(option); const FiddlerCoreStartupFlags fiddlerStartUpFlags = FiddlerCoreStartupFlags.DecryptSSL & FiddlerCoreStartupFlags.AllowRemoteClients & FiddlerCoreStartupFlags.CaptureFTP & FiddlerCoreStartupFlags.ChainToUpstreamGateway & FiddlerCoreStartupFlags.MonitorAllConnections & FiddlerCoreStartupFlags.CaptureLocalhostTraffic; FiddlerApplication.Prefs.SetStringPref("fiddler.config.path.makecert", @"d:\..\Makecert.exe"); //To define the MakeCert.exe path manually. FiddlerApplication.Prefs.SetBoolPref("fiddler.network.streaming.abortifclientaborts", true); //Abort session when client abort FiddlerApplication.Startup(8877, fiddlerStartUpFlags); FiddlerApplication.AfterSessionComplete += delegate(Session targetSession) { Console.WriteLine("{0}\t{1}", targetSession.responseCode, targetSession.fullUrl); }; slenium.Navigate().GoToUrl("http://google.com"); FiddlerApplication.oProxy.PurgeServerPipePool();//Run this between tests to make sure the new test will start "clean" slenium.Quit(); }