在Hudson中通过JUnit运行Selenium测试

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

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

Unable to obtain goal [test:test]

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

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

任何帮助都非常感谢!

谢谢,Gearoid。


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

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

你为什么要这样做?

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

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


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

    链接地址: http://www.djcxy.com/p/8947.html

    上一篇: Running Selenium Tests through JUnit in Hudson

    下一篇: Selenium Testing in Hudson question