【问题标题】:How to retrieve VsTest Test Plan test case id during Azure pipeline is running and use that in automation code如何在 Azure 管道运行期间检索 VsTest 测试计划测试用例 ID 并在自动化代码中使用它
【发布时间】:2021-07-24 12:28:16
【问题描述】:

用例:

  • 在 ADO 上定义测试计划、测试套件并添加测试用例。
  • 将测试计划中的多个(所有)测试链接到单个 MsTest 方法。
  • Azure 管道设置为使用“Visual Studio 测试”任务运行自动化套件,并且“选择测试使用”选项设置为“测试计划”

我正在寻找有关 Azure 管道何时启动且 VsTest 任务正在运行的解决方案,我们能否获取当前处理运行的测试用例 ID/名称(来自 ADO 测试计划)并将该 ID/名称提供给自动化测试方法(作为 MsTest 测试的参数选项)。使用该测试用例 ID,我将在代码中运行一些控制语句来执行所需的任务。

但是,一切都应该在运行时发生,并且方法应该是动态的。此外,它应该支持并行测试执行。

你能分享一下你的想法吗?

TIA.
阿克谢 J.

【问题讨论】:

  • 您好 Akshay J,很高兴我的回答对您有用。您可以接受它作为答案,它可以帮助遇到相同问题的其他社区成员,我们可以存档此案例,非常感谢!

标签: azure azure-devops vstest


【解决方案1】:

Azure 管道设置为使用“Visual Studio 测试”任务运行自动化套件,并且“选择测试使用”选项设置为“测试计划”

根据您的描述,Visual Studio Test task 的配置如下。

在这种情况下,您将知道测试计划的 id 和测试套件的 id,因此您可以使用 Rest API:Test Suites - Get Test Cases 获取套件中的所有测试用例,包括 idurl,然后请求这个url会得到fields.System.Title,这是测试用例的名字。

顺便说一句,您可以使用 API:Definitions - Get 来获取此版本定义,在响应中您将找到以下 VsTest 任务及其设置,包括测试计划的 ID 和测试套件的 ID。

【讨论】:

  • 感谢@Edward,我尝试了此选项并获得了测试计划、套件、案例详细信息。但是,有没有一种方法可以通过使用任何日志或其他脚本来获取 Azure 管道在给定时间点运行的确切测试用例 ID。我有一个编写的自动化脚本是 MsTest,它根据这个 TC ID 读取 YAML 文件并执行必要的断言。当在 Azure 管道上选择“测试计划”选项时,我希望所有下划线测试的自动化代码以受控方式运行。
  • 感谢您的回复,很高兴我的回答对您有用。你可以Accept it as an Answer,它可以帮助遇到同样问题的其他社区成员,谢谢。
  • 对于您的进一步问题,当前 Azure 管道将在此任务完成时输出任务日志,因此我们无法获取 Azure 管道在给定时间点运行的日志。您可以在此处提交此建议:developercommunity.visualstudio.com/…,产品组将定期审核这些票证,并考虑将其作为路线图。
猜你喜欢
  • 2019-10-19
  • 2021-03-11
  • 2022-12-20
  • 2019-12-15
  • 1970-01-01
  • 2018-08-02
  • 1970-01-01
  • 2013-02-05
  • 2021-03-08
相关资源
最近更新 更多