我是Selenium Web驱动程序的新手,并将其与Java一起使用。
我可以启动应用程序,但收到SSL证书错误,请让我知道如何解决此问题。
我实际上正在学习它,并且需要在我的工作中实施,如果我能克服这一点将非常有帮助。
我正在使用以下代码:
公共课程Test1 {
private static InternetExplorerDriver driver;
@Before
public void beforeclass ()
{
System.setProperty("webdriver.ie.driver", "C:\\My Folder\\selenium-2.33.0\\IEDriverServer.exe");
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
capabilities.setJavascriptEnabled(true);
driver = new InternetExplorerDriver(capabilities);
}
@Test
public void Test() throws Exception
{
driver.get("www.gmail.com");
driver.getTitle();
driver.getCurrentUrl();
System.out.println(driver.getCurrentUrl());
driver.findElement(By.name("username")).sendKeys("Admin1");
driver.findElement(By.name("password")).sendKeys("Password2");
}
@After
public void afterclass()
{
System.out.println("webdriver");
}
}
提前致谢。
最佳答案
我不认为有一种适当设置方法。我想CapabilityType.ACCEPT_SSL_CERTS
不适用于IE,Selenium旨在忽略特定浏览器的无效功能,并且不会引发异常。
这是一种解决方法,您可以单击链接“继续浏览此网站(不推荐)”。绕过它。
尝试
// check if your driver is IEDriver and driver's Title contains "Certificate"
// then
driver.navigate().to("javascript:document.getElementById('overridelink').click()");
driver.findElement(By.name("username")).sendKeys("Admin1");
driver.findElement(By.name("password")).sendKeys("Password2");