|
最近在用selenium webdriver在做自动化测试,现在遇到了元素需要等待和页面加载等待问题。
我测试的系统经常会新开一些窗口(switchToWindow("xxx")),然后在新开窗口里面的某个frame里面( swithToFrame("xxx") )找元素,然后系统有时很慢,要么就是找不到window(NoSuchWindowException),要么找不到frame,抛出org.openqa.selenium.NoSuchFrameException: No frame found异常。我想在新开窗口时候等待页面加载完成再进入frame,代码如下:
public static void switchToDocNewInWindow(){
Utilities.CommonMethod.waitForPageLoad(driver);
driver.switchTo().window(NEW_DOCUMENT_WINDOW_LOCATION);
}
或者是直接在case里面加一句:
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
上面方法都是不可行,经常是没有等待到指定时间就抛出找不到frame异常。
各位大虾,有知道解决方案的麻烦告诉我下吧:)
有没有等待窗口加载或者frame出现了再操作的api呢? |
|