【问题标题】:File structure for Maven base selenium project?Maven基础硒项目的文件结构?
【发布时间】:2014-02-19 08:38:49
【问题描述】:
我一直在使用 Ant(普通 Java 项目)来使用 Eclipse IDE 运行我的 Selenium (java) 测试用例。但现在我正在使用 Maven 项目;有人告诉我它有更好的结构,但是我不明白结构有什么好处。
当我使用 Ant 时,我必须手动创建包和文件夹,但现在当我迁移到 Maven 时,我已经拥有了所有文件夹和由 Maven 自己创建的包。
它的外观:它是一个maven-archetype-quickstart项目
查询:
1. 这是我应该使用 Maven 的唯一原因,它为我创建文件夹和包(我知道我不必创建库文件夹来放置必要的 jar;我可以使用 Maven 存储库)?
2。这些创建的文件夹的含义是什么,我应该如何理想地使用它们?
3。 Maven 是否提供了最优化的结构 maven-archetype-quickstart?
注意:我是一名测试人员,我正在从事 Selenium 自动化测试。不要介意这不是一个好问题,我是初学者。
【问题讨论】:
标签:
java
eclipse
maven
selenium
ant
【解决方案1】:
1.:文件夹和包,不是唯一的好处。它还为您提供了适当的项目结构。这是约定优于配置,因为当您了解一个 Maven 项目的结构时,您将不会迷失在任何其他项目中。我建议阅读一本关于 Maven 的书,例如“Better Builds with Maven”。
2.: src/main/java:所有源类,src/main/resource:附加资源,src/test/java:测试类,src/test/resources:测试的附加资源
3.:快速入门非常适合初学者。确实,它有一个相当古老的 JUnit 依赖项,并创建了一些默认文件夹和类。但是如果你想要一个不同类型的项目,那么还有很多其他的原型。如果你使用命令
mvn archetype:generate -DgroupId=test -DartifactId=test
您将获得一长串可供选择的可用原型。
如果您使用 eclipse,您还可以在对话框中选择原型。
Selenium 项目有一个archetype,但它需要了解 Maven 和 Git。
【解决方案2】:
在我看来,您使用的是强大的 maven 旧版本,因为它默认依赖于 junit 3.8.1。 (最新的是4.11)
你的 selenium 测试应该放在你自己命名的包中的 src/test/java 中。 (例如 com.company.project)这样 maven 就知道它应该将这些文件视为测试,而您不必再进行任何配置。
如果要运行测试,只需在提示符/shell 中输入以下命令:
mvn 全新安装
然后,Maven 将获取您的所有依赖项,编译您的所有代码,然后运行您的测试。如果测试成功,则您的构建成功。如果它们失败了,你的构建也会失败。
在我看来,默认的 maven eclipse 原型的问题是它们有点太模糊了。在我看来,如果你有一个公司范围的结构来说明你应该如何开始一个项目,那么它们会很有用,但默认情况下,标准的结构就足够了。