我正在对我的代码运行一些单元测试,为此我必须下载selenium服务器。现在,selenium包含的一个示例称为GoogleTest。我将其复制到我的C:\文件夹中,并尝试运行它。
起初,我在尝试打开firefox时出错。selenium似乎已经有很长一段时间没有更新了,因为它支持直到Firefox 3.5版本。找到了对我有帮助的this帮助博客(将3.5.*改为7.0.*)。
现在,我有了一个新问题。似乎selenium也没有更新它的文档,而且GoogleTest在执行时会挂起(this post解释了原因)。当使用AJAX类型的操作时,操作waitForPageToLoad挂起。
现在,我需要一个与此操作等效的操作,但在处理AJAX操作时..有谁知道另一种选择吗?谢谢
发布于 2011-11-01 07:38:40
你有没有试过用QAF formerly ISFW?它在内部等待元素,并为js工具包(如dojo、extjs、prototype等)提供等待ajax完成的功能。
例如,如果AUT使用extjs,则可以使用like
waitService.waitForAjaxToComplete(JsToolkit.EXTJS);
发布于 2011-10-31 22:13:16
在Selenium中不需要等待There返回函数。处理AJAX更改的方法是使用WebDriverWait
类等待特定条件在AJAX调用返回时变为真。
例如,对于Google测试,WebDriverWait
可以等待搜索容器出现。
本质上,你必须知道你在等待什么才能继续测试。
发布于 2011-11-01 08:08:19
我正在测试一些ajax和JS繁重的页面,我一直面临着完全相同的问题。我使用隐式等待来暂停ajax代码的执行,并将新内容加载到DOM。下面是我的代码中的python示例:
from selenium import webdriver
browserHandle = webdriver.Firefox()
browserHandle.implicitly_wait(10)
## assuming dom object loads in 10 seconds
## clear implicit wait
browserHandle.implicitly_wait(0)
https://stackoverflow.com/questions/7923033
复制相似问题