网页会话输出问题(从应用程序注销) - WebDriver-Java

时间:2017-07-20 10:38:47

标签: java selenium-webdriver

我们的应用程序会在没有按预期执行15分钟的动作/交互(空闲)时进行会话(以我们的应用程序开发的方式)

但是,My Automated脚本继续使用selenium - web驱动程序,这里应用程序获取会话并认为没有执行任何操作,但实际上脚本正在执行操作。

以下是我尝试过的方法 -

  1. 捕获会话弹出和刷新浏览器的定位器,这不适合我,因为以前的数据/操作得到刷新(清理)
  2. 当显示会话输出弹出窗口时,使用像selenium命令SendKeys(Keys.ESCAPE / ENTER)但不能正常工作
  3. 使用过的机器人类工作正常,但在我的情况下不适合
  4. 请提供任何其他解决方案以避免会话问题

    注意:当自动脚本执行时将光标移动到当前网页可能会解决问题,如果java中的任何代码用于游标到机器人类/键/鼠标模拟以外的网页< / p>

1 个答案:

答案 0 :(得分:0)

如果Robot适合你,那么WebDriver的Action类也可以为你工作。

在这里,我正在尝试移动到一个元素,使页面按照元素的可见性向上或向下滚动。

我希望这会对你有帮助..

public class TestCursorMove {

public static void main(String[] args) {
    String baseUrl = "http://newtours.demoaut.com/";
    System.setProperty("webdriver.firefox.marionette","C:\\geckodriver.exe");
            WebDriver driver = new FirefoxDriver();

            driver.get(baseUrl);           
            WebElement link_Home = driver.findElement(By.linkText("Home"));
            WebElement td_Home = driver
                    .findElement(By
                    .xpath("//html/body/div"
                    + "/table/tbody/tr/td"
                    + "/table/tbody/tr/td"
                    + "/table/tbody/tr/td"
                    + "/table/tbody/tr"));    

            Actions builder = new Actions(driver);
            Action mouseOverHome = builder
                    .moveToElement(link_Home)
                    .build();

            String bgColor = td_Home.getCssValue("background-color");
            System.out.println("Before hover: " + bgColor);        
            mouseOverHome.perform();        
            bgColor = td_Home.getCssValue("background-color");
            System.out.println("After hover: " + bgColor);
            driver.close();
    }

}