隐式等待后使用机器人键时无效

时间:2017-11-16 11:01:22

标签: java selenium-webdriver

隐式等待后使用机器人键时无效。如果我使用thread.sleep而不是隐式睡眠相同的代码工作正常。但是使用thread.sleep不是最佳做法。所以给我一个解决这个问题的方法。

searchbox.sendKeys(sFirstName);
driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
Utils.keyEnter();

Utils包中的代码是:

public static void keyEnter() throws Exception
{
    Robot r = new Robot();
    r.keyPress(KeyEvent.VK_ENTER);
    r.keyRelease(KeyEvent.VK_ENTER);
}

1 个答案:

答案 0 :(得分:0)

您正在混合两个完全不同的测试驱动程序。 Selenium Webdriver和java.awt.Robot这不是一个好主意。 driver对象对robot对象一无所知,反之亦然。这意味着在驱动程序上调用隐式等待根本不会影响机器人对象。

另外,请注意java.awt.Robot

上的空构造函数
  

在主要坐标系中构造一个Robot对象   屏幕。

您的案例中的主屏幕很可能不是驱动程序对象操作的浏览器窗口。这就是为什么似乎没有发生的事情。