Selenium (WebDriver)无法看到richfaces模态面板



我在尝试测试RichFaces模态面板内的元素时遇到了一些问题在RichFaces的演示页面中

问题是,一旦检索到一个元素,我不能与它交互,因为WebDriver抛出一个ElementNotVisibleException。

我用firebug检查它,它看起来是灰色的,因为一些div的高度和宽度设置为0。

我试图手动设置所有div的高度和大小,看看它是否改变,但没有办法使它工作,所以我想一定有别的东西影响模态面板的可见性,但找不到什么。

有没有人测试过webdriver或selenium对richfaces面板?

提前感谢。

编辑:对于代码,这里太多了,但基本上我改编了etsy网站的jbehave教程(使用spring注入依赖项的教程),可以在这里找到。

架构正在使用一个PropertyWebDriverProvider,它是由maven属性配置的,可以使用InternetExplorer或Firefox,并且正在使用PageObject模式(所有的页面都从WebDriverPage扩展)。

对于特定的代码,来自JimEvans的代码给出了相同的错误。

下面的代码似乎适用于我使用您在您的问题中链接到的演示网站。它获取模态面板的文本内容,然后单击"按钮"关闭面板。

public void testPanel() {
  WebDriver driver = new InternetExplorerDriver();
  driver.get("http://livedemo.exadel.com/richfaces-demo/richfaces/modalPanel.jsf?c=modalPanel");
  WebElement panelShow = driver.findElement(By.id("j_id352:link"));
  panelShow.click();
  WebElement panel = driver.findElement(By.id("j_id352:panelCDiv"));
  WebElement panelTextElement = panel.findElement(By.className("rich-mpnl-body"));
  System.out.println(panelTextElement.getText());
  WebElement panelCloseButton = panel.findElement(By.id("j_id352:hidelink"));
  panelCloseButton.click();
}

我找到的唯一解决方案是通过webdriver与javascript进行所有交互

相关内容

  • 没有找到相关文章

最新更新