我已经开发了一个基于黄瓜的硒自动化框架,并已将Page Object和Page Factory用作其设计模式。 以下是自动化框架的不同组件:
我对在Maven项目中安排这些组件的方式并不完全满意。 Maven有多个源文件夹,例如src / test / java,src / main / java,src / test / resources,src / main / resources,根据放置在这4个文件夹中的内容,有一些标准的准则集我上面提到的组件?
答案 0 :(得分:1)
一般准则:
src/main/java
包含您的应用程序代码(.java文件)
src/main/resources
包含应用程序附带的所有非代码文件。例如应用程序的属性文件或配置文件(如果它们不是Java配置文件,例如config.xml)。
src/test/java
包含应用程序的任何测试代码(.java文件)。如果您从src/main/java
的包结构中获得镜像,那么Junit之类的测试框架就可以自动找到合适的类进行测试,而无需为其指定导入。就Cucumber而言,这是步骤定义以及可以帮助您执行Cucumber测试的任何其他代码的地方(例如示例中的Page Objects)。
src/test/resources
包含测试附带的所有非代码文件。对于黄瓜,这是功能文件所在的位置。如果您有单独的测试config.xml,可以在此处进行。
如果只有测试代码,则可能没有src/main
文件夹。我建议将测试代码定位在与要测试的系统相同的存储库中,因为这样可以更轻松地获得快速反馈。
关于您的问题:
页面对象-> src/test/java
POJO-取决于它们是应用程序POJO还是测试POJO->分别为src/main/java
或src/test/java
sharedutilities-假设这是帮助您进行测试的代码-> src/test/java
功能文件-> src/test/resources
配置文件->取决于这是用于应用程序还是测试,以及它的代码还是xml。
预期数据文件夹-不确定您的意思。测试文件(例如.json之类的文件)可能会放在src/test/resources
范围config.xml-可能是src/test/resources
chromedriver.exe-可能位于您的根目录中。 (我可能建议不要在您的项目中包含.exe;您将如何处理其他操作系统?)
“报告”文件夹->可能会转到目标文件夹?
希望这会有所帮助。