0

当我在硒模式下使用 webrat 时visit,按预期快速返回。没问题。

我试图断言我的样式得到了正确应用(通过查看不同元素的背景图像)。我可以通过 JS 获取这些信息,但在我的测试期间似乎没有加载和/或应用样式表。

我看到您可以“等待”元素出现,但我不知道如何等待所有样式都被应用。我可以进行一般的延迟,但这似乎是内置的片状或缓慢,我试图避免这种情况。

显然,因为我知道我在寻找什么风格,所以我可以等待它们出现。我会写一个这样的助手,但我在想可能已经有一个我没见过的更通用的机制。

有没有一种简单的方法可以检测到页面真的真的“准备好了”?

4

2 回答 2

2

那很奇怪。我知道 wait_for_page_to_load 等待整个页面,包括样式表。

如果您仍然认为它没有按应有的方式等待,您可以使用 wait_for_condition 执行 javascript 并等待它返回 true。这是一个例子:

    @selenium.wait_for_condition "selenium.browserbot.getCurrentWindow().document.body.style.backgroundColor == 'white'", "60000"
于 2009-08-29T04:42:01.057 回答
0

当一个页面报告加载时,我们遇到了这个问题,即使 Cold Fusion 部分仍在访问数据库以显示信息。随后的处理将很快发生。

查看 Selenium API 中的抽象 Wait 类。您可以编写自己的自定义 until() 子句来测试某些文本是否出现、文本消失(如果浮动消息在加载完成后消失)或您可以测试的任何其他事件硒曲目。API 页面甚至有一个很好的示例,可以帮助您进行设置。

于 2009-09-16T15:55:37.323 回答