代码之家  ›  专栏  ›  技术社区  ›  Bozho

selenium在dom更新后找不到组件(rerender)

  •  4
  • Bozho  · 技术社区  · 15 年前

    我正在用selenium测试richfaces应用程序。很好,除非我用 reRender . (对于那些不熟悉richfaces的人来说——每当ajax请求完成时,dom的一部分就会被更新/更改/删除)。

    所以,之后 重定向器 硒(至少是IDE)无法定位位于重新提交区域内的元素。firebug和webdeveloper都会找到元素,在“view source”上,元素就在那里。

    那么,有没有办法告诉selenium用最新的更改更新其dom“知识”?

    Firefox3.5.6,Selenium IDE的最新版本。

    2 回复  |  直到 14 年前
        1
  •  2
  •   T Bryan    14 年前

    我使用的是在ubuntu linux上运行的fifefox 3.6.8、selenium ide 1.0.7和richfaces3.3.1。我没有这个问题。

    我有一个简单的表单,其中单选按钮的选择会触发a:outputpanel的重发。最初,面板是空的。如果选择了“右”单选按钮,则满足渲染条件,并使用其子组件重新呈现面板。我能够设置waitforcondition来查找将显示为面板子元素的元素id,并且能够在子元素出现后验证它们。当我在firefox中右键单击时,selenium ide正确地标识了这些子元素。

        2
  •  1
  •   AutomatedTester    15 年前

    selenium不保存dom的缓存版本。它不能,因为它使用javascript并且所有javascript dom查询总是 live .

    你用什么来寻找元素?如果使用的是xpath/css选择器,则xpath可能不再有效,或者css选择器可能不正确。