Java 如何使用Maven通过注释的值搜索并运行TestNG测试方法?

Java 如何使用Maven通过注释的值搜索并运行TestNG测试方法?,java,maven,selenium,integration-testing,testng,Java,Maven,Selenium,Integration Testing,Testng,我正在使用SeleniumWebDriver、Maven和TestNG进行自动化测试,并提出了一个看似独特的问题。我想使用Maven通过附加到它的注释的值来运行一个测试方法 背景:我们使用TestRail作为测试用例管理工具。TestRail为每个测试用例分配一个唯一的用例ID。它还具有一些UI脚本功能以添加功能。我希望能够在TestRail UI中单击一个按钮并执行一个测试用例 我正在为我们的Selenium项目设置Maven,它已经能够在我的测试类池中运行特定测试类的特定方法 我已经建立了一

我正在使用SeleniumWebDriver、Maven和TestNG进行自动化测试,并提出了一个看似独特的问题。我想使用Maven通过附加到它的注释的值来运行一个测试方法

背景:我们使用TestRail作为测试用例管理工具。TestRail为每个测试用例分配一个唯一的用例ID。它还具有一些UI脚本功能以添加功能。我希望能够在TestRail UI中单击一个按钮并执行一个测试用例

我正在为我们的Selenium项目设置Maven,它已经能够在我的测试类池中运行特定测试类的特定方法

我已经建立了一个系统,其中@TestCaseID value=12345注释被添加到测试方法中,然后由TestListener拾取并用于将结果发送回TestRail

操作流程如下所示:

用户在TestRail中定位测试 用户点击按钮 一些小程序负责向Maven发出命令,要求运行特定的测试类和特定的测试注释。如果我可以跳过测试类部分,只需通过所有测试寻找注释,那就太好了! Maven内部的一些东西指出哪个测试方法具有正确的注释,然后运行该测试。 我突然想到,如果我忘记了@TestCaseID注释,而只是在测试方法名称中包含了案例号,那么这可能会容易得多。这样,模式就能够找到并执行它。注释似乎是一种用相应的案例ID标记测试方法的干净方法,但它们对任何事情都不是必需的

完成这项任务的好方法是什么

编辑:为了实际解决我的项目的这个问题,我决定我已经回答了自己的问题,不会尝试运行基于注释值的测试。我将只标记我的方法名,这让我可以在maven中做一些有趣的事情,比如mvn verify-Dit.test=**12345

一种方法是mvn-Dtest=**12345测试。正如你所回答的

另一种方法是将测试用例id添加到组中。然后使用mvn test-Dgroups=12345运行它


小组还将帮助运行套件/用户故事/功能。

问得好。。我也想知道答案。