如何关联三个子自动化项目构建父项目以实现E2E测试用例执行
多项目Jar包整合到E2E测试框架的实操步骤
一、先把A、B、C项目打包为可复用Jar包
- Maven项目:在每个项目的
pom.xml里确认打包类型为jar,默认已包含maven-jar-plugin,执行命令:
若需要把项目依赖一起打包(避免E2E框架缺失依赖),可添加mvn clean packagemaven-shade-plugin插件打包成fat jar,注意提前排查依赖冲突。 - Gradle项目:在
build.gradle中启用Java插件,执行命令:
带依赖打包可使用gradle clean jarshadowJar插件,执行gradle shadowJar生成包含依赖的Jar。 - 打包完成后,在项目的
target(Maven)或build/libs(Gradle)目录获取对应的Jar文件。
二、将Jar包引入E2E测试框架
本地引入(适合快速测试)
- 在E2E框架项目根目录新建
libs文件夹,把A、B、C的Jar包复制进去。 - Maven配置:在
pom.xml中添加本地依赖:
重复上述配置添加B、C项目的依赖。<dependency> <groupId>com.yourteam</groupId> <!-- 对应A/B/C项目的groupId --> <artifactId>project-A</artifactId> <!-- 对应项目artifactId --> <version>1.0.0</version> <!-- 项目版本号 --> <scope>system</scope> <systemPath>${project.basedir}/libs/project-A-1.0.0.jar</systemPath> </dependency> - Gradle配置:在
build.gradle的依赖块中添加:dependencies { implementation files('libs/project-A-1.0.0.jar', 'libs/project-B-1.0.0.jar', 'libs/project-C-1.0.0.jar') }
私有仓库引入(适合正式协作环境)
- 将A、B、C的Jar包上传到公司私有仓库(如Nexus、Artifactory)。
- 在E2E框架的
pom.xml或build.gradle中添加常规依赖,无需本地路径:<!-- Maven示例 --> <dependency> <groupId>com.yourteam</groupId> <artifactId>project-A</artifactId> <version>1.0.0</version> <scope>test</scope> <!-- 根据实际需求调整scope --> </dependency>
三、复用方法与测试用例
- 复用工具方法:直接导入A、B、C项目中的类,例如
import com.yourteam.projectA.utils.LoginUtils;,在E2E测试用例中调用其中的方法。 - 复用测试用例:如果要复用完整的测试逻辑,可将这些用例作为E2E测试的前置步骤或子模块。比如在TestNG中通过
@Test注解调用已有测试类的方法,或者用测试套件把多个项目的用例整合执行。
四、处理依赖冲突
- 用Maven命令
mvn dependency:tree或Gradle命令gradle dependencies查看依赖树,找出冲突的依赖(比如Selenium、TestNG版本不一致)。 - 在E2E框架的依赖配置中,通过
exclude标签排除冲突的依赖项,确保核心依赖版本统一。
内容的提问来源于stack exchange,提问作者SujJi
相关产品推荐
相关产品推荐

