我通过以下方式构建了 UI 测试自动化提案:(父模块)uiTestAutomation(子模块)ui-utilities(子模块)ui-domain(子模块)ui 测试我希望 ui-utilities 的类能够在 ui-domain 和 ui-tests 中使用,并且 ui-domain 的类也能够在 ui-tests 中使用。我的 pom.xml 文件如下所示:父pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>uiTestAutomation</groupId> <artifactId>uiTestAutomation</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <modules> <module>ui-utilities</module> <module>ui-tests</module> <module>ui-domain</module> </modules></project>ui-utilities pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>uiTestAutomation</artifactId> <groupId>uiTestAutomation</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>ui-utilities</artifactId> <groupId>ui-utilities</groupId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>8</source> <target>8</target> </configuration> </plugin> </plugins> </build> <modules> <module>../ui-domain</module> <module>../ui-tests</module> </modules></project>我在 ui-utilities 中有 BasePage 类,我想在 ui-domain 中创建一个名为 LoginPage 的类,它应该继承 BasePage。但是,我收到一条错误消息:无法解析符号 BasePage就 pom.xml 文件中的依赖关系而言,我做错了什么?
2 回答
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
你有一个非常不寻常的pom.xml
结构,<modules>
到处都指向。父级pom.xml
看起来正确,但您不应该<modules>
在子模块中使用,除非它们有自己的子模块。
<modules>
从所有子模块中删除该部分并用于<dependencies>
表达模块之间的关系。不要
<groupId>
在子模块中进行更改,这是没有意义的。最好是他们从 继承它,并且您可以简单地在子模块中<parent>
省略标签。<groupId>
DIEA
TA贡献1820条经验 获得超2个赞
我再次尝试从头开始创建该项目。事实证明,当从父模块创建子模块时(右键单击,添加新模块),intellij 早在定义 artifactId、groupId 的第一个弹出窗口时就自动将父模块设置为子模块。pom 文件基本相同,并且 mvn clean install 对于父模块和单独的子模块都可以无缝工作。现在LoginPage可以成功扩展BasePage。
添加回答
举报
0/150
提交
取消