如何使用 Maven Multi 模块在项目外执行 TestNG 测试用例
How to execute a TestNG test case outside a project, using Maven Multi module
我正在开发一个多模块 Maven 项目。
我的项目结构如下 -
父模块(打包 - pom)
BaseFramework(打包 - jar)
TestProject(打包 - jar)(在项目的 pom.xml 中添加 BaseFramework 作为依赖项)
TestRunner(打包-jar)(在项目的pom.xml中添加了BaseFramework和TestProject作为依赖项)
TestProject 有一个 testNG.xml 文件 执行指定 class 的测试用例。
测试用例使用数据提供者,路径被提及为相对路径 (./src/main/resources/pmRolDetailsWithId.xml)
TestRunner 项目有一个 Suite Runner 文件(比方说 SuiteRunner.xml),其中包含来自 (TestProject) 的 testNG.xml 的路径。
执行时,测试会尝试在 TestRunner 项目中找到 "pmRolDetailsWithId.xml" 文件。
路径 - /TestRunner/src/main/resources/pmRolDetailsWithId.xml 并且找不到文件。
预计它应该从 TestProject 获取文件。
即路径应该是 /TestProject/src/main/resources/pmRolDetailsWithId.xml
我认为当测试控件从 TestRunner 项目 - TestProject 进入时,根项目没有改变
如果我遗漏了什么请纠正我并帮助我解决这个问题。
附上错误截图。
Screenshot of the error
我找到了答案。
我必须更改提供文件相对路径的方式。
早些时候-
文件路径 - /src/main/resoruces/pmRolDetailsWithId.xml
并且由于执行是从不同的模块触发的,所以完整路径是
/users/xyz/Parent-Module/TestRunner/src/main/resoruces/pmRolDetailsWithId.xml
已更改 -
文件路径 - ../TestProject/src/main/resoruces/pmRolDetailsWithId.xml
现在完整的路径是
/users/xyz/Parent-Module/TestRunner/../TestProject/src/main/resoruces/pmRolDetailsWithId.xml
我正在开发一个多模块 Maven 项目。
我的项目结构如下 -
父模块(打包 - pom)
BaseFramework(打包 - jar)
TestProject(打包 - jar)(在项目的 pom.xml 中添加 BaseFramework 作为依赖项)
TestRunner(打包-jar)(在项目的pom.xml中添加了BaseFramework和TestProject作为依赖项)
TestProject 有一个 testNG.xml 文件 执行指定 class 的测试用例。 测试用例使用数据提供者,路径被提及为相对路径 (./src/main/resources/pmRolDetailsWithId.xml)
TestRunner 项目有一个 Suite Runner 文件(比方说 SuiteRunner.xml),其中包含来自 (TestProject) 的 testNG.xml 的路径。
执行时,测试会尝试在 TestRunner 项目中找到 "pmRolDetailsWithId.xml" 文件。 路径 - /TestRunner/src/main/resources/pmRolDetailsWithId.xml 并且找不到文件。
预计它应该从 TestProject 获取文件。 即路径应该是 /TestProject/src/main/resources/pmRolDetailsWithId.xml
我认为当测试控件从 TestRunner 项目 - TestProject 进入时,根项目没有改变
如果我遗漏了什么请纠正我并帮助我解决这个问题。
附上错误截图。
Screenshot of the error
我找到了答案。
我必须更改提供文件相对路径的方式。
早些时候- 文件路径 - /src/main/resoruces/pmRolDetailsWithId.xml
并且由于执行是从不同的模块触发的,所以完整路径是
/users/xyz/Parent-Module/TestRunner/src/main/resoruces/pmRolDetailsWithId.xml
已更改 - 文件路径 - ../TestProject/src/main/resoruces/pmRolDetailsWithId.xml
现在完整的路径是 /users/xyz/Parent-Module/TestRunner/../TestProject/src/main/resoruces/pmRolDetailsWithId.xml