gpt4 book ai didi

java - 父子项目maven

转载 作者:行者123 更新时间:2023-12-01 22:12:15 25 4
gpt4 key购买 nike

我有一个场景。我们正在为我们的应用程序开发 Selenium Page Factory 自动化框架。要求是框架项目应该独立于测试项目(子项目)(或父项目)。

一旦定义了框架,它就可以被任意数量的子项目重用。

即父级应包含与 BasePage、BaseTest、DriverManager、DriverFactory 相关的类以及 chromedriver、IEdriver 等资源

子项目应包含从框架扩展 BasePage 的应用程序特定页面,以及从框架扩展 BaseTest 的测试用例。

子项目应该是任意数字,例如 app1、app2

请使用示例 pom.xml 文件建议最佳的 Maven 项目架构。

父级

|_src/main/java
|_BasePage
|_BaseTest
|_ReadConfigOfChild
|_DriverFactory
|_src/main/resources
|_chromedriver.exe
|_IEDriverServer.exe
|_log4j2.xml

child

|_src/main/java
|_Page1 extends BasePage
|_Page2 extends BasePage

|_src/main/resources
|_config.properties (URL, username, password)
|_src/test/java
|_Tese1 extends BaseTest
|_Test2 extends BaseTest
|_pom.xml
|_TestNgSuite.xml

当添加新子项时,我们应该能够简单地扩展父项,而无需编辑父项 pom

            |-  child1

parent ----|- child2

|- child3

最佳答案

听起来你所说的parent应该被称为core,并且它不应该是父项目,而应该是其他项目的依赖项。

说明

在 Maven 中,简单地说,你的父项目不是一个包含基类的项目,而只是一个没有源的项目,设置通用插件、依赖项和其他配置,由所有(子)项目(在你的聚合构建中)使用)。

编辑:
MyProj/pom.xml // Aggregation/Reactor - has no parent, no sources, and (usually) no resources, but lists all modules (including parent) as modules
MyProj/modules/parent/pom.xml // has no parent (or for example sonatype, if you deploy with them), no sources, but eventually some resources, no modules
MyProj/modules/parent/src/main/resources/config/checkstyle.xml
MyProj/modules/core/pom.xml // has *parent* as parent, no modules
MyProj/modules/core/src/main/java/com/myDomain/myPkg/core/BasePage.java
MyProj/modules/core/src/main/resources/log4j2.xml
MyProj/modules/ui/pom.xml // has *parent* as parent and *core* as a dependency, no modules
MyProj/modules/core/src/main/java/com/myDomain/myPkg/ui/MyUiPage.java (extends BasePage)
MyProj/modules/service/pom.xml // has *parent* as parent and *core* as a dependency, no modules
MyProj/modules/core/src/main/java/com/myDomain/myPkg/service/MyServicePage.java (extends BasePage)

关于java - 父子项目maven,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31604242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com