2

我是 Selenium Web 驱动程序的新手,并将其与 Java 一起使用。

我能够启动一个应用程序,但我收到 SSL 证书错误,谁能告诉我如何解决这个问题。我实际上正在学习它并且需要在我的工作中实施,如果我能克服这将非常有帮助。

我正在使用以下代码: public class 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");

   }

}

提前致谢。

4

3 回答 3

1

我不认为有办法正确设置它。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");
于 2013-07-17T21:24:15.207 回答
0

面对同样的问题,我解决了在执行测试的机器上将目标 ssl 证书添加到 IE 受信任证书的问题。这在本地开发机器和网格执行中都得到了解决。(在那里导入的证书)

这预先将证书吊销警告显示在 IE 上。

于 2013-12-05T12:41:32.320 回答
-3

我确实通过更改设置解决了这个问题。尝试工具-> Internet 选项-> 高级-> 设置-> 在安全下取消选中“在安全模式和非安全模式之间切换时发出警告”并重新启动 IE。

于 2015-10-03T20:11:58.730 回答