2012-05-28 101 views

回答

2

对于在ajax上很重的页面来说,这是完全正确的,你可能必须对每个你调用的方法进行一些细粒度的调整,因为当一个ajax不会有一个明显的信号给Selenium方法完成(就像页面完成加载时一样)。

结账超时使用此:

http://seleniumhq.org/docs/04_webdriver_advanced.html

+0

的问题是,这是不可靠的。超时时间应该多久?如果测试机器加载并且比平时花费更长时间会发生什么情况? “clickAndWait”具有非常明确的行为,它只是等待,直到新页面加载。我更喜欢是否有某种“clickAndWaitUntilGlobalFinishFunctionCalled”。一个页面可以简单地尝试调用窗口[“continueTesting”]。如果它不是一个测试环境,那么这个功能就不会存在,也不会造成任何伤害。有这样的东西吗? –

+0

我可能会解释你的问题是错误的,但是如果你有一个js方法在页面完成所有未完成的ajax请求时触发(这是你所说的GlobalFinishFunction的意思吗?),你可以让该方法改变DOM中的一个元素一些预先确定的方式,并使用明确的等待(例如在链接下的示例中)来查找已更改的元素。 – silijon

+0

好的,谢谢!是的,那就是我的意思。如果使用元素是最好的方式,我想我可以忍受。 :) 再次感谢。 –

0

是的。它可以用来做到这一点。 如果允许您模拟按钮点击并等待加载结果。

您应该不会遇到单页应用程序的问题。

它具有记录你的步骤和测试用例的工具。试试看。即使是初学者也应该很容易。

相关问题