我想运行一个selenium测试,检查当单击旧页面中的按钮时它是否导航到新页面。然后我想测试当单击新页面中的按钮时它是否导航回旧页面。
当我点击第一页上的按钮并检查新页面上的按钮元素是否出现时,测试工作正常。但是,当我使用selenium点击第二页上的按钮元素并检查第一页上的按钮元素是否已经出现时,它无法在第一页上找到按钮元素,尽管我使用相同的按钮元素去第一次第二页,我可以看到第一页被加载。我尝试使用以下等待声明:
waitForPageToLoad()
waitForTextPresent("", "text on first page")
waitForElementPresent("" , //path to first button element)
WebElement element = (new WebDriverWait(driver, 10)).until(ExpectedConditions.elementToBeClickable(By.xpath("path to first button elment")));
尽管在首次初始化页面时找到了相同的元素,但上述等待语句都不起作用。
答案 0 :(得分:2)
意识到第一次刷新第一页时我必须首先执行driver.switchTo()。frame(driver.findElement(By.xpath(" iframe的路径")),因为应用程序是在iframe里面。所以它第二次找不到元素,除非我第一次切换到内部的iframe。