Как заставить Selenium и Geckodriver игнорировать небезопасную локально обслуживаемую веб-страницу при локальном выполнении

У меня есть последний geckodriver (0.18.0) и веб-драйвер (3.5.1.0). Я запускаю тесты Selenium локально и удаленно. Когда я запускаю свои тесты удаленно на HTTPS-сайте, они работают нормально.

Я использую следующие ссылки:

using NUnit.Framework;
using OpenQA.Selenium;
using System;
using OpenQA.Selenium.Firefox;
using Browser.Core.Framework.Resources;
using OpenQA.Selenium.Remote;
using System.Reflection;

Мой удаленный код, который работает:

DesiredCapabilities caps = null;

caps = FirefoxOptions.ToCapabilities() as DesiredCapabilities;
caps.SetCapability("acceptInsecureCerts", true);
if (FirefoxProfile != null)
{
caps.SetCapability(FirefoxDriver.ProfileCapabilityName, FirefoxProfile.ToBase64String());
}

caps.SetCapability(CapabilityType.Version, null);
caps.SetCapability(CapabilityType.Platform, null);

var buildNumber = Assembly.GetExecutingAssembly().GetName().Version.ToString();
caps.SetCapability("build", buildNumber);
caps.SetCapability("name", TestContext.CurrentContext.Test.Name);

Console.WriteLine("http://10.32.26.16:8888/wd/hub");

IWebDriver driver = new RemoteWebDriver(new Uri("http://10.32.26.16:8888/wd/hub"), caps, TimeSpan.FromSeconds(30));
driver.Navigate().GoToUrl("https://rcpsc.releasecandidate-community360qa.net/login.aspx?action=enablelogin");

Когда я запускаю локально, я не могу обойти сообщение «Ваше соединение не защищено», которое выдает Firefox. Вот мой код для локального запуска, который не работает:

var service = FirefoxDriverService.CreateDefaultService(@"C:\seleniumdrivers", "geckodriver.exe");
service.FirefoxBinaryPath = @"C:\Program Files (x86)\Mozilla Firefox\firefox.exe";

var options = new FirefoxOptions();
options.Profile = new BaseFirefoxProfile();

IWebDriver driver = new FirefoxDriver(service, options, TimeSpan.FromSeconds(30000));
driver.Navigate().GoToUrl("https://rcpsc.releasecandidate-community360qa.net/login.aspx?action=enablelogin");

Вот пользовательский профиль firefox, на который ссылаются:

public class BaseFirefoxProfile : FirefoxProfile
{
    public BaseFirefoxProfile()
        : base()
    {
        AcceptUntrustedCertificates = true;
    }
}

При локальном запуске я получаю сообщение «Ваше соединение не защищено», и тест не проходит. Когда я отлаживаю и просматриваю профиль firefox, он говорит, что AcceptUntrustedCertificates правильно установлен в true, но он не работает


person Mike Johnston    schedule 13.09.2017    source источник
comment
Вероятно, вы можете найти ответ здесь: stackoverflow.com/questions/42583795/   -  person Devin L.    schedule 14.09.2017
comment
Это ссылка на GitHub, в котором есть проблема, которая закрыта, но поток не указывает, что она решена. Должен быть обходной путь или исправление.   -  person Mike Johnston    schedule 14.09.2017