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

标签 java maven selenium integration-testing testng

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

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

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

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

操作流程如下:

  1. 用户在 TestRail 中找到测试
  2. 用户点击按钮
  3. 一些小程序负责向 Maven 发出命令,要求运行特定的测试类和特定的测试注释。 (如果我可以跳过测试类部分并仅通过所有测试来查找该注释,那就太好了!)
  4. Maven 内部的某些东西会找出哪个测试方法具有正确的注释,然后运行该测试。

我发现,如果我忘记了 @TestCaseID 注释,而只是在测试方法名称中包含案例编号,也许这会更容易做到。这样,模式就能够找到并执行它。注释似乎是一种用相应的案例 ID 标记测试方法的干净方法,但它们对于任何事情都不是必需的。

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

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

最佳答案

一种方法是“mvn -Dtest=*#*12345 test”。正如您所回答的。

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

运行它

组也将有助于运行套件/用户故事/功能。

关于java - 如何使用 Maven 通过注释值搜索并运行 TestNG 测试方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28181335/

相关文章:

python - 如何使用 Selenium 和 Python 在 iF​​rame 中定位元素

python - 使用 Selenium 登录雅虎,缺少点击

html - 未找到带有定位器的机器人框架元素

java - OS X 中的 SQLite 问题

java - 如何在Spring Boot中创建RestTemplate的多个实例?

java - 我的 pom 中没有 surefire 插件 - 它如何显示 surefire 输出?

java - m2Eclips插件: Resolve Workspace Artifacts - is it a good practice

maven - 在多模块 Maven 项目中共享特定的 PMD 规则集

java - hadoop eclipse插件未将代码部署到hadoop集群

java - 为什么 java 中的 'Repeatable read' 隔离级别将我从 'Phantom reads' 中拯救出来?