在ant中作为junit运行的Selenium过早关闭浏览器但不在IDE中关闭

时间:2009-07-15 09:19:48

标签: java firefox ant junit selenium

我在JUnit类中设置了一堆selenium测试用例作为四种方法。第一个运行正常 - 但其余三个关闭Firefox浏览器,然后方法的最后一步完成 - 给出一个

ERROR: Command execution failure. Please search the forum at http://clearspace.openqa.org for error details from the log window.  The error message is: this.page().currentDocument is undefined
com.thoughtworks.selenium.SeleniumException: ERROR: Command execution failure. Please search the forum at http://clearspace.openqa.org for error details from the log window.  The error message is: this.page().currentDocument is undefined

安装程序如下:

基于Ant的执行

  • Java 1.5
  • Eclipse 3.5
  • Selenium Server 1.0.1
  • Selenium Client Driver 1.0.1

IDE

  • Java 1.5
  • Eclipse 3.5
  • Selenium Server 1.0.1
  • Selenium Client Driver 1.0.1

我希望追查根本原因


它崩溃在以下一行:

这是对user-extensions.js文件的修改:

Selenium.prototype.getElementBody = function(elementId) {
return this.outerHTML(this.page().currentDocument.getElementById(elementId));
};

这就是所谓的:

commandProcessor.getString("getElementBody", "idOfElement");

2 个答案:

答案 0 :(得分:0)

您能告诉我们您的JUnit测试类吗?

我从个人经验中了解到,有时候Selenium测试可能会因为没有明显原因而崩溃,但每次都会出现问题,因此可能与您的代码/脚本有关。

如果没有更多细节,我怕你无法帮助你。

答案 1 :(得分:0)

我从未见过一个名为getString的命令是Selenium API的一部分,所以认为这就是你的测试失败的原因。

另一件事是你告诉Selenium RC使用你用以下-userExtensions user-extensions.js参数修改过的user-extensions.js文件吗?我从未发现在Se:RC中使用用户扩展并使用.getEval()命令是有益的。

你想要的是selenium.getEval(“this.browserbot.getUserWindow()。getElementByID(id).outerHTML”);

我已经为您清理了JavaScript。 this.browserbot.getUserWindow()可让您访问包含该页面的Selenium JavaScript对象。

我希望有帮助