Maven项目中自动化框架组件的结构

时间:2018-11-02 08:57:09

标签: maven selenium automation

我已经开发了一个基于黄瓜的硒自动化框架,并已将Page Object和Page Factory用作其设计模式。 以下是自动化框架的不同组件:

  1. 页面对象。
  2. POJOs
  3. sharedutilities
  4. 功能文件
  5. 配置文件
  6. 预期数据文件夹
  7. 范围config.xml
  8. chromedriver.exe
  9. 报告文件夹

我对在Maven项目中安排这些组件的方式并不完全满意。 Maven有多个源文件夹,例如src / test / java,src / main / java,src / test / resources,src / main / resources,根据放置在这4个文件夹中的内容,有一些标准的准则集我上面提到的组件?

1 个答案:

答案 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文件夹。我建议将测试代码定位在与要测试的系统相同的存储库中,因为这样可以更轻松地获得快速反馈。

关于您的问题:

  1. 页面对象-> src/test/java

  2. POJO-取决于它们是应用程序POJO还是测试POJO->分别为src/main/javasrc/test/java

  3. sharedutilities-假设这是帮助您进行测试的代码-> src/test/java

  4. 功能文件-> src/test/resources

  5. 配置文件->取决于这是用于应用程序还是测试,以及它的代码还是xml。

  6. 预期数据文件夹-不确定您的意思。测试文件(例如.json之类的文件)可能会放在src/test/resources

  7. 范围config.xml-可能是src/test/resources

  8. chromedriver.exe-可能位于您的根目录中。 (我可能建议不要在您的项目中包含.exe;您将如何处理其他操作系统?)

  9. “报告”文件夹->可能会转到目标文件夹?

希望这会有所帮助。