У меня есть последний 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, но он не работает