隐式等待后使用机器人键时无效。如果我使用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);
}
答案 0 :(得分:0)
您正在混合两个完全不同的测试驱动程序。 Selenium Webdriver和java.awt.Robot
这不是一个好主意。 driver
对象对robot
对象一无所知,反之亦然。这意味着在驱动程序上调用隐式等待根本不会影响机器人对象。
另外,请注意java.awt.Robot
在主要坐标系中构造一个Robot对象 屏幕。
您的案例中的主屏幕很可能不是驱动程序对象操作的浏览器窗口。这就是为什么似乎没有发生的事情。