如何在正常生命周期之外使用Maven运行Selenium RC junit测试?
我有一个Maven项目,它是一组使用JUnit运行的Selenium 2测试。换句话说,整个项目中唯一的东西是JUnit测试用例,它们都位于正常的源代码目录中,即src/main/java,因为它们是项目中的主要源文件 我希望能够使用Maven运行这些相同的测试,但由于这些测试不是项目中的实际单元测试或集成测试(它们不是在测试自己,而是在其他地方测试web应用),我不希望它们在正常的构建生命周期中运行。但是,我仍然希望能够在POM文件中定义测试阶段/目标 在这一点上,我有点理解surefire插件的工作方式,我只是不知道如何从构建中分离执行。我希望我所有的新执行都是独立的,这样我就可以简单地运行它们,比如:mvn运行webtests,让运行webtests阶段与我的项目的编译和打包目标完全不同 所以我想我有两个问题: 1)我的思路是否正确,或者是否有更好的方法来思考这个问题 2)我接下来需要做什么才能使这项工作成功?创建自定义阶段?创建自定义目标如何在正常生命周期之外使用Maven运行Selenium RC junit测试?,maven,selenium,junit,selenium-webdriver,Maven,Selenium,Junit,Selenium Webdriver,我有一个Maven项目,它是一组使用JUnit运行的Selenium 2测试。换句话说,整个项目中唯一的东西是JUnit测试用例,它们都位于正常的源代码目录中,即src/main/java,因为它们是项目中的主要源文件 我希望能够使用Maven运行这些相同的测试,但由于这些测试不是项目中的实际单元测试或集成测试(它们不是在测试自己,而是在其他地方测试web应用),我不希望它们在正常的构建生命周期中运行。但是,我仍然希望能够在POM文件中定义测试阶段/目标 在这一点上,我有点理解surefire插
很抱歉问了这么一个看似基本的问题,但我找不到任何人做这种事情的例子。我认为你说得对。不幸的是,Maven在某些方面缺乏灵活性。通常情况下,可以制作出适合自己的东西,但有时会让人感到非常痛苦。我认为最简单的方法是为selenium测试使用不同的命名约定,并确保这些是“正常”测试运行。然后将surefire插件配置到selenium测试中,并排除其他插件。然后要运行selenium测试,您可以
mvn test -P selenium-tests
设置它以便运行mvn运行webtests
的唯一方法是
mvnmyplugin:runwebtests
与pom中的一个简单配置文件相比,这些都需要更多的工作,更难维护。我不明白;你为什么要在生命周期之外这样做?