在Hudson中通过JUnit运行Selenium测试

时间:2009-12-14 17:54:10

标签: java junit selenium hudson

对于有点令人困惑的标题道歉:-)基本上,当我通过maven构建项目时,我已经将我的Selenium测试配置为运行JUnit。如果我在命令提示符下启动我的Selenium Server,然后在另一个cmd提示符下运行maven构建目标,那么测试将按预期运行。

我认为这个过程很容易在Hudson中实现,但事实证明它很成问题。我可以像以前一样启动我的selenium服务器,然后配置构建以通过哈德森作业启动。但是,hudson似乎没有拿起selenium服务器 - 我收到一条错误消息,上面写着:

Unable to obtain goal [test:test]

我认为hudson没有联系selenium服务器的原因是因为当我通过自己的命令提示运行junit测试并且我的服务器停止时,我收到相同的错误消息。

同样重要的是要注意我曾经使用seleniumHQ插件为hudson运行我的测试使用html文件 - 但希望更改为JUnit,因为它更灵活。

非常感谢任何帮助!

谢谢,   Gearoid。

3 个答案:

答案 0 :(得分:3)

我建议您与测试分开运行selenium测试:测试目标。

您可以为项目创建两个hudson构建,第二个构建由第一个构建成功完成触发。

你为什么要这样做?

  • 单位测试完成得更快,因此您的反馈时间会缩短
  • 第二个版本可以运行shell脚本或ant而不是maven,让您更轻松地控制远程服务器
  • 开发人员计算机上的mvn test不会触发硒测试,这可能会导致冲突。
  • 您可以在“场”配置中运行两个哈德森节点,第二个实例可以在与selenium相同的服务器上运行。可以为特定版本设置服务器关联。

答案 1 :(得分:0)

是否有一个配置文件,其中包含未在Hudson内部运行的服务器URL?您可以打印服务器URL以确保它指向正确的位置吗?

答案 2 :(得分:0)

您可以使用selenium-maven-plugin作为maven构建过程的一部分自动启动和停止selenium服务器。