使用Selenium webdriver for Internet Explorer。测试不会运行

时间:2015-01-13 07:34:46

标签: java eclipse internet-explorer selenium selenium-webdriver

我目前正在使用Selenium webdriver for IE(IEDriverServer.exe)扩展我的测试以覆盖Internet Explorer。

我的问题是,当我使用IE webdriver执行测试时。当我运行测试时,Internet Explorer webdriver打开,我可以输入地址,但是当涉及到实际执行其余脚本时(例如,输入链接,按下各种按钮等),测试会因超时而崩溃。

注意:测试按照Chrome和Firefox上的预期执行。

编辑:

    try {           
driver.findElement(By.id("topmenuImg")).click();        
}       
    catch (NoSuchElementException ex) {             
JOptionPane.showMessageDialog(null, "Not possible");        
}

2 个答案:

答案 0 :(得分:1)

IE Selenium

使用所需功能并禁用IE浏览器中的protection mode

// Tomcat:apache-tomcat-7.0.37\webapps\ROOT\iedriver32\IEDriverServer.exe

String dreiverFromServer = "http://localhost:8088/iedriver32/IEDriverServer.exe"
File ietmp = File.createTempFile("iedriver", null).setExecutable(true);
FileUtils.copyURLToFile(new URL( dreiverFromServer ), ietmp);
System.setProperty("webdriver.ie.driver", ietmp.getAbsolutePath());
                     (OR)
System.setProperty("webdriver.ie.driver", "D:\\iedriver64\\IEDriverServer.exe");

DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
ieCapabilities.setCapability("ensureCleanSession", true);
ieCapabilities.setCapability("ignoreZoomSetting", true);
ieCapabilities.setCapability("ignoreProtectedModeSettings", true);
ieCapabilities.setCapability("ignore-certificate-error", true);
ieCapabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);

driver = new InternetExplorerDriver(ieCapabilities);

enter image description here

IE 11 to set a registry entry on the target computer so that driver can maintain a connection

答案 1 :(得分:1)

当你在火狐中运行测试时,Internet Explorer很慢,因为firefox搜索非常快,添加适当的等待并增加时间来定位对象,将时间增加到2分钟= 120秒

C#示例是

InternetExplorerDriver driver = new InternetExplorerDriver(@"c:\path", options, TimeSpan.FromMinutes(2));