zoukankan      html  css  js  c++  java
  • Selenium Web Driver [IE only] All web elements are frozen after logon

    [Environment]
    Selenium version: selenium-server-2.26.0
    OS: Windows 7 Ultimate (both 32 bit and 64 bit)
    Browser: IE 9 and IE8
    Browser version: IE9/8
    
    [Related Issue]
    Just a reference: This issue was found together with Issue4823 (http://code.google.com/p/selenium/issues/detail?id=4823). They may have some connections or not.
    
    
    [What steps will reproduce the problem]
    1. Use the following to create IE driver:
         --------------------------
            //Use IE driver
            File file = new File("E:/SW/Selenium/IEDriverServer32.exe");
            System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
            DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
            capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
            capabilities.setCapability("ignoreProtectedModeSettings",true);
            driver = new InternetExplorerDriver(capabilities);
            baseUrl = "http://10.1.3.12/";
            driver.manage().window().maximize();
            driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    
    2. Use following code to open Login page, input username and password:
         --------------------------
            driver.get(baseUrl);
            driver.findElement(By.id("username")).sendKeys("admin");
            driver.findElement(By.id("password")).sendKeys("admin");
    
    3. Use the following to click the Submit button to login.
         --------------------------
            driver.findElement(By.id("login_submit")).click();
    
    [What is the expected output]
         After click Submit, it can logon, and all the web elements still work in logged on UI.
    
    [What do you see instead]
         1. After click Submit button, it can logon. But all the UI elements in the logged on page are frozen. Click on any of them, no response.
         2. If use the following code to replace Steps 3 (i.e. driver.findElement(By.id("login_submit")).click()), after logon, all UI elements work as expected.
         --------------------------
            JavascriptExecutor js = (JavascriptExecutor) driver;
            js.executeScript("document.getElementById(\"login_submit\").click()",true);  
    
    [Additional Information]
    This issue does NOT occur on Firefox.

    Answer:
    if "UI elements in the logged on page are frozen" means "i can not interact with page manually" try set "enablePersistentHover" desired capabilities to false

    The whole code

    package com.example.tests;
    
    import java.io.File;
    import java.util.regex.Pattern;
    import java.util.concurrent.TimeUnit;
    import org.junit.*;
    import static org.junit.Assert.*;
    import static org.hamcrest.CoreMatchers.*;
    import org.openqa.selenium.*;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.openqa.selenium.ie.InternetExplorerDriver;
    import org.openqa.selenium.remote.DesiredCapabilities;
    import org.openqa.selenium.support.ui.Select;
    
    public class BenbriaSele01 {
        private WebDriver driver;
        private String baseUrl;
        private StringBuffer verificationErrors = new StringBuffer();
        @Before
        public void setUp() throws Exception {
            
            
            //Use IE driver
            File file = new File("E:/SW/Selenium/IEDriverServer32.exe");
            System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
            DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
            capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
            capabilities.setCapability("ignoreProtectedModeSettings",true);
            capabilities.setCapability("enablePersistentHover", false);
            driver = new InternetExplorerDriver(capabilities);
            
    
            
    //        //Use Firefox
    //        driver = new FirefoxDriver();
    
            
            baseUrl = "http://10.1.3.12/";
            driver.manage().window().maximize();
            driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
            
        }
    
        @Test
        public void testBenbriaSele01() throws Exception {
            driver.get(baseUrl);
            driver.findElement(By.id("username")).sendKeys("admin");
            driver.findElement(By.id("password")).sendKeys("admin");
            driver.findElement(By.id("login_submit")).click();
    //        JavascriptExecutor js = (JavascriptExecutor) driver;
    //        js.executeScript("document.getElementById(\"login_submit\").click()",true);
        }
    
    //    @After
    //    public void tearDown() throws Exception {
    //        driver.quit();
    //        String verificationErrorString = verificationErrors.toString();
    //        if (!"".equals(verificationErrorString)) {
    //            fail(verificationErrorString);
    //        }
    //        System.out.println("tearDown!");
    //    }
    
    }

    Done.
  • 相关阅读:
    MySQL行(记录)的详细操作一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理
    {MySQL完整性约束}一 介绍 二 not null与default 三 unique 四 primary key 五 auto_increment 六 foreign key 七 作业
    { MySQL基础数据类型}一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型
    MySQL的sql_mode模式说明及设置
    {MySQL存储引擎介绍}一 存储引擎解释 二 MySQL存储引擎分类 三 不同存储引擎的使用
    {MySQL的库、表的详细操作}一 库操作 二 表操作 三 行操作
    小爬爬2.数据解析
    小爬爬2:fiddler安装和了解fiddler
    小爬爬2.回顾
    小爬爬1.requests基础操作
  • 原文地址:https://www.cnblogs.com/backpacker/p/2791151.html
Copyright © 2011-2022 走看看