我遇到了很多人一样的问题,由于密码不安全警告我的测试用例没有运行Firefox。我尝试了很多来自Stackoverflow和Google的“解决方案”,但没有解决它,所以也许你可以帮助我!
我正在运行mvn,TestNg,并行测试以及所有使用grid和docker。我尝试的所有解决方案(Firefox配置文件,功能......等)导致远程驱动程序不再启动。
这是我的代码:
public void setUp(String myBrowser) throws MalformedURLException
{
driver = new RemoteWebDriver(newURL("http://0.0.0.0:4444/wd/hub"),getBrowserCapabilities(myBrowser));
}
private static DesiredCapabilities getBrowserCapabilities(String browserType)
{
DesiredCapabilities capabillities = null;
switch (browserType)
{
case "firefox":
System.out.println("Opening firefox driver");
capabillities=new DesiredCapabilities().firefox();
return capabillities;
case "chrome":
System.out.println("Opening chrome driver");
capabillities=new DesiredCapabilities().chrome();
return capabillities;
case "IE":
System.out.println("Opening IE driver");
capabillities=new DesiredCapabilities().internetExplorer();
return capabillities;
default:
System.out.println("browser : " + browserType + " is invalid, Launching Chrome as browser of choice..");
capabillities=new DesiredCapabilities().chrome();
return capabillities;
}
}
答案 0 :(得分:0)
您需要创建Firefox个人资料并将security.insecure_password.ui.enabled
设置为false
FirefoxProfile firefoxProfile=new FirefoxProfile();
firefoxProfile.setPreference("security.insecure_password.ui.enabled",false);
firefoxProfile.setPreference("security.insecure_field_warning.contextual.enabled",false);
WebDriver driver=new FirefoxDriver(firefoxProfile);
这将确保您没有收到警告
答案 1 :(得分:0)
好的,谢谢你们现在它的工作就像我想要:)我不确定为什么但是这个CodeSnippet警告不再出现了。在没有更多信息的情况下设置firefox配置文件。
capabillities = new DesiredCapabilities().firefox();
FirefoxProfile profile = new FirefoxProfile();
capabillities.setCapability(FirefoxDriver.PROFILE , profile);
return capabillities;
答案 2 :(得分:0)
我遇到了类似的问题。将以下代码添加到该功能中对我有用。
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("pdfjs.disabled", true);
profile.setPreference("security.insecure_password.ui.enabled", false);
profile.setPreference("security.insecure_field_warning.contextual.enabled", false);
capabilities.setCapability(FirefoxDriver.PROFILE, profile);