Maven 测试自动化项目

Maven Test Automation Project

我有一个使用 selenium 和 testng 开发的 maven 测试自动化项目。这就是我用我的框架所做的:

1.I 在 src/main/java 中有 main class 并且在 main class 中我触发方法动态创建和 运行 testng xml.

2.The 测试 运行 由 XMLFlag.xls sheet 确定,测试的测试数据设置在 TestNG.xlsx sheet 在 src/main/resources.

3.I 已成功创建我的整个包的 jar。

由于我将我的测试数据 sheets(TestNG.xlsx 和 XMLFlag.xls)放在 src/main/resources 下,这些测试数据 sheets 被打包在罐子。

但理想情况下,我想 运行 我的测试脚本用于不同的测试数据集,看看脚本是否成功。 例如:我想 运行 我的脚本第一次 username:abcd 和 password:1234 然后 运行 同一组脚本 username:efgh 和 password:9876.

但是我的测试数据 sheets 打包在 jar 中,我将无法实现上述场景,因为我无法编辑测试数据 sheets。

所以让我说要克服上述问题: 1.I 将我的测试数据 sheet 放入 src/test/resources 而不是 src/main/resources,然后创建一个 jar。 但是当我这样做并尝试 运行 罐子时,

我收到一条错误消息:

.\src\test\resources\XMLFlag.xls (The system cannot find the path specified)

我认为这是因为测试数据 sheets 被放置在目标文件夹下的 test-classes 文件夹中,而不是在 jar 中。

简单来说: 一世。我希望测试数据 sheets 在我的 jar 之外,以便可以根据用户要求对其进行编辑和测试脚本 运行。 ii.If 测试数据 sheet 在我的 jar 之外,我框架内的所有其他内容都依赖于测试数据信息(ie.test 脚本,testng.xml)并打包在 jar 中, 我的罐子不会 运行.

有没有办法避免这个错误并完成我想做的事情? 或者我应该重构我的整个框架??

请帮帮我。

在执行 jar 时将测试数据表作为程序参数传递怎么样?

java -jar c:/path/to/your/jar c:/path/to/your/testng.xlsx c:/path/to/your/xmlflag.xlsx

然后就在您的 main 方法 中,读取文件名及其内容,例如

File testNgXlsxFile = new File(args[0]);

并将文件中的信息传递给您的框架。

这可能吗?