我正在用Selenium + C#编写测试,我遇到了一个重要问题,因为当我使用安全连接(HTTPS)测试我的网站时,我没有找到解决方案。我在stackoverflow上找到的所有解决方案都已过期或无效。我尝试从下面的问题中运用所有解决方案:Selenium Why setting acceptuntrustedcertificates to true for firefox driver doesn't work?
但它们并没有帮助我解决问题,也不是使用夜间FireFox的解决方案。不过,当selenium加载Firfox浏览器时,我看到页面:“你的连接不安全”。
组态:
我的代码是:
FirefoxOptions options = new FirefoxOptions();
FirefoxProfile profile = new FirefoxProfile();
profile.AcceptUntrustedCertificates = true;
profile.AssumeUntrustedCertificateIssuer = false;
options.Profile = profile;
driver = new FirefoxDriver(FirefoxDriverService.CreateDefaultService() , options , TimeSpan.FromSeconds(5));
Drivers.Add(Browsers.Firefox.ToString() , driver);
谢谢您帮忙!
这里更新我的问题:
注1:对于将我的问题标记为此问题的副本的任何人:
Firefox selenium webdriver gives “Insecure Connection”我认为这是同一个问题,但我需要C#的解决方案,我尝试将你的JAVA代码与上面的代码相匹配
首先,我将以下声明更改为TRUE:
profile.AssumeUntrustedCertificateIssuer = true;
第二,我创建了新的FF配置文件(“AutomationTestsProfile”)并尝试使用它:
试试1:
FirefoxProfile profile = new FirefoxProfileManager().GetProfile("AutomationTestsProfile");
尝试2:
FirefoxProfile profile = new FirefoxProfile("AutomationTestsProfile");
我运行2个选项,但问题仍然存在。
注意2:我附上了我的问题的截图,当驱动程序尝试在登录页面上输入文本到用户名时出现。
我注意到当我用FF打开我的网站时,Firefox会在地址栏中显示一个带有红色透视红色删除线图标的锁定图标,
但在用户名文本框附近不会出现msg:
“此连接不安全。此处输入的登录信息可能会受到损害。了解更多信息”(正如您在复制问题上写的那样),
那么也许有一个不同的问题呢?
您正在配置文件中设置属性。 FirefoxOptions具有属性AcceptInsecureCertificates,将其设置为true。
忘记个人资料,这就是你想要的:
var op = new FirefoxOptions
{
AcceptInsecureCertificates = true
};
Instance = new FirefoxDriver(op);
我的环境:
赢7
firefox 61.0.2(64位)
Selenium C#webdriver:3.14.0
gecko driver-V0.21.0-win32.zip
==============================
FirefoxOptions options = new FirefoxOptions();
options.BrowserExecutableLocation = @“C:\ Program Files \ Mozilla Firefox \ firefox.exe”;
options.AcceptInsecureCertificates = true;
新的FirefoxDriver(RelativePath,options);