2009-12-14 143 views
3

对于令人困惑的标题道歉:-)基本上,我通过Maven构建项目时配置了我的Selenium测试以运行JUnit。如果我在命令提示符下启动Selenium服务器,然后在另一个cmd提示符下运行maven构建目标,那么测试将按预期运行。在Hudson通过JUnit运行硒测试

我认为这个过程在Hudson中很容易实现,但它已被证明是相当有问题的。我可以像以前一样启动我的硒服务器,然后配置构建通过哈德森作业启动。然而,哈德森似乎并没有被拾起硒服务器 - 我得到它说以下内容的错误消息:

Unable to obtain goal [test:test] 

的原因我认为哈德森不接触硒服务器是因为当我运行junit通过自己的命令提示符测试我的服务器停止,我得到相同的错误信息。

它也很重要,请注意,我曾经使用seleniumHQ插件为哈德逊运行我的测试使用HTML文件 - 但希望更改为JUnit,因为它更灵活。

对此非常感谢!

谢谢, Gearoid。

回答

0

是否有一个配置文件的服务器URL没有被拾起在哈德逊内部运行?你能打印服务器的URL以确保它指向正确的地方吗?

3

我建议您从测试目标单独运行硒测试。

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

你为什么要这样做?

  • 单元测试的完成速度较快,所以您的反馈时间是玉米粥短
  • 第二内建可以运行一个shell脚本或蚂蚁,而不是行家,让您在远程服务器上更容易控制
  • 硒测试赢得mvn test在开发者机器上不会触发,这可能会导致冲突。
  • 您可以在“服务器场”配置中运行两个哈德森节点,第二个实例可以在与selenium相同的服务器上运行。可以为特定版本设置服务器关联。