Maven Multi-Module 项目是自动化测试(Selenium、Appium、Karate)的良好解决方案吗?

Is Maven Multi-Module project a good solution for automated tests (Selenium, Appium, Karate)?

我最近创建了一个 Java Maven 项目,使用 Selenium 编写 Web 自动化测试脚本。

现在我必须编写移动自动化测试脚本,为此我将使用 Appium。

我不想创建另一个非常相似的项目,而是想将我的 Maven 项目转换为 Maven 多模块,其中一个模块将包含 Web 自动化测试,另一个将包含移动自动化测试,最后一个将包含通用逻辑(稍后将使用另一个模块 API 使用空手道进行自动化测试)。

我想知道使用 Maven 多模块来做这件事是否是个好主意,如果是的话,我还想知道通过模块在同一个项目中共享 类 是否是一个好主意好的做法。

非常感谢您的帮助。

是的!多模块项目是将项目拆分为逻辑组件的好方法。但我会考虑一些事情。首先,您的测试是 Junit 还是 TestNG 测试?如果是,我可能会将它们留在 src/test 目录下的主项目中。

听上去,这些测试似乎并不完全是 'unit' 测试,但您仍然可以将它们分开和分组。 (TestNG 有组,我相信 JUnit 有类似的东西)当我有一个带有 'unit' 和 'integration' 测试的项目时,我将在正常构建过程中进行单元测试 运行。并使用 Maven 配置文件进行集成测试 运行。但是,如果这听起来工作量太大,是的,我认为多模块是一个很好的方法。

是的,在模块之间共享 类 绝对是个好习惯。只要你没有任何循环依赖。这确实是唯一的规则。