Testing 从maven项目创建selenium测试的可执行jar

Testing 从maven项目创建selenium测试的可执行jar,testing,maven,selenium,automated-tests,executable,Testing,Maven,Selenium,Automated Tests,Executable,我有几个selenium测试作为我的项目(ProjectX)的一部分。我希望能够创建一个可执行的jar来运行测试,比如针对生产环境,而不是本地或部分CI构建。这些将定期运行,以确保应用程序的当前活动行为与发布点的活动行为相匹配。例如,它调用了许多单独部署的webapp,它们的输出可能会在发布projectx更新之前发生变化 理想情况下,我希望使用类似于汇编插件的东西来创建它作为构建的一部分,但我愿意接受其他建议。目前我唯一能想到的就是在某台机器上签出项目,并根据需要执行构建。从来都不喜欢使用单元

我有几个selenium测试作为我的项目(ProjectX)的一部分。我希望能够创建一个可执行的jar来运行测试,比如针对生产环境,而不是本地或部分CI构建。这些将定期运行,以确保应用程序的当前活动行为与发布点的活动行为相匹配。例如,它调用了许多单独部署的webapp,它们的输出可能会在发布projectx更新之前发生变化


理想情况下,我希望使用类似于汇编插件的东西来创建它作为构建的一部分,但我愿意接受其他建议。目前我唯一能想到的就是在某台机器上签出项目,并根据需要执行构建。

从来都不喜欢使用单元测试框架来运行selenium(因为它们不是单元测试),所以倾向于使用自定义框架来输出结果和定义配置等

假设您的selenium测试结构良好,那么将它们剥离到一个新项目中并封装一个框架来控制所有内容和输出结果应该很容易

如果作为CI的一部分使用,您也可以作为下游可执行文件运行,这将为您提供更准确的生命周期—构建、单元测试、集成测试、部署、端到端测试/UI测试


以上各项的组合应使您能够灵活地作为CI的一部分运行,并且可以针对不同的部署系统进行特别操作。

Hmm。。。这真的是问题的答案吗?@AndrewBarber好的,我的第一个答案,让我休息一下:)我想它确实回答了这个问题,并没有把selenium作为一个单元测试来运行,也没有创建一个测试项目(即selenium测试的可执行jar),而是使用一个自定义框架来取代junit(或者其他我想知道的东西);我不清楚这是怎么回答这个问题的,所以我问:)谢谢,但这真的不能回答这个问题。我想重用现有的测试。作为多模块构建的一部分,它们已经位于主项目的单独模块中。我认为,当surefire+junit工作得非常好时,编写一个自定义框架来执行测试并没有任何真正的好处。总的来说,我相信这是最好的方法,你说过你愿意接受其他建议!我还没有得到一个很好的答案,现在我正在使用一个经过黑客攻击的groovy脚本,它将测试和必要的依赖项打包到一个jar中,并带有一个可执行类,该类可以简单地调用jar中包含的生成的Ant脚本。这个Ant脚本执行测试并将输出保存到一个目录,我也在研究这个问题。当你说我有几个selenium测试作为我项目的一部分时,你的意思是正确的Maven测试吗?我想在这种情况下,将它们打包到普通构建中是不可取的,因为测试将由Maven自己运行(但我可能错了,我是一个Maven初学者)。不管怎样,您是否尝试通过故障保护插件运行测试?然后以某种方式解析报告XML?只需两分钟的搜索:您是否尝试过和/或?也许他们能帮上忙。我认为,要想做您正试图做的事情,Maven必须是包含您的测试的项目的依赖项,或者类似的东西。