1

我是Selenium Web驅動程序的新手,並將其與Java結合使用。如何在Internet Explorer中爲硒web驅動程序發出ssl證書錯誤

我能夠啓動一個應用程序,但我得到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"); 

    } 

}

在此先感謝。

回答

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"); 
0

面臨着同樣的問題,我解決了這臺機器上加入目標SSL證書到IE信任的證書,其中測試執行。 這解決了本地開發機器和網格執行(導入的證書)

此precentes證書撤消警告顯示在IE上。

-2

我確實由settings.Try 工具 - > Internet選項 - >高級 - >設置 - >安全下取消選中更改解決這個問題「警告如果安全和不安全模式之間切換」 並重新啓動IE瀏覽器。