1

我得到了某种测试污染。当我单独运行失败的测试时,它们通过了。当我一起运行它们时,我得到了错误。错误与数据库无关。我无法理解错误。例如:页面:

errorModule (wait: true) { module ErrorModule }

errorModule: 静态内容 = { 错误(必填:false){ $("h3.error") } }

规格:

assert page.errorModule

给出异常:org.openqa.selenium.NoSuchElementException:无法定位元素:{"method":"tag name","selector":"html"}

我不明白,因为模块的内容不是必需的。另外,另一个测试的污染会导致这种情况吗?我的测试太多了,无法列出。

我唯一的想法是不是由我的程序设置的 cookie。有一堆奇怪的名称,如“ba743b”、“kvcd”、“kn_ai”等,具有神秘的值,如“1361461306476”和“1.1361461306.1.1.utmcsr=(direct)|utmccn=(direct)| utmcmd=(无)”。有谁知道这些 cookie 可能来自哪里以及如何在测试结束时清除它们?这还重要吗?它们不是会话 cookie,它们有过期日期。我不知道如何删除这些我认为不是我的代码创建的 cookie。但这可能与此无关。

4

1 回答 1

0

你使用 Firefox 来执行你的测试吗?切换页面后是否发生错误?

如果是这样,那么当 Firefox 驱动程序返回控制权以测试代码同时仍在(重新)加载页面时,您可能会遇到错误。at()当标题为空字符串时,该错误有时也会出现在检查中。我倾向于在抛出异常的行之前添加对at()/的调用。verifyAt()这是一个肮脏的黑客,但我想不出更好的东西,而且它似乎总是有效。

于 2013-02-22T16:50:34.797 回答