selenium testcase使用IE浏览器失败,而它与chrome和firefox一起工作正常

时间:2014-12-17 07:34:34

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

当我在 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

解决此类问题

4 个答案:

答案 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 /点击问题。