我目前正在使用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");
}
答案 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);
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));