当我在 Internet Explorer 上执行测试用例(Selenium WebDriver + Java)时,我遇到异常" unhandledAlertException "和测试用例在Chrome和Firefox浏览器正常工作时失败。还有类似的问题:有时它点击元素并相应地做出响应,有时它点击但没有响应相同的代码。
以下是一些代码,它们从哪里投掷" unhandledAlertException "
protected void clickOnElement(WebElement element)
{
if(isElementPresent(element))
{
if(getBrowserName().equalsIgnoreCase("internet explorer")){
element.sendKeys(Keys.ENTER);
wait(2000);
System.out.println("In IE clicked on element");
}else{
element.click();
}
implicitWait(Integer.parseInt(ConfigParser.getProperty("common_wait_timeout")));
}
}
现在通过从代码中删除隐式等待来解决unhandledAlertException 。 但有时IE中元素的无响应仍然存在。
如何通过 IE
解决此类问题答案 0 :(得分:0)
尝试在IE浏览器的代码中添加适当的等待条件。一般来说,IE不会很好地回应。另请查看IE中可能正在更改的元素ID。
答案 1 :(得分:0)
IE将始终存在selenium webdriver的问题。微软本身不维护像Chrome和FF那样的硒的IE驱动程序。你最好的机会是使用正确的等待。
答案 2 :(得分:0)
您使用的是哪个版本的IE?最新版本的IE与Selemium存在已知问题。我遇到了类似的问题,不得不切换回IE8。浏览器启动后你也得到了例外吗?提示:在IE选项下,确保在安全选项卡下启用了所有模式,并且缩放设置为100%。
希望这会有所帮助..祝你好运!
答案 3 :(得分:0)
if (browser.equalsIgnoreCase(IE)) {
System.setProperty("webdriver.ie.driver", getRootDir() + "/src/main/java/configuration/IEDriverServer.exe");
driver = new InternetExplorerDriver();
你必须下载IEDriverServer.exe并设置上面的路径,然后获取IE的驱动程序,它将正常工作,我希望你会遇到任何问题,如果它甚至IE 11 /点击问题。