有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java通过Hudson中的JUnit运行Selenium测试

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

我认为这一过程很容易在哈德逊实施,但事实证明这是一个相当棘手的问题。我可以像以前一样启动selenium服务器,然后通过hudson作业将构建配置为启动。但是,hudson似乎没有选择selenium服务器-我收到一条错误消息,上面说:

Unable to obtain goal [test:test]

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

还需要注意的是,我曾经使用用于hudson的seleniumHQ插件来运行使用html文件的测试,但希望更改为JUnit,因为它更灵活

非常感谢您在这方面的任何帮助

谢谢, 齿轮类


共 (3) 个答案

  1. # 1 楼答案

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

  2. # 2 楼答案

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

    您可以为您的项目创建两个hudson版本,成功完成第一个版本将触发第二个版本

    你为什么要这样做

    • 单元测试完成得更快,因此您的反馈时间更短
    • 第二个构建可以运行shell脚本或ant而不是maven,从而使您能够更轻松地控制远程服务器
    • selenium测试不会由开发人员计算机上的mvn test触发,这可能会导致冲突
    • 您可以在“场”配置中运行两个hudson节点,第二个实例可以在与selenium相同的服务器上运行。可以为特定生成设置服务器关联
  3. # 3 楼答案

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